diff options
| author | Kai Germaschewski <kai@tp1.ruhr-uni-bochum.de> | 2002-11-17 12:37:15 -0600 |
|---|---|---|
| committer | Kai Germaschewski <kai@tp1.ruhr-uni-bochum.de> | 2002-11-17 12:37:15 -0600 |
| commit | 9caa723acb80a27ddfd8ee19ca0711238e706ffb (patch) | |
| tree | 1bc3f5071f9cd24012a81f26579c550e5b2331cd | |
| parent | fc983daf8fe2318d66f416931b0f6b1e469e78e6 (diff) | |
| parent | 32c5550b39bdab3ab5755e973dd71e0db79f96a1 (diff) | |
Hand merged
31 files changed, 93 insertions, 159 deletions
diff --git a/drivers/isdn/hisax/asuscom.c b/drivers/isdn/hisax/asuscom.c index cf943f1bddc4..bbaba450f644 100644 --- a/drivers/isdn/hisax/asuscom.c +++ b/drivers/isdn/hisax/asuscom.c @@ -295,7 +295,7 @@ Asus_card_msg(struct IsdnCardState *cs, int mt, void *arg) return(0); case CARD_INIT: cs->debug |= L1_DEB_IPAC; - inithscxisac(cs, 3); + inithscxisac(cs); return(0); case CARD_TEST: return(0); diff --git a/drivers/isdn/hisax/avm_a1.c b/drivers/isdn/hisax/avm_a1.c index a87cfd0796d0..68724811c3ee 100644 --- a/drivers/isdn/hisax/avm_a1.c +++ b/drivers/isdn/hisax/avm_a1.c @@ -163,10 +163,9 @@ AVM_card_msg(struct IsdnCardState *cs, int mt, void *arg) release_ioregs(cs, 0x3f); return(0); case CARD_INIT: - inithscxisac(cs, 1); byteout(cs->hw.avm.cfg_reg, 0x16); byteout(cs->hw.avm.cfg_reg, 0x1E); - inithscxisac(cs, 2); + inithscxisac(cs); return(0); case CARD_TEST: return(0); diff --git a/drivers/isdn/hisax/avm_a1p.c b/drivers/isdn/hisax/avm_a1p.c index 2f3f377400d6..5b6fa14dfa3f 100644 --- a/drivers/isdn/hisax/avm_a1p.c +++ b/drivers/isdn/hisax/avm_a1p.c @@ -224,10 +224,7 @@ AVM_card_msg(struct IsdnCardState *cs, int mt, void *arg) case CARD_INIT: byteout(cs->hw.avm.cfg_reg+ASL0_OFFSET,ASL0_W_TDISABLE|ASL0_W_TRESET|ASL0_W_IRQENABLE); - clear_pending_isac_ints(cs); - clear_pending_hscx_ints(cs); - inithscxisac(cs, 1); - inithscxisac(cs, 2); + inithscxisac(cs); return 0; case CARD_TEST: diff --git a/drivers/isdn/hisax/avm_pci.c b/drivers/isdn/hisax/avm_pci.c index 7a5a885926e4..89c0f91fee02 100644 --- a/drivers/isdn/hisax/avm_pci.c +++ b/drivers/isdn/hisax/avm_pci.c @@ -639,7 +639,7 @@ setstack_hdlc(struct PStack *st, struct BCState *bcs) } void __init -clear_pending_hdlc_ints(struct IsdnCardState *cs) +inithdlc(struct IsdnCardState *cs) { u_int val; @@ -666,11 +666,7 @@ clear_pending_hdlc_ints(struct IsdnCardState *cs) val = ReadHDLCPnP(cs, 1, HDLC_STATUS + 3); debugl1(cs, "HDLC 2 VIN %x", val); } -} -void __init -inithdlc(struct IsdnCardState *cs) -{ cs->bcs[0].BC_SetStack = setstack_hdlc; cs->bcs[1].BC_SetStack = setstack_hdlc; cs->bcs[0].BC_Close = close_hdlcstate; @@ -731,17 +727,12 @@ AVM_card_msg(struct IsdnCardState *cs, int mt, void *arg) release_region(cs->hw.avm.cfg_reg, 32); return(0); case CARD_INIT: - clear_pending_isac_ints(cs); initisac(cs); - clear_pending_hdlc_ints(cs); inithdlc(cs); outb(AVM_STATUS0_DIS_TIMER | AVM_STATUS0_RES_TIMER, cs->hw.avm.cfg_reg + 2); - WriteISAC(cs, ISAC_MASK, 0); outb(AVM_STATUS0_DIS_TIMER | AVM_STATUS0_RES_TIMER | AVM_STATUS0_ENA_IRQ, cs->hw.avm.cfg_reg + 2); - /* RESET Receiver and Transmitter */ - WriteISAC(cs, ISAC_CMDR, 0x41); return(0); case CARD_TEST: return(0); diff --git a/drivers/isdn/hisax/bkm_a4t.c b/drivers/isdn/hisax/bkm_a4t.c index 75f361e241be..5105b2e67da7 100644 --- a/drivers/isdn/hisax/bkm_a4t.c +++ b/drivers/isdn/hisax/bkm_a4t.c @@ -243,8 +243,6 @@ BKM_card_msg(struct IsdnCardState *cs, int mt, void *arg) release_io_bkm(cs); return (0); case CARD_INIT: - clear_pending_isac_ints(cs); - clear_pending_jade_ints(cs); initisac(cs); initjade(cs); /* Enable ints */ diff --git a/drivers/isdn/hisax/bkm_a8.c b/drivers/isdn/hisax/bkm_a8.c index a0b4282dae01..329a0e91937e 100644 --- a/drivers/isdn/hisax/bkm_a8.c +++ b/drivers/isdn/hisax/bkm_a8.c @@ -251,7 +251,7 @@ BKM_card_msg(struct IsdnCardState *cs, int mt, void *arg) case CARD_INIT: cs->debug |= L1_DEB_IPAC; set_ipac_active(cs, 1); - inithscxisac(cs, 3); + inithscxisac(cs); /* Enable ints */ enable_bkm_int(cs, 1); return (0); diff --git a/drivers/isdn/hisax/diva.c b/drivers/isdn/hisax/diva.c index 20ca4c4c1c6b..f7b43a0b9932 100644 --- a/drivers/isdn/hisax/diva.c +++ b/drivers/isdn/hisax/diva.c @@ -860,7 +860,7 @@ Diva_card_msg(struct IsdnCardState *cs, int mt, void *arg) ireg = (unsigned int *)cs->hw.diva.pci_cfg; *ireg = PITA_INT0_ENABLE; } - inithscxisac(cs, 3); + inithscxisac(cs); return(0); case CARD_TEST: return(0); diff --git a/drivers/isdn/hisax/elsa.c b/drivers/isdn/hisax/elsa.c index 600c959a6a49..eedb419f0fc7 100644 --- a/drivers/isdn/hisax/elsa.c +++ b/drivers/isdn/hisax/elsa.c @@ -679,7 +679,6 @@ Elsa_card_msg(struct IsdnCardState *cs, int mt, void *arg) return(0); case CARD_INIT: cs->debug |= L1_DEB_IPAC; - inithscxisac(cs, 1); if ((cs->subtyp == ELSA_QS1000) || (cs->subtyp == ELSA_QS3000)) { @@ -687,7 +686,7 @@ Elsa_card_msg(struct IsdnCardState *cs, int mt, void *arg) } if (cs->hw.elsa.trig) byteout(cs->hw.elsa.trig, 0xff); - inithscxisac(cs, 2); + inithscxisac(cs); return(0); case CARD_TEST: if ((cs->subtyp == ELSA_PCMCIA) || diff --git a/drivers/isdn/hisax/gazel.c b/drivers/isdn/hisax/gazel.c index 2ad414bee102..dc960b749e76 100644 --- a/drivers/isdn/hisax/gazel.c +++ b/drivers/isdn/hisax/gazel.c @@ -421,7 +421,7 @@ Gazel_card_msg(struct IsdnCardState *cs, int mt, void *arg) release_io_gazel(cs); return (0); case CARD_INIT: - inithscxisac(cs, 1); + inithscxisac(cs); if ((cs->subtyp==R647)||(cs->subtyp==R685)) { int i; for (i=0;i<(2+MAX_WAITING_CALLS);i++) { diff --git a/drivers/isdn/hisax/hscx.c b/drivers/isdn/hisax/hscx.c index 174be03de2e1..73ffe2165706 100644 --- a/drivers/isdn/hisax/hscx.c +++ b/drivers/isdn/hisax/hscx.c @@ -220,10 +220,21 @@ setstack_hscx(struct PStack *st, struct BCState *bcs) } void __init -clear_pending_hscx_ints(struct IsdnCardState *cs) +inithscx(struct IsdnCardState *cs) { int val, eval; + cs->bcs[0].BC_SetStack = setstack_hscx; + cs->bcs[1].BC_SetStack = setstack_hscx; + cs->bcs[0].BC_Close = close_hscxstate; + cs->bcs[1].BC_Close = close_hscxstate; + cs->bcs[0].hw.hscx.hscx = 0; + cs->bcs[1].hw.hscx.hscx = 1; + cs->bcs[0].hw.hscx.tsaxr0 = 0x2f; + cs->bcs[0].hw.hscx.tsaxr1 = 3; + cs->bcs[1].hw.hscx.tsaxr0 = 0x2f; + cs->bcs[1].hw.hscx.tsaxr1 = 3; + val = cs->BC_Read_Reg(cs, 1, HSCX_ISTA); debugl1(cs, "HSCX B ISTA %x", val); if (val & 0x01) { @@ -243,40 +254,18 @@ clear_pending_hscx_ints(struct IsdnCardState *cs) /* disable all IRQ */ cs->BC_Write_Reg(cs, 0, HSCX_MASK, 0xFF); cs->BC_Write_Reg(cs, 1, HSCX_MASK, 0xFF); -} -void __init -inithscx(struct IsdnCardState *cs) -{ - cs->bcs[0].BC_SetStack = setstack_hscx; - cs->bcs[1].BC_SetStack = setstack_hscx; - cs->bcs[0].BC_Close = close_hscxstate; - cs->bcs[1].BC_Close = close_hscxstate; - cs->bcs[0].hw.hscx.hscx = 0; - cs->bcs[1].hw.hscx.hscx = 1; - cs->bcs[0].hw.hscx.tsaxr0 = 0x2f; - cs->bcs[0].hw.hscx.tsaxr1 = 3; - cs->bcs[1].hw.hscx.tsaxr0 = 0x2f; - cs->bcs[1].hw.hscx.tsaxr1 = 3; modehscx(cs->bcs, 0, 0); modehscx(cs->bcs + 1, 0, 0); + + /* Reenable all IRQ */ + cs->BC_Write_Reg(cs, 0, HSCX_MASK, 0); + cs->BC_Write_Reg(cs, 1, HSCX_MASK, 0); } void __init -inithscxisac(struct IsdnCardState *cs, int part) +inithscxisac(struct IsdnCardState *cs) { - if (part & 1) { - clear_pending_isac_ints(cs); - clear_pending_hscx_ints(cs); - initisac(cs); - inithscx(cs); - } - if (part & 2) { - /* Reenable all IRQ */ - cs->writeisac(cs, ISAC_MASK, 0); - cs->BC_Write_Reg(cs, 0, HSCX_MASK, 0); - cs->BC_Write_Reg(cs, 1, HSCX_MASK, 0); - /* RESET Receiver and Transmitter */ - cs->writeisac(cs, ISAC_CMDR, 0x41); - } + initisac(cs); + inithscx(cs); } diff --git a/drivers/isdn/hisax/hscx.h b/drivers/isdn/hisax/hscx.h index c9f6cbaa745b..abb49f0c8f09 100644 --- a/drivers/isdn/hisax/hscx.h +++ b/drivers/isdn/hisax/hscx.h @@ -37,6 +37,4 @@ extern int HscxVersion(struct IsdnCardState *cs, char *s); extern void hscx_sched_event(struct BCState *bcs, int event); extern void modehscx(struct BCState *bcs, int mode, int bc); -extern void clear_pending_hscx_ints(struct IsdnCardState *cs); -extern void inithscx(struct IsdnCardState *cs); -extern void inithscxisac(struct IsdnCardState *cs, int part); +extern void inithscxisac(struct IsdnCardState *cs); diff --git a/drivers/isdn/hisax/icc.c b/drivers/isdn/hisax/icc.c index e97d962155c5..7a72669eb3da 100644 --- a/drivers/isdn/hisax/icc.c +++ b/drivers/isdn/hisax/icc.c @@ -623,6 +623,8 @@ dbusy_timer_handler(struct IsdnCardState *cs) void __init initicc(struct IsdnCardState *cs) { + int val, eval; + INIT_WORK(&cs->work, icc_bh, cs); cs->setstack_d = setstack_icc; cs->DC_Close = DC_Close_icc; @@ -631,7 +633,26 @@ initicc(struct IsdnCardState *cs) cs->dbusytimer.function = (void *) dbusy_timer_handler; cs->dbusytimer.data = (long) cs; init_timer(&cs->dbusytimer); - cs->writeisac(cs, ICC_MASK, 0xff); + + val = cs->readisac(cs, ICC_STAR); + debugl1(cs, "ICC STAR %x", val); + val = cs->readisac(cs, ICC_MODE); + debugl1(cs, "ICC MODE %x", val); + val = cs->readisac(cs, ICC_ADF2); + debugl1(cs, "ICC ADF2 %x", val); + val = cs->readisac(cs, ICC_ISTA); + debugl1(cs, "ICC ISTA %x", val); + if (val & 0x01) { + eval = cs->readisac(cs, ICC_EXIR); + debugl1(cs, "ICC EXIR %x", eval); + } + val = cs->readisac(cs, ICC_CIR0); + debugl1(cs, "ICC CIR0 %x", val); + cs->dc.icc.ph_state = (val >> 2) & 0xf; + icc_sched_event(cs, D_L1STATECHANGE); + /* Disable all IRQ */ + cs->writeisac(cs, ICC_MASK, 0xFF); + cs->dc.icc.mocr = 0xaa; if (test_bit(HW_IOM1, &cs->HW_Flags)) { /* IOM 1 Mode */ @@ -656,28 +677,3 @@ initicc(struct IsdnCardState *cs) cs->writeisac(cs, ICC_MASK, 0x0); ph_command(cs, ICC_CMD_DI); } - -void __init -clear_pending_icc_ints(struct IsdnCardState *cs) -{ - int val, eval; - - val = cs->readisac(cs, ICC_STAR); - debugl1(cs, "ICC STAR %x", val); - val = cs->readisac(cs, ICC_MODE); - debugl1(cs, "ICC MODE %x", val); - val = cs->readisac(cs, ICC_ADF2); - debugl1(cs, "ICC ADF2 %x", val); - val = cs->readisac(cs, ICC_ISTA); - debugl1(cs, "ICC ISTA %x", val); - if (val & 0x01) { - eval = cs->readisac(cs, ICC_EXIR); - debugl1(cs, "ICC EXIR %x", eval); - } - val = cs->readisac(cs, ICC_CIR0); - debugl1(cs, "ICC CIR0 %x", val); - cs->dc.icc.ph_state = (val >> 2) & 0xf; - icc_sched_event(cs, D_L1STATECHANGE); - /* Disable all IRQ */ - cs->writeisac(cs, ICC_MASK, 0xFF); -} diff --git a/drivers/isdn/hisax/icc.h b/drivers/isdn/hisax/icc.h index 90feb9064202..7750f34dbfd6 100644 --- a/drivers/isdn/hisax/icc.h +++ b/drivers/isdn/hisax/icc.h @@ -68,4 +68,3 @@ extern void ICCVersion(struct IsdnCardState *cs, char *s); extern void initicc(struct IsdnCardState *cs); extern void icc_interrupt(struct IsdnCardState *cs, u_char val); -extern void clear_pending_icc_ints(struct IsdnCardState *cs); diff --git a/drivers/isdn/hisax/isac.c b/drivers/isdn/hisax/isac.c index a23f1184d4f5..79f35ca03f4f 100644 --- a/drivers/isdn/hisax/isac.c +++ b/drivers/isdn/hisax/isac.c @@ -625,6 +625,23 @@ dbusy_timer_handler(struct IsdnCardState *cs) void __devinit initisac(struct IsdnCardState *cs) { + int val, eval; + + val = cs->readisac(cs, ISAC_STAR); + debugl1(cs, "ISAC STAR %x", val); + val = cs->readisac(cs, ISAC_MODE); + debugl1(cs, "ISAC MODE %x", val); + val = cs->readisac(cs, ISAC_ADF2); + debugl1(cs, "ISAC ADF2 %x", val); + val = cs->readisac(cs, ISAC_ISTA); + debugl1(cs, "ISAC ISTA %x", val); + if (val & 0x01) { + eval = cs->readisac(cs, ISAC_EXIR); + debugl1(cs, "ISAC EXIR %x", eval); + } + /* Disable all IRQ */ + cs->writeisac(cs, ISAC_MASK, 0xFF); + INIT_WORK(&cs->work, isac_bh, cs); cs->setstack_d = setstack_isac; cs->DC_Close = DC_Close_isac; @@ -656,29 +673,12 @@ initisac(struct IsdnCardState *cs) } ph_command(cs, ISAC_CMD_RS); cs->writeisac(cs, ISAC_MASK, 0x0); -} -void __devinit -clear_pending_isac_ints(struct IsdnCardState *cs) -{ - int val, eval; - - val = cs->readisac(cs, ISAC_STAR); - debugl1(cs, "ISAC STAR %x", val); - val = cs->readisac(cs, ISAC_MODE); - debugl1(cs, "ISAC MODE %x", val); - val = cs->readisac(cs, ISAC_ADF2); - debugl1(cs, "ISAC ADF2 %x", val); - val = cs->readisac(cs, ISAC_ISTA); - debugl1(cs, "ISAC ISTA %x", val); - if (val & 0x01) { - eval = cs->readisac(cs, ISAC_EXIR); - debugl1(cs, "ISAC EXIR %x", eval); - } val = cs->readisac(cs, ISAC_CIR0); debugl1(cs, "ISAC CIR0 %x", val); cs->dc.isac.ph_state = (val >> 2) & 0xf; isac_sched_event(cs, D_L1STATECHANGE); - /* Disable all IRQ */ - cs->writeisac(cs, ISAC_MASK, 0xFF); + + /* RESET Receiver and Transmitter */ + cs->writeisac(cs, ISAC_CMDR, 0x41); } diff --git a/drivers/isdn/hisax/isac.h b/drivers/isdn/hisax/isac.h index 3d69027427fd..eb7761683bbe 100644 --- a/drivers/isdn/hisax/isac.h +++ b/drivers/isdn/hisax/isac.h @@ -66,4 +66,3 @@ extern void ISACVersion(struct IsdnCardState *cs, char *s); extern void initisac(struct IsdnCardState *cs); extern void isac_interrupt(struct IsdnCardState *cs, u_char val); -extern void clear_pending_isac_ints(struct IsdnCardState *cs); diff --git a/drivers/isdn/hisax/isurf.c b/drivers/isdn/hisax/isurf.c index 59d506a5522a..1bac24e4d935 100644 --- a/drivers/isdn/hisax/isurf.c +++ b/drivers/isdn/hisax/isurf.c @@ -155,14 +155,9 @@ ISurf_card_msg(struct IsdnCardState *cs, int mt, void *arg) release_io_isurf(cs); return(0); case CARD_INIT: - clear_pending_isac_ints(cs); writeb(0, cs->hw.isurf.isar+ISAR_IRQBIT);mb(); initisac(cs); initisar(cs); - /* Reenable ISAC IRQ */ - cs->writeisac(cs, ISAC_MASK, 0); - /* RESET Receiver and Transmitter */ - cs->writeisac(cs, ISAC_CMDR, 0x41); return(0); case CARD_TEST: return(0); @@ -180,8 +175,6 @@ isurf_auxcmd(struct IsdnCardState *cs, isdn_ctrl *ic) { reset_isurf(cs, ISURF_ISAR_EA | ISURF_ISAC_RESET | ISURF_ARCOFI_RESET); initisac(cs); - cs->writeisac(cs, ISAC_MASK, 0); - cs->writeisac(cs, ISAC_CMDR, 0x41); } return(ret); } diff --git a/drivers/isdn/hisax/ix1_micro.c b/drivers/isdn/hisax/ix1_micro.c index 2cdeb86d44f7..2bcec581de1e 100644 --- a/drivers/isdn/hisax/ix1_micro.c +++ b/drivers/isdn/hisax/ix1_micro.c @@ -205,7 +205,7 @@ ix1_card_msg(struct IsdnCardState *cs, int mt, void *arg) release_io_ix1micro(cs); return(0); case CARD_INIT: - inithscxisac(cs, 3); + inithscxisac(cs); return(0); case CARD_TEST: return(0); diff --git a/drivers/isdn/hisax/jade.c b/drivers/isdn/hisax/jade.c index 2fa2f12600fd..e0bf563d93a9 100644 --- a/drivers/isdn/hisax/jade.c +++ b/drivers/isdn/hisax/jade.c @@ -263,40 +263,32 @@ setstack_jade(struct PStack *st, struct BCState *bcs) } void __init -clear_pending_jade_ints(struct IsdnCardState *cs) +initjade(struct IsdnCardState *cs) { int val; - char tmp[64]; + + cs->bcs[0].BC_SetStack = setstack_jade; + cs->bcs[1].BC_SetStack = setstack_jade; + cs->bcs[0].BC_Close = close_jadestate; + cs->bcs[1].BC_Close = close_jadestate; + cs->bcs[0].hw.hscx.hscx = 0; + cs->bcs[1].hw.hscx.hscx = 1; cs->BC_Write_Reg(cs, 0, jade_HDLC_IMR, 0x00); cs->BC_Write_Reg(cs, 1, jade_HDLC_IMR, 0x00); val = cs->BC_Read_Reg(cs, 1, jade_HDLC_ISR); - sprintf(tmp, "jade B ISTA %x", val); - debugl1(cs, tmp); + debugl1(cs, "jade B ISTA %x", val); val = cs->BC_Read_Reg(cs, 0, jade_HDLC_ISR); - sprintf(tmp, "jade A ISTA %x", val); - debugl1(cs, tmp); + debugl1(cs, "jade A ISTA %x", val); val = cs->BC_Read_Reg(cs, 1, jade_HDLC_STAR); - sprintf(tmp, "jade B STAR %x", val); - debugl1(cs, tmp); + debugl1(cs, "jade B STAR %x", val); val = cs->BC_Read_Reg(cs, 0, jade_HDLC_STAR); - sprintf(tmp, "jade A STAR %x", val); - debugl1(cs, tmp); + debugl1(cs, "jade A STAR %x", val); + /* Unmask ints */ cs->BC_Write_Reg(cs, 0, jade_HDLC_IMR, 0xF8); cs->BC_Write_Reg(cs, 1, jade_HDLC_IMR, 0xF8); -} - -void __init -initjade(struct IsdnCardState *cs) -{ - cs->bcs[0].BC_SetStack = setstack_jade; - cs->bcs[1].BC_SetStack = setstack_jade; - cs->bcs[0].BC_Close = close_jadestate; - cs->bcs[1].BC_Close = close_jadestate; - cs->bcs[0].hw.hscx.hscx = 0; - cs->bcs[1].hw.hscx.hscx = 1; /* Stop DSP audio tx/rx */ jade_write_indirect(cs, 0x11, 0x0f); diff --git a/drivers/isdn/hisax/jade.h b/drivers/isdn/hisax/jade.h index 1a6ce2ac4dfe..d8582e355f0d 100644 --- a/drivers/isdn/hisax/jade.h +++ b/drivers/isdn/hisax/jade.h @@ -130,7 +130,6 @@ extern int JadeVersion(struct IsdnCardState *cs, char *s); extern void jade_sched_event(struct BCState *bcs, int event); extern void modejade(struct BCState *bcs, int mode, int bc); -extern void clear_pending_jade_ints(struct IsdnCardState *cs); extern void initjade(struct IsdnCardState *cs); #endif /* __JADE_H__ */ diff --git a/drivers/isdn/hisax/mic.c b/drivers/isdn/hisax/mic.c index 97d94239927c..8b9c08e7b9b5 100644 --- a/drivers/isdn/hisax/mic.c +++ b/drivers/isdn/hisax/mic.c @@ -188,8 +188,7 @@ mic_card_msg(struct IsdnCardState *cs, int mt, void *arg) release_io_mic(cs); return(0); case CARD_INIT: - inithscx(cs); /* /RTSA := ISAC RST */ - inithscxisac(cs, 3); + inithscxisac(cs); return(0); case CARD_TEST: return(0); diff --git a/drivers/isdn/hisax/niccy.c b/drivers/isdn/hisax/niccy.c index 6caaac80c54f..5ea3cd02fb27 100644 --- a/drivers/isdn/hisax/niccy.c +++ b/drivers/isdn/hisax/niccy.c @@ -214,7 +214,7 @@ niccy_reset(struct IsdnCardState *cs) val |= PCI_IRQ_ENABLE; outl(val, cs->hw.niccy.cfg_reg + PCI_IRQ_CTRL_REG); } - inithscxisac(cs, 3); + inithscxisac(cs); } static int diff --git a/drivers/isdn/hisax/nj_s.c b/drivers/isdn/hisax/nj_s.c index 5a5600103366..042d41a80531 100644 --- a/drivers/isdn/hisax/nj_s.c +++ b/drivers/isdn/hisax/nj_s.c @@ -130,10 +130,7 @@ NETjet_S_card_msg(struct IsdnCardState *cs, int mt, void *arg) return(0); case CARD_INIT: inittiger(cs); - clear_pending_isac_ints(cs); initisac(cs); - /* Reenable all IRQ */ - cs->writeisac(cs, ISAC_MASK, 0); return(0); case CARD_TEST: return(0); diff --git a/drivers/isdn/hisax/nj_u.c b/drivers/isdn/hisax/nj_u.c index 6d28c10e4d9f..ba8328ecf274 100644 --- a/drivers/isdn/hisax/nj_u.c +++ b/drivers/isdn/hisax/nj_u.c @@ -131,7 +131,6 @@ NETjet_U_card_msg(struct IsdnCardState *cs, int mt, void *arg) return(0); case CARD_INIT: inittiger(cs); - clear_pending_icc_ints(cs); initicc(cs); /* Reenable all IRQ */ cs->writeisac(cs, ICC_MASK, 0); diff --git a/drivers/isdn/hisax/s0box.c b/drivers/isdn/hisax/s0box.c index 1e8d88da0884..1c97b691ef17 100644 --- a/drivers/isdn/hisax/s0box.c +++ b/drivers/isdn/hisax/s0box.c @@ -207,7 +207,7 @@ S0Box_card_msg(struct IsdnCardState *cs, int mt, void *arg) release_io_s0box(cs); break; case CARD_INIT: - inithscxisac(cs, 3); + inithscxisac(cs); break; case CARD_TEST: break; diff --git a/drivers/isdn/hisax/saphir.c b/drivers/isdn/hisax/saphir.c index 4fbd2ee7bcd2..30dea018fafc 100644 --- a/drivers/isdn/hisax/saphir.c +++ b/drivers/isdn/hisax/saphir.c @@ -235,7 +235,7 @@ saphir_card_msg(struct IsdnCardState *cs, int mt, void *arg) release_io_saphir(cs); return(0); case CARD_INIT: - inithscxisac(cs, 3); + inithscxisac(cs); return(0); case CARD_TEST: return(0); diff --git a/drivers/isdn/hisax/sedlbauer.c b/drivers/isdn/hisax/sedlbauer.c index 694eb354c1cb..406029a5882e 100644 --- a/drivers/isdn/hisax/sedlbauer.c +++ b/drivers/isdn/hisax/sedlbauer.c @@ -479,17 +479,12 @@ Sedl_card_msg(struct IsdnCardState *cs, int mt, void *arg) return(0); case CARD_INIT: if (cs->hw.sedl.chip == SEDL_CHIP_ISAC_ISAR) { - clear_pending_isac_ints(cs); writereg(cs->hw.sedl.adr, cs->hw.sedl.hscx, ISAR_IRQBIT, 0); initisac(cs); initisar(cs); - /* Reenable all IRQ */ - cs->writeisac(cs, ISAC_MASK, 0); - /* RESET Receiver and Transmitter */ - cs->writeisac(cs, ISAC_CMDR, 0x41); } else { - inithscxisac(cs, 3); + inithscxisac(cs); } return(0); case CARD_TEST: diff --git a/drivers/isdn/hisax/sportster.c b/drivers/isdn/hisax/sportster.c index 687cf8504c71..5979cd41c500 100644 --- a/drivers/isdn/hisax/sportster.c +++ b/drivers/isdn/hisax/sportster.c @@ -168,10 +168,9 @@ Sportster_card_msg(struct IsdnCardState *cs, int mt, void *arg) release_io_sportster(cs); return(0); case CARD_INIT: - inithscxisac(cs, 1); + inithscxisac(cs); cs->hw.spt.res_irq |= SPORTSTER_INTE; /* IRQ On */ byteout(cs->hw.spt.cfg_reg + SPORTSTER_RES_IRQ, cs->hw.spt.res_irq); - inithscxisac(cs, 2); return(0); case CARD_TEST: return(0); diff --git a/drivers/isdn/hisax/teleint.c b/drivers/isdn/hisax/teleint.c index 372f5ed34241..b5ca34d600f3 100644 --- a/drivers/isdn/hisax/teleint.c +++ b/drivers/isdn/hisax/teleint.c @@ -242,11 +242,7 @@ TeleInt_card_msg(struct IsdnCardState *cs, int mt, void *arg) return(0); case CARD_INIT: inithfc(cs); - clear_pending_isac_ints(cs); initisac(cs); - /* Reenable all IRQ */ - cs->writeisac(cs, ISAC_MASK, 0); - cs->writeisac(cs, ISAC_CMDR, 0x41); cs->hw.hfc.timer.expires = jiffies + 1; add_timer(&cs->hw.hfc.timer); return(0); diff --git a/drivers/isdn/hisax/teles0.c b/drivers/isdn/hisax/teles0.c index dfe161baf900..92eb04fab1b4 100644 --- a/drivers/isdn/hisax/teles0.c +++ b/drivers/isdn/hisax/teles0.c @@ -251,7 +251,7 @@ Teles_card_msg(struct IsdnCardState *cs, int mt, void *arg) release_io_teles0(cs); return(0); case CARD_INIT: - inithscxisac(cs, 3); + inithscxisac(cs); return(0); case CARD_TEST: return(0); diff --git a/drivers/isdn/hisax/teles3.c b/drivers/isdn/hisax/teles3.c index 02662ebae6cf..44dae27ce44e 100644 --- a/drivers/isdn/hisax/teles3.c +++ b/drivers/isdn/hisax/teles3.c @@ -238,7 +238,7 @@ Teles_card_msg(struct IsdnCardState *cs, int mt, void *arg) release_io_teles3(cs); return(0); case CARD_INIT: - inithscxisac(cs, 3); + inithscxisac(cs); return(0); case CARD_TEST: return(0); diff --git a/drivers/isdn/hisax/telespci.c b/drivers/isdn/hisax/telespci.c index 91eb0d9ffa2f..42e8b5c814d1 100644 --- a/drivers/isdn/hisax/telespci.c +++ b/drivers/isdn/hisax/telespci.c @@ -270,7 +270,7 @@ TelesPCI_card_msg(struct IsdnCardState *cs, int mt, void *arg) release_io_telespci(cs); return(0); case CARD_INIT: - inithscxisac(cs, 3); + inithscxisac(cs); return(0); case CARD_TEST: return(0); |
