1
0
Fork 0

Staging: ipack/devices/ipoctal: initialize the device in probe function

Initialize the device when registering it. Sometimes the user access to it
and the device is in an unknown state, so it could fail.

Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
wifi-calibration
Samuel Iglesias Gonsálvez 2012-07-13 13:33:14 +02:00 committed by Greg Kroah-Hartman
parent 1337b07e66
commit 4eed84a8a4
1 changed files with 14 additions and 0 deletions

View File

@ -411,6 +411,20 @@ static int ipoctal_inst_slot(struct ipoctal *ipoctal, unsigned int bus_nr,
for (i = 0; i < NR_CHANNELS ; i++) {
ipoctal_write_io_reg(ipoctal, &ipoctal->chan_regs[i].u.w.cr,
CR_DISABLE_RX | CR_DISABLE_TX);
ipoctal_write_cr_cmd(ipoctal, &ipoctal->chan_regs[i].u.w.cr,
CR_CMD_RESET_RX);
ipoctal_write_cr_cmd(ipoctal, &ipoctal->chan_regs[i].u.w.cr,
CR_CMD_RESET_TX);
ipoctal_write_io_reg(ipoctal,
&ipoctal->chan_regs[i].u.w.mr,
MR1_CHRL_8_BITS | MR1_ERROR_CHAR |
MR1_RxINT_RxRDY); /* mr1 */
ipoctal_write_io_reg(ipoctal,
&ipoctal->chan_regs[i].u.w.mr,
0); /* mr2 */
ipoctal_write_io_reg(ipoctal,
&ipoctal->chan_regs[i].u.w.csr,
TX_CLK_9600 | RX_CLK_9600);
}
for (i = 0; i < IP_OCTAL_NB_BLOCKS; i++) {