diff options
Diffstat (limited to 'drivers/isdn/hardware')
-rw-r--r-- | drivers/isdn/hardware/eicon/message.c | 70 | ||||
-rw-r--r-- | drivers/isdn/hardware/mISDN/hfcpci.c | 10 | ||||
-rw-r--r-- | drivers/isdn/hardware/mISDN/mISDNipac.c | 7 | ||||
-rw-r--r-- | drivers/isdn/hardware/mISDN/w6692.c | 7 |
4 files changed, 68 insertions, 26 deletions
diff --git a/drivers/isdn/hardware/eicon/message.c b/drivers/isdn/hardware/eicon/message.c index eadd1ed1e014..def7992a38e6 100644 --- a/drivers/isdn/hardware/eicon/message.c +++ b/drivers/isdn/hardware/eicon/message.c @@ -4501,6 +4501,7 @@ static void control_rc(PLCI *plci, byte req, byte rc, byte ch, byte global_req, plci->channels++; a->ncci_state[ncci] = OUTG_CON_PENDING; } + /* fall through */ default: if (plci->internal_command_queue[0]) @@ -7020,6 +7021,7 @@ static void nl_ind(PLCI *plci) plci->NL.RNum = 1; return; } + /* fall through */ case N_BDATA: case N_DATA: if (((a->ncci_state[ncci] != CONNECTED) && (plci->B2_prot == 1)) /* transparent */ @@ -9626,9 +9628,9 @@ static void dtmf_command(dword Id, PLCI *plci, byte Rc) { case DTMF_LISTEN_TONE_START: - mask <<= 1; + mask <<= 1; /* fall through */ case DTMF_LISTEN_MF_START: - mask <<= 1; + mask <<= 1; /* fall through */ case DTMF_LISTEN_START: switch (internal_command) @@ -9636,6 +9638,7 @@ static void dtmf_command(dword Id, PLCI *plci, byte Rc) default: adjust_b1_resource(Id, plci, NULL, (word)(plci->B1_facilities | B1_FACILITY_DTMFR), DTMF_COMMAND_1); + /* fall through */ case DTMF_COMMAND_1: if (adjust_b_process(Id, plci, Rc) != GOOD) { @@ -9646,6 +9649,7 @@ static void dtmf_command(dword Id, PLCI *plci, byte Rc) } if (plci->internal_command) return; + /* fall through */ case DTMF_COMMAND_2: if (plci_nl_busy(plci)) { @@ -9673,9 +9677,9 @@ static void dtmf_command(dword Id, PLCI *plci, byte Rc) case DTMF_LISTEN_TONE_STOP: - mask <<= 1; + mask <<= 1; /* fall through */ case DTMF_LISTEN_MF_STOP: - mask <<= 1; + mask <<= 1; /* fall through */ case DTMF_LISTEN_STOP: switch (internal_command) @@ -9710,6 +9714,7 @@ static void dtmf_command(dword Id, PLCI *plci, byte Rc) */ adjust_b1_resource(Id, plci, NULL, (word)(plci->B1_facilities & ~(B1_FACILITY_DTMFX | B1_FACILITY_DTMFR)), DTMF_COMMAND_3); + /* fall through */ case DTMF_COMMAND_3: if (adjust_b_process(Id, plci, Rc) != GOOD) { @@ -9726,9 +9731,9 @@ static void dtmf_command(dword Id, PLCI *plci, byte Rc) case DTMF_SEND_TONE: - mask <<= 1; + mask <<= 1; /* fall through */ case DTMF_SEND_MF: - mask <<= 1; + mask <<= 1; /* fall through */ case DTMF_DIGITS_SEND: switch (internal_command) @@ -9737,6 +9742,7 @@ static void dtmf_command(dword Id, PLCI *plci, byte Rc) adjust_b1_resource(Id, plci, NULL, (word)(plci->B1_facilities | ((plci->dtmf_parameter_length != 0) ? B1_FACILITY_DTMFX | B1_FACILITY_DTMFR : B1_FACILITY_DTMFX)), DTMF_COMMAND_1); + /* fall through */ case DTMF_COMMAND_1: if (adjust_b_process(Id, plci, Rc) != GOOD) { @@ -9747,6 +9753,7 @@ static void dtmf_command(dword Id, PLCI *plci, byte Rc) } if (plci->internal_command) return; + /* fall through */ case DTMF_COMMAND_2: if (plci_nl_busy(plci)) { @@ -9863,7 +9870,7 @@ static byte dtmf_request(dword Id, word Number, DIVA_CAPI_ADAPTER *a, PLCI *plci case DTMF_LISTEN_TONE_START: case DTMF_LISTEN_TONE_STOP: - mask <<= 1; + mask <<= 1; /* fall through */ case DTMF_LISTEN_MF_START: case DTMF_LISTEN_MF_STOP: mask <<= 1; @@ -9875,6 +9882,7 @@ static byte dtmf_request(dword Id, word Number, DIVA_CAPI_ADAPTER *a, PLCI *plci PUT_WORD(&result[1], DTMF_UNKNOWN_REQUEST); break; } + /* fall through */ case DTMF_LISTEN_START: case DTMF_LISTEN_STOP: @@ -9904,7 +9912,7 @@ static byte dtmf_request(dword Id, word Number, DIVA_CAPI_ADAPTER *a, PLCI *plci case DTMF_SEND_TONE: - mask <<= 1; + mask <<= 1; /* fall through */ case DTMF_SEND_MF: mask <<= 1; if (!((plci->requested_options_conn | plci->requested_options | plci->adapter->requested_options_table[appl->Id - 1]) @@ -9915,6 +9923,7 @@ static byte dtmf_request(dword Id, word Number, DIVA_CAPI_ADAPTER *a, PLCI *plci PUT_WORD(&result[1], DTMF_UNKNOWN_REQUEST); break; } + /* fall through */ case DTMF_DIGITS_SEND: if (api_parse(&msg[1].info[1], msg[1].length, "wwws", dtmf_parms)) @@ -11315,6 +11324,7 @@ static word mixer_restore_config(dword Id, PLCI *plci, byte Rc) } plci->adjust_b_state = ADJUST_B_RESTORE_MIXER_5; Rc = OK; + /* fall through */ case ADJUST_B_RESTORE_MIXER_2: case ADJUST_B_RESTORE_MIXER_3: case ADJUST_B_RESTORE_MIXER_4: @@ -11344,10 +11354,12 @@ static word mixer_restore_config(dword Id, PLCI *plci, byte Rc) plci->internal_command = plci->adjust_b_command; break; } + /* fall through */ case ADJUST_B_RESTORE_MIXER_5: xconnect_write_coefs(plci, plci->adjust_b_command); plci->adjust_b_state = ADJUST_B_RESTORE_MIXER_6; Rc = OK; + /* fall through */ case ADJUST_B_RESTORE_MIXER_6: if (!xconnect_write_coefs_process(Id, plci, Rc)) { @@ -11392,6 +11404,7 @@ static void mixer_command(dword Id, PLCI *plci, byte Rc) adjust_b1_resource(Id, plci, NULL, (word)(plci->B1_facilities | B1_FACILITY_MIXER), MIXER_COMMAND_1); } + /* fall through */ case MIXER_COMMAND_1: if (plci->li_channel_bits & LI_CHANNEL_INVOLVED) { @@ -11419,6 +11432,7 @@ static void mixer_command(dword Id, PLCI *plci, byte Rc) mixer_indication_coefs_set(Id, plci); } while (plci->li_plci_b_read_pos != plci->li_plci_b_req_pos); } + /* fall through */ case MIXER_COMMAND_2: if ((plci->li_channel_bits & LI_CHANNEL_INVOLVED) || ((get_b1_facilities(plci, plci->B1_resource) & B1_FACILITY_MIXER) @@ -11450,6 +11464,7 @@ static void mixer_command(dword Id, PLCI *plci, byte Rc) adjust_b1_resource(Id, plci, NULL, (word)(plci->B1_facilities & ~B1_FACILITY_MIXER), MIXER_COMMAND_3); } + /* fall through */ case MIXER_COMMAND_3: if (!(plci->li_channel_bits & LI_CHANNEL_INVOLVED)) { @@ -12602,6 +12617,7 @@ static void ec_command(dword Id, PLCI *plci, byte Rc) default: adjust_b1_resource(Id, plci, NULL, (word)(plci->B1_facilities | B1_FACILITY_EC), EC_COMMAND_1); + /* fall through */ case EC_COMMAND_1: if (adjust_b_process(Id, plci, Rc) != GOOD) { @@ -12612,6 +12628,7 @@ static void ec_command(dword Id, PLCI *plci, byte Rc) } if (plci->internal_command) return; + /* fall through */ case EC_COMMAND_2: if (plci->sig_req) { @@ -12650,6 +12667,7 @@ static void ec_command(dword Id, PLCI *plci, byte Rc) return; } Rc = OK; + /* fall through */ case EC_COMMAND_2: if ((Rc != OK) && (Rc != OK_FC)) { @@ -12660,6 +12678,7 @@ static void ec_command(dword Id, PLCI *plci, byte Rc) } adjust_b1_resource(Id, plci, NULL, (word)(plci->B1_facilities & ~B1_FACILITY_EC), EC_COMMAND_3); + /* fall through */ case EC_COMMAND_3: if (adjust_b_process(Id, plci, Rc) != GOOD) { @@ -13485,6 +13504,7 @@ static word adjust_b_process(dword Id, PLCI *plci, byte Rc) } plci->adjust_b_state = ADJUST_B_SAVE_MIXER_1; Rc = OK; + /* fall through */ case ADJUST_B_SAVE_MIXER_1: if (plci->adjust_b_mode & ADJUST_B_MODE_SAVE) { @@ -13496,6 +13516,7 @@ static word adjust_b_process(dword Id, PLCI *plci, byte Rc) } plci->adjust_b_state = ADJUST_B_SAVE_DTMF_1; Rc = OK; + /* fall through */ case ADJUST_B_SAVE_DTMF_1: if (plci->adjust_b_mode & ADJUST_B_MODE_SAVE) { @@ -13506,6 +13527,7 @@ static word adjust_b_process(dword Id, PLCI *plci, byte Rc) } plci->adjust_b_state = ADJUST_B_REMOVE_L23_1; + /* fall through */ case ADJUST_B_REMOVE_L23_1: if ((plci->adjust_b_mode & ADJUST_B_MODE_REMOVE_L23) && plci->NL.Id && !plci->nl_remove_id) @@ -13530,6 +13552,7 @@ static word adjust_b_process(dword Id, PLCI *plci, byte Rc) } plci->adjust_b_state = ADJUST_B_REMOVE_L23_2; Rc = OK; + /* fall through */ case ADJUST_B_REMOVE_L23_2: if ((Rc != OK) && (Rc != OK_FC)) { @@ -13548,6 +13571,7 @@ static word adjust_b_process(dword Id, PLCI *plci, byte Rc) } plci->adjust_b_state = ADJUST_B_SAVE_EC_1; Rc = OK; + /* fall through */ case ADJUST_B_SAVE_EC_1: if (plci->adjust_b_mode & ADJUST_B_MODE_SAVE) { @@ -13559,6 +13583,7 @@ static word adjust_b_process(dword Id, PLCI *plci, byte Rc) } plci->adjust_b_state = ADJUST_B_SAVE_DTMF_PARAMETER_1; Rc = OK; + /* fall through */ case ADJUST_B_SAVE_DTMF_PARAMETER_1: if (plci->adjust_b_mode & ADJUST_B_MODE_SAVE) { @@ -13570,6 +13595,7 @@ static word adjust_b_process(dword Id, PLCI *plci, byte Rc) } plci->adjust_b_state = ADJUST_B_SAVE_VOICE_1; Rc = OK; + /* fall through */ case ADJUST_B_SAVE_VOICE_1: if (plci->adjust_b_mode & ADJUST_B_MODE_SAVE) { @@ -13578,6 +13604,7 @@ static word adjust_b_process(dword Id, PLCI *plci, byte Rc) break; } plci->adjust_b_state = ADJUST_B_SWITCH_L1_1; + /* fall through */ case ADJUST_B_SWITCH_L1_1: if (plci->adjust_b_mode & ADJUST_B_MODE_SWITCH_L1) { @@ -13608,6 +13635,7 @@ static word adjust_b_process(dword Id, PLCI *plci, byte Rc) } plci->adjust_b_state = ADJUST_B_SWITCH_L1_2; Rc = OK; + /* fall through */ case ADJUST_B_SWITCH_L1_2: if ((Rc != OK) && (Rc != OK_FC)) { @@ -13619,6 +13647,7 @@ static word adjust_b_process(dword Id, PLCI *plci, byte Rc) } plci->adjust_b_state = ADJUST_B_RESTORE_VOICE_1; Rc = OK; + /* fall through */ case ADJUST_B_RESTORE_VOICE_1: case ADJUST_B_RESTORE_VOICE_2: if (plci->adjust_b_mode & ADJUST_B_MODE_RESTORE) @@ -13629,6 +13658,7 @@ static word adjust_b_process(dword Id, PLCI *plci, byte Rc) } plci->adjust_b_state = ADJUST_B_RESTORE_DTMF_PARAMETER_1; Rc = OK; + /* fall through */ case ADJUST_B_RESTORE_DTMF_PARAMETER_1: case ADJUST_B_RESTORE_DTMF_PARAMETER_2: if (plci->adjust_b_mode & ADJUST_B_MODE_RESTORE) @@ -13641,6 +13671,7 @@ static word adjust_b_process(dword Id, PLCI *plci, byte Rc) } plci->adjust_b_state = ADJUST_B_RESTORE_EC_1; Rc = OK; + /* fall through */ case ADJUST_B_RESTORE_EC_1: case ADJUST_B_RESTORE_EC_2: if (plci->adjust_b_mode & ADJUST_B_MODE_RESTORE) @@ -13652,6 +13683,7 @@ static word adjust_b_process(dword Id, PLCI *plci, byte Rc) } plci->adjust_b_state = ADJUST_B_ASSIGN_L23_1; + /* fall through */ case ADJUST_B_ASSIGN_L23_1: if (plci->adjust_b_mode & ADJUST_B_MODE_ASSIGN_L23) { @@ -13681,6 +13713,7 @@ static word adjust_b_process(dword Id, PLCI *plci, byte Rc) } plci->adjust_b_state = ADJUST_B_ASSIGN_L23_2; Rc = ASSIGN_OK; + /* fall through */ case ADJUST_B_ASSIGN_L23_2: if ((Rc != OK) && (Rc != OK_FC) && (Rc != ASSIGN_OK)) { @@ -13703,6 +13736,7 @@ static word adjust_b_process(dword Id, PLCI *plci, byte Rc) break; } plci->adjust_b_state = ADJUST_B_CONNECT_1; + /* fall through */ case ADJUST_B_CONNECT_1: if (plci->adjust_b_mode & ADJUST_B_MODE_CONNECT) { @@ -13716,6 +13750,7 @@ static word adjust_b_process(dword Id, PLCI *plci, byte Rc) } plci->adjust_b_state = ADJUST_B_RESTORE_DTMF_1; Rc = OK; + /* fall through */ case ADJUST_B_CONNECT_2: case ADJUST_B_CONNECT_3: case ADJUST_B_CONNECT_4: @@ -13751,6 +13786,7 @@ static word adjust_b_process(dword Id, PLCI *plci, byte Rc) break; } Rc = OK; + /* fall through */ case ADJUST_B_RESTORE_DTMF_1: case ADJUST_B_RESTORE_DTMF_2: if (plci->adjust_b_mode & ADJUST_B_MODE_RESTORE) @@ -13763,6 +13799,7 @@ static word adjust_b_process(dword Id, PLCI *plci, byte Rc) } plci->adjust_b_state = ADJUST_B_RESTORE_MIXER_1; Rc = OK; + /* fall through */ case ADJUST_B_RESTORE_MIXER_1: case ADJUST_B_RESTORE_MIXER_2: case ADJUST_B_RESTORE_MIXER_3: @@ -13827,6 +13864,7 @@ static void adjust_b_restore(dword Id, PLCI *plci, byte Rc) break; } Rc = OK; + /* fall through */ case ADJUST_B_RESTORE_1: if ((Rc != OK) && (Rc != OK_FC)) { @@ -13841,6 +13879,7 @@ static void adjust_b_restore(dword Id, PLCI *plci, byte Rc) plci->adjust_b_state = ADJUST_B_START; dbug(1, dprintf("[%06lx] %s,%d: Adjust B restore...", UnMapId(Id), (char *)(FILE_), __LINE__)); + /* fall through */ case ADJUST_B_RESTORE_2: if (adjust_b_process(Id, plci, Rc) != GOOD) { @@ -13877,6 +13916,7 @@ static void reset_b3_command(dword Id, PLCI *plci, byte Rc) plci->adjust_b_state = ADJUST_B_START; dbug(1, dprintf("[%06lx] %s,%d: Reset B3...", UnMapId(Id), (char *)(FILE_), __LINE__)); + /* fall through */ case RESET_B3_COMMAND_1: Info = adjust_b_process(Id, plci, Rc); if (Info != GOOD) @@ -13930,6 +13970,7 @@ static void select_b_command(dword Id, PLCI *plci, byte Rc) plci->adjust_b_state = ADJUST_B_START; dbug(1, dprintf("[%06lx] %s,%d: Select B protocol...", UnMapId(Id), (char *)(FILE_), __LINE__)); + /* fall through */ case SELECT_B_COMMAND_1: Info = adjust_b_process(Id, plci, Rc); if (Info != GOOD) @@ -13965,7 +14006,7 @@ static void fax_connect_ack_command(dword Id, PLCI *plci, byte Rc) switch (internal_command) { default: - plci->command = 0; + plci->command = 0; /* fall through */ case FAX_CONNECT_ACK_COMMAND_1: if (plci_nl_busy(plci)) { @@ -14013,6 +14054,7 @@ static void fax_edata_ack_command(dword Id, PLCI *plci, byte Rc) { default: plci->command = 0; + /* fall through */ case FAX_EDATA_ACK_COMMAND_1: if (plci_nl_busy(plci)) { @@ -14052,7 +14094,7 @@ static void fax_connect_info_command(dword Id, PLCI *plci, byte Rc) switch (internal_command) { default: - plci->command = 0; + plci->command = 0; /* fall through */ case FAX_CONNECT_INFO_COMMAND_1: if (plci_nl_busy(plci)) { @@ -14112,6 +14154,7 @@ static void fax_adjust_b23_command(dword Id, PLCI *plci, byte Rc) plci->adjust_b_state = ADJUST_B_START; dbug(1, dprintf("[%06lx] %s,%d: FAX adjust B23...", UnMapId(Id), (char *)(FILE_), __LINE__)); + /* fall through */ case FAX_ADJUST_B23_COMMAND_1: Info = adjust_b_process(Id, plci, Rc); if (Info != GOOD) @@ -14122,6 +14165,7 @@ static void fax_adjust_b23_command(dword Id, PLCI *plci, byte Rc) } if (plci->internal_command) return; + /* fall through */ case FAX_ADJUST_B23_COMMAND_2: if (plci_nl_busy(plci)) { @@ -14194,7 +14238,7 @@ static void rtp_connect_b3_req_command(dword Id, PLCI *plci, byte Rc) switch (internal_command) { default: - plci->command = 0; + plci->command = 0; /* fall through */ case RTP_CONNECT_B3_REQ_COMMAND_1: if (plci_nl_busy(plci)) { @@ -14245,7 +14289,7 @@ static void rtp_connect_b3_res_command(dword Id, PLCI *plci, byte Rc) switch (internal_command) { default: - plci->command = 0; + plci->command = 0; /* fall through */ case RTP_CONNECT_B3_RES_COMMAND_1: if (plci_nl_busy(plci)) { @@ -14310,6 +14354,7 @@ static void hold_save_command(dword Id, PLCI *plci, byte Rc) plci->adjust_b_state = ADJUST_B_START; dbug(1, dprintf("[%06lx] %s,%d: HOLD save...", UnMapId(Id), (char *)(FILE_), __LINE__)); + /* fall through */ case HOLD_SAVE_COMMAND_1: Info = adjust_b_process(Id, plci, Rc); if (Info != GOOD) @@ -14349,6 +14394,7 @@ static void retrieve_restore_command(dword Id, PLCI *plci, byte Rc) plci->adjust_b_state = ADJUST_B_START; dbug(1, dprintf("[%06lx] %s,%d: RETRIEVE restore...", UnMapId(Id), (char *)(FILE_), __LINE__)); + /* fall through */ case RETRIEVE_RESTORE_COMMAND_1: Info = adjust_b_process(Id, plci, Rc); if (Info != GOOD) diff --git a/drivers/isdn/hardware/mISDN/hfcpci.c b/drivers/isdn/hardware/mISDN/hfcpci.c index d2e401a8090e..e4ebbee863a1 100644 --- a/drivers/isdn/hardware/mISDN/hfcpci.c +++ b/drivers/isdn/hardware/mISDN/hfcpci.c @@ -2265,7 +2265,7 @@ static struct pci_driver hfc_driver = { }; static int -_hfcpci_softirq(struct device *dev, void *arg) +_hfcpci_softirq(struct device *dev, void *unused) { struct hfc_pci *hc = dev_get_drvdata(dev); struct bchannel *bch; @@ -2290,9 +2290,9 @@ _hfcpci_softirq(struct device *dev, void *arg) } static void -hfcpci_softirq(void *arg) +hfcpci_softirq(struct timer_list *unused) { - WARN_ON_ONCE(driver_for_each_device(&hfc_driver.driver, NULL, arg, + WARN_ON_ONCE(driver_for_each_device(&hfc_driver.driver, NULL, NULL, _hfcpci_softirq) != 0); /* if next event would be in the past ... */ @@ -2327,9 +2327,7 @@ HFC_init(void) if (poll != HFCPCI_BTRANS_THRESHOLD) { printk(KERN_INFO "%s: Using alternative poll value of %d\n", __func__, poll); - hfc_tl.function = (void *)hfcpci_softirq; - hfc_tl.data = 0; - init_timer(&hfc_tl); + timer_setup(&hfc_tl, hfcpci_softirq, 0); hfc_tl.expires = jiffies + tics; hfc_jiffies = hfc_tl.expires; add_timer(&hfc_tl); diff --git a/drivers/isdn/hardware/mISDN/mISDNipac.c b/drivers/isdn/hardware/mISDN/mISDNipac.c index e240010b93fa..4d78f870435e 100644 --- a/drivers/isdn/hardware/mISDN/mISDNipac.c +++ b/drivers/isdn/hardware/mISDN/mISDNipac.c @@ -172,7 +172,6 @@ isac_fill_fifo(struct isac_hw *isac) pr_debug("%s: %s dbusytimer running\n", isac->name, __func__); del_timer(&isac->dch.timer); } - init_timer(&isac->dch.timer); isac->dch.timer.expires = jiffies + ((DBUSY_TIMER_VALUE * HZ)/1000); add_timer(&isac->dch.timer); if (isac->dch.debug & DEBUG_HW_DFIFO) { @@ -727,8 +726,9 @@ isac_release(struct isac_hw *isac) } static void -dbusy_timer_handler(struct isac_hw *isac) +dbusy_timer_handler(struct timer_list *t) { + struct isac_hw *isac = from_timer(isac, t, dch.timer); int rbch, star; u_long flags; @@ -796,8 +796,7 @@ isac_init(struct isac_hw *isac) } isac->mon_tx = NULL; isac->mon_rx = NULL; - setup_timer(&isac->dch.timer, (void *)dbusy_timer_handler, - (long)isac); + timer_setup(&isac->dch.timer, dbusy_timer_handler, 0); isac->mocr = 0xaa; if (isac->type & IPAC_TYPE_ISACX) { /* Disable all IRQ */ diff --git a/drivers/isdn/hardware/mISDN/w6692.c b/drivers/isdn/hardware/mISDN/w6692.c index d80072fef434..536d5137f49d 100644 --- a/drivers/isdn/hardware/mISDN/w6692.c +++ b/drivers/isdn/hardware/mISDN/w6692.c @@ -311,7 +311,6 @@ W6692_fill_Dfifo(struct w6692_hw *card) pr_debug("%s: fill_Dfifo dbusytimer running\n", card->name); del_timer(&dch->timer); } - init_timer(&dch->timer); dch->timer.expires = jiffies + ((DBUSY_TIMER_VALUE * HZ) / 1000); add_timer(&dch->timer); if (debug & DEBUG_HW_DFIFO) { @@ -819,8 +818,9 @@ w6692_irq(int intno, void *dev_id) } static void -dbusy_timer_handler(struct dchannel *dch) +dbusy_timer_handler(struct timer_list *t) { + struct dchannel *dch = from_timer(dch, t, timer); struct w6692_hw *card = dch->hw; int rbch, star; u_long flags; @@ -852,8 +852,7 @@ static void initW6692(struct w6692_hw *card) { u8 val; - setup_timer(&card->dch.timer, (void *)dbusy_timer_handler, - (u_long)&card->dch); + timer_setup(&card->dch.timer, dbusy_timer_handler, 0); w6692_mode(&card->bc[0], ISDN_P_NONE); w6692_mode(&card->bc[1], ISDN_P_NONE); WriteW6692(card, W_D_CTL, 0x00); |