aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/isdn/hisax/Makefile2
-rw-r--r--drivers/isdn/hisax/amd7930_fn.c8
-rw-r--r--drivers/isdn/hisax/asuscom.c4
-rw-r--r--drivers/isdn/hisax/avm_pci.c18
-rw-r--r--drivers/isdn/hisax/bkm_a4t.c4
-rw-r--r--drivers/isdn/hisax/bkm_a8.c6
-rw-r--r--drivers/isdn/hisax/callc.c6
-rw-r--r--drivers/isdn/hisax/config.c14
-rw-r--r--drivers/isdn/hisax/diva.c4
-rw-r--r--drivers/isdn/hisax/elsa.c8
-rw-r--r--drivers/isdn/hisax/elsa_ser.c20
-rw-r--r--drivers/isdn/hisax/enternow.h51
-rw-r--r--drivers/isdn/hisax/enternow_pci.c91
-rw-r--r--drivers/isdn/hisax/gazel.c5
-rw-r--r--drivers/isdn/hisax/hfc4s8s_l1.c2
-rw-r--r--drivers/isdn/hisax/hfc_2bds0.c12
-rw-r--r--drivers/isdn/hisax/hfc_2bs0.c12
-rw-r--r--drivers/isdn/hisax/hfc_pci.c12
-rw-r--r--drivers/isdn/hisax/hfc_pci.h1
-rw-r--r--drivers/isdn/hisax/hfc_sx.c10
-rw-r--r--drivers/isdn/hisax/hfc_sx.h1
-rw-r--r--drivers/isdn/hisax/hfc_usb.c6
-rw-r--r--drivers/isdn/hisax/hfc_usb.h4
-rw-r--r--drivers/isdn/hisax/hfcscard.c2
-rw-r--r--drivers/isdn/hisax/hisax.h5
-rw-r--r--drivers/isdn/hisax/hscx.c4
-rw-r--r--drivers/isdn/hisax/icc.c6
-rw-r--r--drivers/isdn/hisax/ipacx.c86
-rw-r--r--drivers/isdn/hisax/isac.c6
-rw-r--r--drivers/isdn/hisax/isar.c46
-rw-r--r--drivers/isdn/hisax/isdnl1.c8
-rw-r--r--drivers/isdn/hisax/isdnl2.c100
-rw-r--r--drivers/isdn/hisax/isdnl3.c2
-rw-r--r--drivers/isdn/hisax/isurf.c2
-rw-r--r--drivers/isdn/hisax/ix1_micro.c4
-rw-r--r--drivers/isdn/hisax/jade.c6
-rw-r--r--drivers/isdn/hisax/jade.h1
-rw-r--r--drivers/isdn/hisax/l3_1tr6.c2
-rw-r--r--drivers/isdn/hisax/l3dss1.c2
-rw-r--r--drivers/isdn/hisax/l3ni1.c4
-rw-r--r--drivers/isdn/hisax/mic.c4
-rw-r--r--drivers/isdn/hisax/netjet.c12
-rw-r--r--drivers/isdn/hisax/niccy.c4
-rw-r--r--drivers/isdn/hisax/nj_s.c2
-rw-r--r--drivers/isdn/hisax/nj_u.c2
-rw-r--r--drivers/isdn/hisax/q931.c4
-rw-r--r--drivers/isdn/hisax/s0box.c4
-rw-r--r--drivers/isdn/hisax/saphir.c2
-rw-r--r--drivers/isdn/hisax/sedlbauer.c6
-rw-r--r--drivers/isdn/hisax/sportster.c6
-rw-r--r--drivers/isdn/hisax/st5481.h4
-rw-r--r--drivers/isdn/hisax/st5481_hdlc.c580
-rw-r--r--drivers/isdn/hisax/st5481_hdlc.h62
-rw-r--r--drivers/isdn/hisax/st5481_usb.c10
-rw-r--r--drivers/isdn/hisax/tei.c2
-rw-r--r--drivers/isdn/hisax/teleint.c4
-rw-r--r--drivers/isdn/hisax/teles0.c4
-rw-r--r--drivers/isdn/hisax/teles3.c4
-rw-r--r--drivers/isdn/hisax/telespci.c4
-rw-r--r--drivers/isdn/hisax/w6692.c6
60 files changed, 263 insertions, 1050 deletions
diff --git a/drivers/isdn/hisax/Makefile b/drivers/isdn/hisax/Makefile
index 8d6bb56754b8..293e27789d54 100644
--- a/drivers/isdn/hisax/Makefile
+++ b/drivers/isdn/hisax/Makefile
@@ -23,7 +23,7 @@ endif
23# Multipart objects. 23# Multipart objects.
24 24
25hisax_st5481-y := st5481_init.o st5481_usb.o st5481_d.o \ 25hisax_st5481-y := st5481_init.o st5481_usb.o st5481_d.o \
26 st5481_b.o st5481_hdlc.o 26 st5481_b.o
27 27
28hisax-y := config.o isdnl1.o tei.o isdnl2.o isdnl3.o \ 28hisax-y := config.o isdnl1.o tei.o isdnl2.o isdnl3.o \
29 lmgr.o q931.o callc.o fsm.o 29 lmgr.o q931.o callc.o fsm.o
diff --git a/drivers/isdn/hisax/amd7930_fn.c b/drivers/isdn/hisax/amd7930_fn.c
index c4f861a5db25..8ae08c41c853 100644
--- a/drivers/isdn/hisax/amd7930_fn.c
+++ b/drivers/isdn/hisax/amd7930_fn.c
@@ -97,7 +97,7 @@ static WORD initAMD[] = {
97}; 97};
98 98
99 99
100void /* macro wWordAMD */ 100static void /* macro wWordAMD */
101WriteWordAmd7930(struct IsdnCardState *cs, BYTE reg, WORD val) 101WriteWordAmd7930(struct IsdnCardState *cs, BYTE reg, WORD val)
102{ 102{
103 wByteAMD(cs, 0x00, reg); 103 wByteAMD(cs, 0x00, reg);
@@ -105,7 +105,7 @@ WriteWordAmd7930(struct IsdnCardState *cs, BYTE reg, WORD val)
105 wByteAMD(cs, 0x01, HIBYTE(val)); 105 wByteAMD(cs, 0x01, HIBYTE(val));
106} 106}
107 107
108WORD /* macro rWordAMD */ 108static WORD /* macro rWordAMD */
109ReadWordAmd7930(struct IsdnCardState *cs, BYTE reg) 109ReadWordAmd7930(struct IsdnCardState *cs, BYTE reg)
110{ 110{
111 WORD res; 111 WORD res;
@@ -665,7 +665,7 @@ Amd7930_l1hw(struct PStack *st, int pr, void *arg)
665 } 665 }
666} 666}
667 667
668void 668static void
669setstack_Amd7930(struct PStack *st, struct IsdnCardState *cs) 669setstack_Amd7930(struct PStack *st, struct IsdnCardState *cs)
670{ 670{
671 671
@@ -676,7 +676,7 @@ setstack_Amd7930(struct PStack *st, struct IsdnCardState *cs)
676} 676}
677 677
678 678
679void 679static void
680DC_Close_Amd7930(struct IsdnCardState *cs) { 680DC_Close_Amd7930(struct IsdnCardState *cs) {
681 if (cs->debug & L1_DEB_ISAC) 681 if (cs->debug & L1_DEB_ISAC)
682 debugl1(cs, "Amd7930: DC_Close called"); 682 debugl1(cs, "Amd7930: DC_Close called");
diff --git a/drivers/isdn/hisax/asuscom.c b/drivers/isdn/hisax/asuscom.c
index 7546e2e4a94e..a98c5e38bbbc 100644
--- a/drivers/isdn/hisax/asuscom.c
+++ b/drivers/isdn/hisax/asuscom.c
@@ -22,7 +22,7 @@
22 22
23extern const char *CardType[]; 23extern const char *CardType[];
24 24
25const char *Asuscom_revision = "$Revision: 1.14.2.4 $"; 25static const char *Asuscom_revision = "$Revision: 1.14.2.4 $";
26 26
27#define byteout(addr,val) outb(val,addr) 27#define byteout(addr,val) outb(val,addr)
28#define bytein(addr) inb(addr) 28#define bytein(addr) inb(addr)
@@ -239,7 +239,7 @@ Start_IPAC:
239 return IRQ_HANDLED; 239 return IRQ_HANDLED;
240} 240}
241 241
242void 242static void
243release_io_asuscom(struct IsdnCardState *cs) 243release_io_asuscom(struct IsdnCardState *cs)
244{ 244{
245 int bytecnt = 8; 245 int bytecnt = 8;
diff --git a/drivers/isdn/hisax/avm_pci.c b/drivers/isdn/hisax/avm_pci.c
index 6fcb2cf7b0b6..625799ab0d14 100644
--- a/drivers/isdn/hisax/avm_pci.c
+++ b/drivers/isdn/hisax/avm_pci.c
@@ -172,7 +172,7 @@ struct BCState *Sel_BCS(struct IsdnCardState *cs, int channel)
172 return(NULL); 172 return(NULL);
173} 173}
174 174
175void 175static void
176write_ctrl(struct BCState *bcs, int which) { 176write_ctrl(struct BCState *bcs, int which) {
177 177
178 if (bcs->cs->debug & L1_DEB_HSCX) 178 if (bcs->cs->debug & L1_DEB_HSCX)
@@ -193,7 +193,7 @@ write_ctrl(struct BCState *bcs, int which) {
193 } 193 }
194} 194}
195 195
196void 196static void
197modehdlc(struct BCState *bcs, int mode, int bc) 197modehdlc(struct BCState *bcs, int mode, int bc)
198{ 198{
199 struct IsdnCardState *cs = bcs->cs; 199 struct IsdnCardState *cs = bcs->cs;
@@ -451,7 +451,7 @@ HDLC_irq(struct BCState *bcs, u_int stat) {
451 } 451 }
452} 452}
453 453
454inline void 454static inline void
455HDLC_irq_main(struct IsdnCardState *cs) 455HDLC_irq_main(struct IsdnCardState *cs)
456{ 456{
457 u_int stat; 457 u_int stat;
@@ -487,7 +487,7 @@ HDLC_irq_main(struct IsdnCardState *cs)
487 } 487 }
488} 488}
489 489
490void 490static void
491hdlc_l2l1(struct PStack *st, int pr, void *arg) 491hdlc_l2l1(struct PStack *st, int pr, void *arg)
492{ 492{
493 struct BCState *bcs = st->l1.bcs; 493 struct BCState *bcs = st->l1.bcs;
@@ -547,7 +547,7 @@ hdlc_l2l1(struct PStack *st, int pr, void *arg)
547 } 547 }
548} 548}
549 549
550void 550static void
551close_hdlcstate(struct BCState *bcs) 551close_hdlcstate(struct BCState *bcs)
552{ 552{
553 modehdlc(bcs, 0, 0); 553 modehdlc(bcs, 0, 0);
@@ -570,7 +570,7 @@ close_hdlcstate(struct BCState *bcs)
570 } 570 }
571} 571}
572 572
573int 573static int
574open_hdlcstate(struct IsdnCardState *cs, struct BCState *bcs) 574open_hdlcstate(struct IsdnCardState *cs, struct BCState *bcs)
575{ 575{
576 if (!test_and_set_bit(BC_FLG_INIT, &bcs->Flag)) { 576 if (!test_and_set_bit(BC_FLG_INIT, &bcs->Flag)) {
@@ -598,7 +598,7 @@ open_hdlcstate(struct IsdnCardState *cs, struct BCState *bcs)
598 return (0); 598 return (0);
599} 599}
600 600
601int 601static int
602setstack_hdlc(struct PStack *st, struct BCState *bcs) 602setstack_hdlc(struct PStack *st, struct BCState *bcs)
603{ 603{
604 bcs->channel = st->l1.bc; 604 bcs->channel = st->l1.bc;
@@ -612,6 +612,7 @@ setstack_hdlc(struct PStack *st, struct BCState *bcs)
612 return (0); 612 return (0);
613} 613}
614 614
615#if 0
615void __init 616void __init
616clear_pending_hdlc_ints(struct IsdnCardState *cs) 617clear_pending_hdlc_ints(struct IsdnCardState *cs)
617{ 618{
@@ -641,8 +642,9 @@ clear_pending_hdlc_ints(struct IsdnCardState *cs)
641 debugl1(cs, "HDLC 2 VIN %x", val); 642 debugl1(cs, "HDLC 2 VIN %x", val);
642 } 643 }
643} 644}
645#endif /* 0 */
644 646
645void __init 647static void __init
646inithdlc(struct IsdnCardState *cs) 648inithdlc(struct IsdnCardState *cs)
647{ 649{
648 cs->bcs[0].BC_SetStack = setstack_hdlc; 650 cs->bcs[0].BC_SetStack = setstack_hdlc;
diff --git a/drivers/isdn/hisax/bkm_a4t.c b/drivers/isdn/hisax/bkm_a4t.c
index f410f628a3e2..dcb308aeb50c 100644
--- a/drivers/isdn/hisax/bkm_a4t.c
+++ b/drivers/isdn/hisax/bkm_a4t.c
@@ -23,7 +23,7 @@
23 23
24extern const char *CardType[]; 24extern const char *CardType[];
25 25
26const char *bkm_a4t_revision = "$Revision: 1.22.2.4 $"; 26static const char *bkm_a4t_revision = "$Revision: 1.22.2.4 $";
27 27
28 28
29static inline u_char 29static inline u_char
@@ -167,7 +167,7 @@ bkm_interrupt(int intno, void *dev_id, struct pt_regs *regs)
167 } 167 }
168} 168}
169 169
170void 170static void
171release_io_bkm(struct IsdnCardState *cs) 171release_io_bkm(struct IsdnCardState *cs)
172{ 172{
173 if (cs->hw.ax.base) { 173 if (cs->hw.ax.base) {
diff --git a/drivers/isdn/hisax/bkm_a8.c b/drivers/isdn/hisax/bkm_a8.c
index 94bb83ce7fd8..5f21b82c8c8d 100644
--- a/drivers/isdn/hisax/bkm_a8.c
+++ b/drivers/isdn/hisax/bkm_a8.c
@@ -27,7 +27,7 @@
27 27
28extern const char *CardType[]; 28extern const char *CardType[];
29 29
30const char sct_quadro_revision[] = "$Revision: 1.22.2.4 $"; 30static const char sct_quadro_revision[] = "$Revision: 1.22.2.4 $";
31 31
32static const char *sct_quadro_subtypes[] = 32static const char *sct_quadro_subtypes[] =
33{ 33{
@@ -193,7 +193,7 @@ bkm_interrupt_ipac(int intno, void *dev_id, struct pt_regs *regs)
193 return IRQ_HANDLED; 193 return IRQ_HANDLED;
194} 194}
195 195
196void 196static void
197release_io_sct_quadro(struct IsdnCardState *cs) 197release_io_sct_quadro(struct IsdnCardState *cs)
198{ 198{
199 release_region(cs->hw.ax.base & 0xffffffc0, 128); 199 release_region(cs->hw.ax.base & 0xffffffc0, 128);
@@ -261,7 +261,7 @@ BKM_card_msg(struct IsdnCardState *cs, int mt, void *arg)
261 return (0); 261 return (0);
262} 262}
263 263
264int __init 264static int __init
265sct_alloc_io(u_int adr, u_int len) 265sct_alloc_io(u_int adr, u_int len)
266{ 266{
267 if (!request_region(adr, len, "scitel")) { 267 if (!request_region(adr, len, "scitel")) {
diff --git a/drivers/isdn/hisax/callc.c b/drivers/isdn/hisax/callc.c
index 04065ab2610f..7c56c44f0fd1 100644
--- a/drivers/isdn/hisax/callc.c
+++ b/drivers/isdn/hisax/callc.c
@@ -874,7 +874,7 @@ release_b_st(struct Channel *chanp)
874 } 874 }
875} 875}
876 876
877struct Channel 877static struct Channel
878*selectfreechannel(struct PStack *st, int bch) 878*selectfreechannel(struct PStack *st, int bch)
879{ 879{
880 struct IsdnCardState *cs = st->l1.hardware; 880 struct IsdnCardState *cs = st->l1.hardware;
@@ -1429,7 +1429,7 @@ capi_debug(struct Channel *chanp, capi_msg *cm)
1429 HiSax_putstatus(chanp->cs, "Ch", "%d CAPIMSG %s", chanp->chan, tmpbuf); 1429 HiSax_putstatus(chanp->cs, "Ch", "%d CAPIMSG %s", chanp->chan, tmpbuf);
1430} 1430}
1431 1431
1432void 1432static void
1433lli_got_fac_req(struct Channel *chanp, capi_msg *cm) { 1433lli_got_fac_req(struct Channel *chanp, capi_msg *cm) {
1434 if ((cm->para[0] != 3) || (cm->para[1] != 0)) 1434 if ((cm->para[0] != 3) || (cm->para[1] != 0))
1435 return; 1435 return;
@@ -1454,7 +1454,7 @@ lli_got_fac_req(struct Channel *chanp, capi_msg *cm) {
1454 } 1454 }
1455} 1455}
1456 1456
1457void 1457static void
1458lli_got_manufacturer(struct Channel *chanp, struct IsdnCardState *cs, capi_msg *cm) { 1458lli_got_manufacturer(struct Channel *chanp, struct IsdnCardState *cs, capi_msg *cm) {
1459 if ((cs->typ == ISDN_CTYPE_ELSA) || (cs->typ == ISDN_CTYPE_ELSA_PNP) || 1459 if ((cs->typ == ISDN_CTYPE_ELSA) || (cs->typ == ISDN_CTYPE_ELSA_PNP) ||
1460 (cs->typ == ISDN_CTYPE_ELSA_PCI)) { 1460 (cs->typ == ISDN_CTYPE_ELSA_PCI)) {
diff --git a/drivers/isdn/hisax/config.c b/drivers/isdn/hisax/config.c
index 1663ee69d41d..c542e6fb2bde 100644
--- a/drivers/isdn/hisax/config.c
+++ b/drivers/isdn/hisax/config.c
@@ -332,7 +332,7 @@ struct IsdnCard cards[HISAX_MAX_CARDS] = {
332#define HISAX_IDSIZE (HISAX_MAX_CARDS*8) 332#define HISAX_IDSIZE (HISAX_MAX_CARDS*8)
333static char HiSaxID[HISAX_IDSIZE] = { 0, }; 333static char HiSaxID[HISAX_IDSIZE] = { 0, };
334 334
335char *HiSax_id = HiSaxID; 335static char *HiSax_id = HiSaxID;
336#ifdef MODULE 336#ifdef MODULE
337/* Variables for insmod */ 337/* Variables for insmod */
338static int type[HISAX_MAX_CARDS] = { 0, }; 338static int type[HISAX_MAX_CARDS] = { 0, };
@@ -391,7 +391,7 @@ char *HiSax_getrev(const char *revision)
391 return rev; 391 return rev;
392} 392}
393 393
394void __init HiSaxVersion(void) 394static void __init HiSaxVersion(void)
395{ 395{
396 char tmp[64]; 396 char tmp[64];
397 397
@@ -608,6 +608,7 @@ static inline struct IsdnCardState *hisax_findcard(int driverid)
608/* 608/*
609 * Find card with given card number 609 * Find card with given card number
610 */ 610 */
611#if 0
611struct IsdnCardState *hisax_get_card(int cardnr) 612struct IsdnCardState *hisax_get_card(int cardnr)
612{ 613{
613 if ((cardnr <= nrcards) && (cardnr > 0)) 614 if ((cardnr <= nrcards) && (cardnr > 0))
@@ -615,8 +616,9 @@ struct IsdnCardState *hisax_get_card(int cardnr)
615 return cards[cardnr - 1].cs; 616 return cards[cardnr - 1].cs;
616 return NULL; 617 return NULL;
617} 618}
619#endif /* 0 */
618 620
619int HiSax_readstatus(u_char __user *buf, int len, int id, int channel) 621static int HiSax_readstatus(u_char __user *buf, int len, int id, int channel)
620{ 622{
621 int count, cnt; 623 int count, cnt;
622 u_char __user *p = buf; 624 u_char __user *p = buf;
@@ -768,7 +770,7 @@ int ll_run(struct IsdnCardState *cs, int addfeatures)
768 return 0; 770 return 0;
769} 771}
770 772
771void ll_stop(struct IsdnCardState *cs) 773static void ll_stop(struct IsdnCardState *cs)
772{ 774{
773 isdn_ctrl ic; 775 isdn_ctrl ic;
774 776
@@ -1184,7 +1186,7 @@ static int checkcard(int cardnr, char *id, int *busy_flag, struct module *lockow
1184 return ret; 1186 return ret;
1185} 1187}
1186 1188
1187void HiSax_shiftcards(int idx) 1189static void HiSax_shiftcards(int idx)
1188{ 1190{
1189 int i; 1191 int i;
1190 1192
@@ -1192,7 +1194,7 @@ void HiSax_shiftcards(int idx)
1192 memcpy(&cards[i], &cards[i + 1], sizeof(cards[i])); 1194 memcpy(&cards[i], &cards[i + 1], sizeof(cards[i]));
1193} 1195}
1194 1196
1195int HiSax_inithardware(int *busy_flag) 1197static int HiSax_inithardware(int *busy_flag)
1196{ 1198{
1197 int foundcards = 0; 1199 int foundcards = 0;
1198 int i = 0; 1200 int i = 0;
diff --git a/drivers/isdn/hisax/diva.c b/drivers/isdn/hisax/diva.c
index 394d481e093f..b62d6b30b72b 100644
--- a/drivers/isdn/hisax/diva.c
+++ b/drivers/isdn/hisax/diva.c
@@ -28,7 +28,7 @@
28 28
29extern const char *CardType[]; 29extern const char *CardType[];
30 30
31const char *Diva_revision = "$Revision: 1.33.2.6 $"; 31static const char *Diva_revision = "$Revision: 1.33.2.6 $";
32 32
33#define byteout(addr,val) outb(val,addr) 33#define byteout(addr,val) outb(val,addr)
34#define bytein(addr) inb(addr) 34#define bytein(addr) inb(addr)
@@ -706,7 +706,7 @@ diva_irq_ipacx_pci(int intno, void *dev_id, struct pt_regs *regs)
706 return IRQ_HANDLED; 706 return IRQ_HANDLED;
707} 707}
708 708
709void 709static void
710release_io_diva(struct IsdnCardState *cs) 710release_io_diva(struct IsdnCardState *cs)
711{ 711{
712 int bytecnt; 712 int bytecnt;
diff --git a/drivers/isdn/hisax/elsa.c b/drivers/isdn/hisax/elsa.c
index 4d7a0250d7e2..110e9fd669c5 100644
--- a/drivers/isdn/hisax/elsa.c
+++ b/drivers/isdn/hisax/elsa.c
@@ -33,13 +33,13 @@
33 33
34extern const char *CardType[]; 34extern const char *CardType[];
35 35
36const char *Elsa_revision = "$Revision: 2.32.2.4 $"; 36static const char *Elsa_revision = "$Revision: 2.32.2.4 $";
37const char *Elsa_Types[] = 37static const char *Elsa_Types[] =
38{"None", "PC", "PCC-8", "PCC-16", "PCF", "PCF-Pro", 38{"None", "PC", "PCC-8", "PCC-16", "PCF", "PCF-Pro",
39 "PCMCIA", "QS 1000", "QS 3000", "Microlink PCI", "QS 3000 PCI", 39 "PCMCIA", "QS 1000", "QS 3000", "Microlink PCI", "QS 3000 PCI",
40 "PCMCIA-IPAC" }; 40 "PCMCIA-IPAC" };
41 41
42const char *ITACVer[] = 42static const char *ITACVer[] =
43{"?0?", "?1?", "?2?", "?3?", "?4?", "V2.2", 43{"?0?", "?1?", "?2?", "?3?", "?4?", "V2.2",
44 "B1", "A1"}; 44 "B1", "A1"};
45 45
@@ -425,7 +425,7 @@ Start_IPAC:
425 return IRQ_HANDLED; 425 return IRQ_HANDLED;
426} 426}
427 427
428void 428static void
429release_io_elsa(struct IsdnCardState *cs) 429release_io_elsa(struct IsdnCardState *cs)
430{ 430{
431 int bytecnt = 8; 431 int bytecnt = 8;
diff --git a/drivers/isdn/hisax/elsa_ser.c b/drivers/isdn/hisax/elsa_ser.c
index 689c83395693..898ec0916195 100644
--- a/drivers/isdn/hisax/elsa_ser.c
+++ b/drivers/isdn/hisax/elsa_ser.c
@@ -237,7 +237,7 @@ static void mshutdown(struct IsdnCardState *cs)
237#endif 237#endif
238} 238}
239 239
240inline int 240static inline int
241write_modem(struct BCState *bcs) { 241write_modem(struct BCState *bcs) {
242 int ret=0; 242 int ret=0;
243 struct IsdnCardState *cs = bcs->cs; 243 struct IsdnCardState *cs = bcs->cs;
@@ -275,7 +275,7 @@ write_modem(struct BCState *bcs) {
275 return(ret); 275 return(ret);
276} 276}
277 277
278inline void 278static inline void
279modem_fill(struct BCState *bcs) { 279modem_fill(struct BCState *bcs) {
280 280
281 if (bcs->tx_skb) { 281 if (bcs->tx_skb) {
@@ -422,7 +422,7 @@ extern int open_hscxstate(struct IsdnCardState *cs, struct BCState *bcs);
422extern void modehscx(struct BCState *bcs, int mode, int bc); 422extern void modehscx(struct BCState *bcs, int mode, int bc);
423extern void hscx_l2l1(struct PStack *st, int pr, void *arg); 423extern void hscx_l2l1(struct PStack *st, int pr, void *arg);
424 424
425void 425static void
426close_elsastate(struct BCState *bcs) 426close_elsastate(struct BCState *bcs)
427{ 427{
428 modehscx(bcs, 0, bcs->channel); 428 modehscx(bcs, 0, bcs->channel);
@@ -442,7 +442,7 @@ close_elsastate(struct BCState *bcs)
442 } 442 }
443} 443}
444 444
445void 445static void
446modem_write_cmd(struct IsdnCardState *cs, u_char *buf, int len) { 446modem_write_cmd(struct IsdnCardState *cs, u_char *buf, int len) {
447 int count, fp; 447 int count, fp;
448 u_char *msg = buf; 448 u_char *msg = buf;
@@ -472,7 +472,7 @@ modem_write_cmd(struct IsdnCardState *cs, u_char *buf, int len) {
472 } 472 }
473} 473}
474 474
475void 475static void
476modem_set_init(struct IsdnCardState *cs) { 476modem_set_init(struct IsdnCardState *cs) {
477 int timeout; 477 int timeout;
478 478
@@ -521,7 +521,7 @@ modem_set_init(struct IsdnCardState *cs) {
521 udelay(RCV_DELAY); 521 udelay(RCV_DELAY);
522} 522}
523 523
524void 524static void
525modem_set_dial(struct IsdnCardState *cs, int outgoing) { 525modem_set_dial(struct IsdnCardState *cs, int outgoing) {
526 int timeout; 526 int timeout;
527#define RCV_DELAY 20000 527#define RCV_DELAY 20000
@@ -543,7 +543,7 @@ modem_set_dial(struct IsdnCardState *cs, int outgoing) {
543 udelay(RCV_DELAY); 543 udelay(RCV_DELAY);
544} 544}
545 545
546void 546static void
547modem_l2l1(struct PStack *st, int pr, void *arg) 547modem_l2l1(struct PStack *st, int pr, void *arg)
548{ 548{
549 struct BCState *bcs = st->l1.bcs; 549 struct BCState *bcs = st->l1.bcs;
@@ -579,7 +579,7 @@ modem_l2l1(struct PStack *st, int pr, void *arg)
579 } 579 }
580} 580}
581 581
582int 582static int
583setstack_elsa(struct PStack *st, struct BCState *bcs) 583setstack_elsa(struct PStack *st, struct BCState *bcs)
584{ 584{
585 585
@@ -614,7 +614,7 @@ setstack_elsa(struct PStack *st, struct BCState *bcs)
614 return (0); 614 return (0);
615} 615}
616 616
617void 617static void
618init_modem(struct IsdnCardState *cs) { 618init_modem(struct IsdnCardState *cs) {
619 619
620 cs->bcs[0].BC_SetStack = setstack_elsa; 620 cs->bcs[0].BC_SetStack = setstack_elsa;
@@ -641,7 +641,7 @@ init_modem(struct IsdnCardState *cs) {
641 modem_set_init(cs); 641 modem_set_init(cs);
642} 642}
643 643
644void 644static void
645release_modem(struct IsdnCardState *cs) { 645release_modem(struct IsdnCardState *cs) {
646 646
647 cs->hw.elsa.MFlag = 0; 647 cs->hw.elsa.MFlag = 0;
diff --git a/drivers/isdn/hisax/enternow.h b/drivers/isdn/hisax/enternow.h
deleted file mode 100644
index ed2eec5874c5..000000000000
--- a/drivers/isdn/hisax/enternow.h
+++ /dev/null
@@ -1,51 +0,0 @@
1/* 2001/10/02
2 *
3 * enternow.h Header-file included by
4 * enternow_pci.c
5 *
6 * Author Christoph Ersfeld <info@formula-n.de>
7 * Formula-n Europe AG (www.formula-n.com)
8 * previously Gerdes AG
9 *
10 *
11 * This file is (c) under GNU PUBLIC LICENSE
12 */
13
14
15/* ***************************************************************************************** *
16 * ****************************** datatypes and macros ************************************* *
17 * ***************************************************************************************** */
18
19#define BYTE unsigned char
20#define WORD unsigned int
21#define HIBYTE(w) ((unsigned char)((w & 0xff00) / 256))
22#define LOBYTE(w) ((unsigned char)(w & 0x00ff))
23#define InByte(addr) inb(addr)
24#define OutByte(addr,val) outb(val,addr)
25
26
27
28/* ***************************************************************************************** *
29 * *********************************** card-specific *************************************** *
30 * ***************************************************************************************** */
31
32/* für PowerISDN PCI */
33#define TJ_AMD_IRQ 0x20
34#define TJ_LED1 0x40
35#define TJ_LED2 0x80
36
37
38/* Das Fenster zum AMD...
39 * Ab Adresse hw.njet.base + TJ_AMD_PORT werden vom AMD jeweils 8 Bit in
40 * den TigerJet i/o-Raum gemappt
41 * -> 0x01 des AMD bei hw.njet.base + 0C4 */
42#define TJ_AMD_PORT 0xC0
43
44
45
46/* ***************************************************************************************** *
47 * *************************************** Prototypen ************************************** *
48 * ***************************************************************************************** */
49
50BYTE ReadByteAmd7930(struct IsdnCardState *cs, BYTE offset);
51void WriteByteAmd7930(struct IsdnCardState *cs, BYTE offset, BYTE value);
diff --git a/drivers/isdn/hisax/enternow_pci.c b/drivers/isdn/hisax/enternow_pci.c
index 1cc4d11e007a..3341cf155531 100644
--- a/drivers/isdn/hisax/enternow_pci.c
+++ b/drivers/isdn/hisax/enternow_pci.c
@@ -65,7 +65,6 @@
65#include "isac.h" 65#include "isac.h"
66#include "isdnl1.h" 66#include "isdnl1.h"
67#include "amd7930_fn.h" 67#include "amd7930_fn.h"
68#include "enternow.h"
69#include <linux/interrupt.h> 68#include <linux/interrupt.h>
70#include <linux/ppp_defs.h> 69#include <linux/ppp_defs.h>
71#include <linux/pci.h> 70#include <linux/pci.h>
@@ -74,58 +73,72 @@
74 73
75 74
76 75
77const char *enternow_pci_rev = "$Revision: 1.1.4.5 $"; 76static const char *enternow_pci_rev = "$Revision: 1.1.4.5 $";
77
78
79/* für PowerISDN PCI */
80#define TJ_AMD_IRQ 0x20
81#define TJ_LED1 0x40
82#define TJ_LED2 0x80
83
84
85/* Das Fenster zum AMD...
86 * Ab Adresse hw.njet.base + TJ_AMD_PORT werden vom AMD jeweils 8 Bit in
87 * den TigerJet i/o-Raum gemappt
88 * -> 0x01 des AMD bei hw.njet.base + 0C4 */
89#define TJ_AMD_PORT 0xC0
90
78 91
79 92
80/* *************************** I/O-Interface functions ************************************* */ 93/* *************************** I/O-Interface functions ************************************* */
81 94
82 95
83/* cs->readisac, macro rByteAMD */ 96/* cs->readisac, macro rByteAMD */
84BYTE 97static unsigned char
85ReadByteAmd7930(struct IsdnCardState *cs, BYTE offset) 98ReadByteAmd7930(struct IsdnCardState *cs, unsigned char offset)
86{ 99{
87 /* direktes Register */ 100 /* direktes Register */
88 if(offset < 8) 101 if(offset < 8)
89 return (InByte(cs->hw.njet.isac + 4*offset)); 102 return (inb(cs->hw.njet.isac + 4*offset));
90 103
91 /* indirektes Register */ 104 /* indirektes Register */
92 else { 105 else {
93 OutByte(cs->hw.njet.isac + 4*AMD_CR, offset); 106 outb(offset, cs->hw.njet.isac + 4*AMD_CR);
94 return(InByte(cs->hw.njet.isac + 4*AMD_DR)); 107 return(inb(cs->hw.njet.isac + 4*AMD_DR));
95 } 108 }
96} 109}
97 110
98/* cs->writeisac, macro wByteAMD */ 111/* cs->writeisac, macro wByteAMD */
99void 112static void
100WriteByteAmd7930(struct IsdnCardState *cs, BYTE offset, BYTE value) 113WriteByteAmd7930(struct IsdnCardState *cs, unsigned char offset, unsigned char value)
101{ 114{
102 /* direktes Register */ 115 /* direktes Register */
103 if(offset < 8) 116 if(offset < 8)
104 OutByte(cs->hw.njet.isac + 4*offset, value); 117 outb(value, cs->hw.njet.isac + 4*offset);
105 118
106 /* indirektes Register */ 119 /* indirektes Register */
107 else { 120 else {
108 OutByte(cs->hw.njet.isac + 4*AMD_CR, offset); 121 outb(offset, cs->hw.njet.isac + 4*AMD_CR);
109 OutByte(cs->hw.njet.isac + 4*AMD_DR, value); 122 outb(value, cs->hw.njet.isac + 4*AMD_DR);
110 } 123 }
111} 124}
112 125
113 126
114void 127static void
115enpci_setIrqMask(struct IsdnCardState *cs, BYTE val) { 128enpci_setIrqMask(struct IsdnCardState *cs, unsigned char val) {
116 if (!val) 129 if (!val)
117 OutByte(cs->hw.njet.base+NETJET_IRQMASK1, 0x00); 130 outb(0x00, cs->hw.njet.base+NETJET_IRQMASK1);
118 else 131 else
119 OutByte(cs->hw.njet.base+NETJET_IRQMASK1, TJ_AMD_IRQ); 132 outb(TJ_AMD_IRQ, cs->hw.njet.base+NETJET_IRQMASK1);
120} 133}
121 134
122 135
123static BYTE dummyrr(struct IsdnCardState *cs, int chan, BYTE off) 136static unsigned char dummyrr(struct IsdnCardState *cs, int chan, unsigned char off)
124{ 137{
125 return(5); 138 return(5);
126} 139}
127 140
128static void dummywr(struct IsdnCardState *cs, int chan, BYTE off, BYTE value) 141static void dummywr(struct IsdnCardState *cs, int chan, unsigned char off, unsigned char value)
129{ 142{
130 143
131} 144}
@@ -142,18 +155,18 @@ reset_enpci(struct IsdnCardState *cs)
142 155
143 /* Reset on, (also for AMD) */ 156 /* Reset on, (also for AMD) */
144 cs->hw.njet.ctrl_reg = 0x07; 157 cs->hw.njet.ctrl_reg = 0x07;
145 OutByte(cs->hw.njet.base + NETJET_CTRL, cs->hw.njet.ctrl_reg); 158 outb(cs->hw.njet.ctrl_reg, cs->hw.njet.base + NETJET_CTRL);
146 mdelay(20); 159 mdelay(20);
147 /* Reset off */ 160 /* Reset off */
148 cs->hw.njet.ctrl_reg = 0x30; 161 cs->hw.njet.ctrl_reg = 0x30;
149 OutByte(cs->hw.njet.base + NETJET_CTRL, cs->hw.njet.ctrl_reg); 162 outb(cs->hw.njet.ctrl_reg, cs->hw.njet.base + NETJET_CTRL);
150 /* 20ms delay */ 163 /* 20ms delay */
151 mdelay(20); 164 mdelay(20);
152 cs->hw.njet.auxd = 0; // LED-status 165 cs->hw.njet.auxd = 0; // LED-status
153 cs->hw.njet.dmactrl = 0; 166 cs->hw.njet.dmactrl = 0;
154 OutByte(cs->hw.njet.base + NETJET_AUXCTRL, ~TJ_AMD_IRQ); 167 outb(~TJ_AMD_IRQ, cs->hw.njet.base + NETJET_AUXCTRL);
155 OutByte(cs->hw.njet.base + NETJET_IRQMASK1, TJ_AMD_IRQ); 168 outb(TJ_AMD_IRQ, cs->hw.njet.base + NETJET_IRQMASK1);
156 OutByte(cs->hw.njet.auxa, cs->hw.njet.auxd); // LED off 169 outb(cs->hw.njet.auxd, cs->hw.njet.auxa); // LED off
157} 170}
158 171
159 172
@@ -161,7 +174,7 @@ static int
161enpci_card_msg(struct IsdnCardState *cs, int mt, void *arg) 174enpci_card_msg(struct IsdnCardState *cs, int mt, void *arg)
162{ 175{
163 u_long flags; 176 u_long flags;
164 BYTE *chan; 177 unsigned char *chan;
165 178
166 if (cs->debug & L1_DEB_ISAC) 179 if (cs->debug & L1_DEB_ISAC)
167 debugl1(cs, "enter:now PCI: card_msg: 0x%04X", mt); 180 debugl1(cs, "enter:now PCI: card_msg: 0x%04X", mt);
@@ -187,16 +200,16 @@ enpci_card_msg(struct IsdnCardState *cs, int mt, void *arg)
187 case MDL_ASSIGN: 200 case MDL_ASSIGN:
188 /* TEI assigned, LED1 on */ 201 /* TEI assigned, LED1 on */
189 cs->hw.njet.auxd = TJ_AMD_IRQ << 1; 202 cs->hw.njet.auxd = TJ_AMD_IRQ << 1;
190 OutByte(cs->hw.njet.base + NETJET_AUXDATA, cs->hw.njet.auxd); 203 outb(cs->hw.njet.auxd, cs->hw.njet.base + NETJET_AUXDATA);
191 break; 204 break;
192 case MDL_REMOVE: 205 case MDL_REMOVE:
193 /* TEI removed, LEDs off */ 206 /* TEI removed, LEDs off */
194 cs->hw.njet.auxd = 0; 207 cs->hw.njet.auxd = 0;
195 OutByte(cs->hw.njet.base + NETJET_AUXDATA, 0x00); 208 outb(0x00, cs->hw.njet.base + NETJET_AUXDATA);
196 break; 209 break;
197 case MDL_BC_ASSIGN: 210 case MDL_BC_ASSIGN:
198 /* activate B-channel */ 211 /* activate B-channel */
199 chan = (BYTE *)arg; 212 chan = (unsigned char *)arg;
200 213
201 if (cs->debug & L1_DEB_ISAC) 214 if (cs->debug & L1_DEB_ISAC)
202 debugl1(cs, "enter:now PCI: assign phys. BC %d in AMD LMR1", *chan); 215 debugl1(cs, "enter:now PCI: assign phys. BC %d in AMD LMR1", *chan);
@@ -204,11 +217,11 @@ enpci_card_msg(struct IsdnCardState *cs, int mt, void *arg)
204 cs->dc.amd7930.ph_command(cs, (cs->dc.amd7930.lmr1 | (*chan + 1)), "MDL_BC_ASSIGN"); 217 cs->dc.amd7930.ph_command(cs, (cs->dc.amd7930.lmr1 | (*chan + 1)), "MDL_BC_ASSIGN");
205 /* at least one b-channel in use, LED 2 on */ 218 /* at least one b-channel in use, LED 2 on */
206 cs->hw.njet.auxd |= TJ_AMD_IRQ << 2; 219 cs->hw.njet.auxd |= TJ_AMD_IRQ << 2;
207 OutByte(cs->hw.njet.base + NETJET_AUXDATA, cs->hw.njet.auxd); 220 outb(cs->hw.njet.auxd, cs->hw.njet.base + NETJET_AUXDATA);
208 break; 221 break;
209 case MDL_BC_RELEASE: 222 case MDL_BC_RELEASE:
210 /* deactivate B-channel */ 223 /* deactivate B-channel */
211 chan = (BYTE *)arg; 224 chan = (unsigned char *)arg;
212 225
213 if (cs->debug & L1_DEB_ISAC) 226 if (cs->debug & L1_DEB_ISAC)
214 debugl1(cs, "enter:now PCI: release phys. BC %d in Amd LMR1", *chan); 227 debugl1(cs, "enter:now PCI: release phys. BC %d in Amd LMR1", *chan);
@@ -217,7 +230,7 @@ enpci_card_msg(struct IsdnCardState *cs, int mt, void *arg)
217 /* no b-channel active -> LED2 off */ 230 /* no b-channel active -> LED2 off */
218 if (!(cs->dc.amd7930.lmr1 & 3)) { 231 if (!(cs->dc.amd7930.lmr1 & 3)) {
219 cs->hw.njet.auxd &= ~(TJ_AMD_IRQ << 2); 232 cs->hw.njet.auxd &= ~(TJ_AMD_IRQ << 2);
220 OutByte(cs->hw.njet.base + NETJET_AUXDATA, cs->hw.njet.auxd); 233 outb(cs->hw.njet.auxd, cs->hw.njet.base + NETJET_AUXDATA);
221 } 234 }
222 break; 235 break;
223 default: 236 default:
@@ -231,11 +244,11 @@ static irqreturn_t
231enpci_interrupt(int intno, void *dev_id, struct pt_regs *regs) 244enpci_interrupt(int intno, void *dev_id, struct pt_regs *regs)
232{ 245{
233 struct IsdnCardState *cs = dev_id; 246 struct IsdnCardState *cs = dev_id;
234 BYTE s0val, s1val, ir; 247 unsigned char s0val, s1val, ir;
235 u_long flags; 248 u_long flags;
236 249
237 spin_lock_irqsave(&cs->lock, flags); 250 spin_lock_irqsave(&cs->lock, flags);
238 s1val = InByte(cs->hw.njet.base + NETJET_IRQSTAT1); 251 s1val = inb(cs->hw.njet.base + NETJET_IRQSTAT1);
239 252
240 /* AMD threw an interrupt */ 253 /* AMD threw an interrupt */
241 if (!(s1val & TJ_AMD_IRQ)) { 254 if (!(s1val & TJ_AMD_IRQ)) {
@@ -245,13 +258,13 @@ enpci_interrupt(int intno, void *dev_id, struct pt_regs *regs)
245 s1val = 1; 258 s1val = 1;
246 } else 259 } else
247 s1val = 0; 260 s1val = 0;
248 s0val = InByte(cs->hw.njet.base + NETJET_IRQSTAT0); 261 s0val = inb(cs->hw.njet.base + NETJET_IRQSTAT0);
249 if ((s0val | s1val)==0) { // shared IRQ 262 if ((s0val | s1val)==0) { // shared IRQ
250 spin_unlock_irqrestore(&cs->lock, flags); 263 spin_unlock_irqrestore(&cs->lock, flags);
251 return IRQ_NONE; 264 return IRQ_NONE;
252 } 265 }
253 if (s0val) 266 if (s0val)
254 OutByte(cs->hw.njet.base + NETJET_IRQSTAT0, s0val); 267 outb(s0val, cs->hw.njet.base + NETJET_IRQSTAT0);
255 268
256 /* DMA-Interrupt: B-channel-stuff */ 269 /* DMA-Interrupt: B-channel-stuff */
257 /* set bits in sval to indicate which page is free */ 270 /* set bits in sval to indicate which page is free */
@@ -342,20 +355,20 @@ setup_enternow_pci(struct IsdnCard *card)
342 355
343 /* Reset an */ 356 /* Reset an */
344 cs->hw.njet.ctrl_reg = 0x07; // geändert von 0xff 357 cs->hw.njet.ctrl_reg = 0x07; // geändert von 0xff
345 OutByte(cs->hw.njet.base + NETJET_CTRL, cs->hw.njet.ctrl_reg); 358 outb(cs->hw.njet.ctrl_reg, cs->hw.njet.base + NETJET_CTRL);
346 /* 20 ms Pause */ 359 /* 20 ms Pause */
347 mdelay(20); 360 mdelay(20);
348 361
349 cs->hw.njet.ctrl_reg = 0x30; /* Reset Off and status read clear */ 362 cs->hw.njet.ctrl_reg = 0x30; /* Reset Off and status read clear */
350 OutByte(cs->hw.njet.base + NETJET_CTRL, cs->hw.njet.ctrl_reg); 363 outb(cs->hw.njet.ctrl_reg, cs->hw.njet.base + NETJET_CTRL);
351 mdelay(10); 364 mdelay(10);
352 365
353 cs->hw.njet.auxd = 0x00; // war 0xc0 366 cs->hw.njet.auxd = 0x00; // war 0xc0
354 cs->hw.njet.dmactrl = 0; 367 cs->hw.njet.dmactrl = 0;
355 368
356 OutByte(cs->hw.njet.base + NETJET_AUXCTRL, ~TJ_AMD_IRQ); 369 outb(~TJ_AMD_IRQ, cs->hw.njet.base + NETJET_AUXCTRL);
357 OutByte(cs->hw.njet.base + NETJET_IRQMASK1, TJ_AMD_IRQ); 370 outb(TJ_AMD_IRQ, cs->hw.njet.base + NETJET_IRQMASK1);
358 OutByte(cs->hw.njet.auxa, cs->hw.njet.auxd); 371 outb(cs->hw.njet.auxd, cs->hw.njet.auxa);
359 372
360 break; 373 break;
361 } 374 }
diff --git a/drivers/isdn/hisax/gazel.c b/drivers/isdn/hisax/gazel.c
index 24a05a43f33e..352b45ac5347 100644
--- a/drivers/isdn/hisax/gazel.c
+++ b/drivers/isdn/hisax/gazel.c
@@ -21,7 +21,7 @@
21#include <linux/pci.h> 21#include <linux/pci.h>
22 22
23extern const char *CardType[]; 23extern const char *CardType[];
24const char *gazel_revision = "$Revision: 2.19.2.4 $"; 24static const char *gazel_revision = "$Revision: 2.19.2.4 $";
25 25
26#define R647 1 26#define R647 1
27#define R685 2 27#define R685 2
@@ -317,7 +317,8 @@ gazel_interrupt_ipac(int intno, void *dev_id, struct pt_regs *regs)
317 spin_unlock_irqrestore(&cs->lock, flags); 317 spin_unlock_irqrestore(&cs->lock, flags);
318 return IRQ_HANDLED; 318 return IRQ_HANDLED;
319} 319}
320void 320
321static void
321release_io_gazel(struct IsdnCardState *cs) 322release_io_gazel(struct IsdnCardState *cs)
322{ 323{
323 unsigned int i; 324 unsigned int i;
diff --git a/drivers/isdn/hisax/hfc4s8s_l1.c b/drivers/isdn/hisax/hfc4s8s_l1.c
index ba1d028343ec..6e7e060716b7 100644
--- a/drivers/isdn/hisax/hfc4s8s_l1.c
+++ b/drivers/isdn/hisax/hfc4s8s_l1.c
@@ -1358,7 +1358,7 @@ chipreset(hfc4s8s_hw * hw)
1358/********************************************/ 1358/********************************************/
1359/* disable/enable hardware in nt or te mode */ 1359/* disable/enable hardware in nt or te mode */
1360/********************************************/ 1360/********************************************/
1361void 1361static void
1362hfc_hardware_enable(hfc4s8s_hw * hw, int enable, int nt_mode) 1362hfc_hardware_enable(hfc4s8s_hw * hw, int enable, int nt_mode)
1363{ 1363{
1364 u_long flags; 1364 u_long flags;
diff --git a/drivers/isdn/hisax/hfc_2bds0.c b/drivers/isdn/hisax/hfc_2bds0.c
index ebea3feef003..7cf87793e790 100644
--- a/drivers/isdn/hisax/hfc_2bds0.c
+++ b/drivers/isdn/hisax/hfc_2bds0.c
@@ -345,7 +345,7 @@ hfc_send_data(struct BCState *bcs)
345 debugl1(cs,"send_data %d blocked", bcs->channel); 345 debugl1(cs,"send_data %d blocked", bcs->channel);
346} 346}
347 347
348void 348static void
349main_rec_2bds0(struct BCState *bcs) 349main_rec_2bds0(struct BCState *bcs)
350{ 350{
351 struct IsdnCardState *cs = bcs->cs; 351 struct IsdnCardState *cs = bcs->cs;
@@ -399,7 +399,7 @@ main_rec_2bds0(struct BCState *bcs)
399 return; 399 return;
400} 400}
401 401
402void 402static void
403mode_2bs0(struct BCState *bcs, int mode, int bc) 403mode_2bs0(struct BCState *bcs, int mode, int bc)
404{ 404{
405 struct IsdnCardState *cs = bcs->cs; 405 struct IsdnCardState *cs = bcs->cs;
@@ -505,7 +505,7 @@ hfc_l2l1(struct PStack *st, int pr, void *arg)
505 } 505 }
506} 506}
507 507
508void 508static void
509close_2bs0(struct BCState *bcs) 509close_2bs0(struct BCState *bcs)
510{ 510{
511 mode_2bs0(bcs, 0, bcs->channel); 511 mode_2bs0(bcs, 0, bcs->channel);
@@ -534,7 +534,7 @@ open_hfcstate(struct IsdnCardState *cs, struct BCState *bcs)
534 return (0); 534 return (0);
535} 535}
536 536
537int 537static int
538setstack_2b(struct PStack *st, struct BCState *bcs) 538setstack_2b(struct PStack *st, struct BCState *bcs)
539{ 539{
540 bcs->channel = st->l1.bc; 540 bcs->channel = st->l1.bc;
@@ -1004,7 +1004,7 @@ HFCD_l1hw(struct PStack *st, int pr, void *arg)
1004 } 1004 }
1005} 1005}
1006 1006
1007void 1007static void
1008setstack_hfcd(struct PStack *st, struct IsdnCardState *cs) 1008setstack_hfcd(struct PStack *st, struct IsdnCardState *cs)
1009{ 1009{
1010 st->l1.l1hw = HFCD_l1hw; 1010 st->l1.l1hw = HFCD_l1hw;
@@ -1015,7 +1015,7 @@ hfc_dbusy_timer(struct IsdnCardState *cs)
1015{ 1015{
1016} 1016}
1017 1017
1018unsigned int __init 1018static unsigned int __init
1019*init_send_hfcd(int cnt) 1019*init_send_hfcd(int cnt)
1020{ 1020{
1021 int i, *send; 1021 int i, *send;
diff --git a/drivers/isdn/hisax/hfc_2bs0.c b/drivers/isdn/hisax/hfc_2bs0.c
index bb376f39ac89..f978a5af8662 100644
--- a/drivers/isdn/hisax/hfc_2bs0.c
+++ b/drivers/isdn/hisax/hfc_2bs0.c
@@ -52,7 +52,7 @@ WaitNoBusy(struct IsdnCardState *cs)
52 return (to); 52 return (to);
53} 53}
54 54
55int 55static int
56GetFreeFifoBytes(struct BCState *bcs) 56GetFreeFifoBytes(struct BCState *bcs)
57{ 57{
58 int s; 58 int s;
@@ -66,7 +66,7 @@ GetFreeFifoBytes(struct BCState *bcs)
66 return (s); 66 return (s);
67} 67}
68 68
69int 69static int
70ReadZReg(struct BCState *bcs, u_char reg) 70ReadZReg(struct BCState *bcs, u_char reg)
71{ 71{
72 int val; 72 int val;
@@ -394,7 +394,7 @@ main_irq_hfc(struct BCState *bcs)
394 return; 394 return;
395} 395}
396 396
397void 397static void
398mode_hfc(struct BCState *bcs, int mode, int bc) 398mode_hfc(struct BCState *bcs, int mode, int bc)
399{ 399{
400 struct IsdnCardState *cs = bcs->cs; 400 struct IsdnCardState *cs = bcs->cs;
@@ -507,7 +507,7 @@ hfc_l2l1(struct PStack *st, int pr, void *arg)
507} 507}
508 508
509 509
510void 510static void
511close_hfcstate(struct BCState *bcs) 511close_hfcstate(struct BCState *bcs)
512{ 512{
513 mode_hfc(bcs, 0, bcs->channel); 513 mode_hfc(bcs, 0, bcs->channel);
@@ -537,7 +537,7 @@ open_hfcstate(struct IsdnCardState *cs, struct BCState *bcs)
537 return (0); 537 return (0);
538} 538}
539 539
540int 540static int
541setstack_hfc(struct PStack *st, struct BCState *bcs) 541setstack_hfc(struct PStack *st, struct BCState *bcs)
542{ 542{
543 bcs->channel = st->l1.bc; 543 bcs->channel = st->l1.bc;
@@ -551,7 +551,7 @@ setstack_hfc(struct PStack *st, struct BCState *bcs)
551 return (0); 551 return (0);
552} 552}
553 553
554void __init 554static void __init
555init_send(struct BCState *bcs) 555init_send(struct BCState *bcs)
556{ 556{
557 int i; 557 int i;
diff --git a/drivers/isdn/hisax/hfc_pci.c b/drivers/isdn/hisax/hfc_pci.c
index c2db52696a86..8337b0f26cc4 100644
--- a/drivers/isdn/hisax/hfc_pci.c
+++ b/drivers/isdn/hisax/hfc_pci.c
@@ -70,7 +70,7 @@ static const PCI_ENTRY id_list[] =
70/******************************************/ 70/******************************************/
71/* free hardware resources used by driver */ 71/* free hardware resources used by driver */
72/******************************************/ 72/******************************************/
73void 73static void
74release_io_hfcpci(struct IsdnCardState *cs) 74release_io_hfcpci(struct IsdnCardState *cs)
75{ 75{
76 printk(KERN_INFO "HiSax: release hfcpci at %p\n", 76 printk(KERN_INFO "HiSax: release hfcpci at %p\n",
@@ -394,7 +394,7 @@ receive_dmsg(struct IsdnCardState *cs)
394/*******************************************************************************/ 394/*******************************************************************************/
395/* check for transparent receive data and read max one threshold size if avail */ 395/* check for transparent receive data and read max one threshold size if avail */
396/*******************************************************************************/ 396/*******************************************************************************/
397int 397static int
398hfcpci_empty_fifo_trans(struct BCState *bcs, bzfifo_type * bz, u_char * bdata) 398hfcpci_empty_fifo_trans(struct BCState *bcs, bzfifo_type * bz, u_char * bdata)
399{ 399{
400 unsigned short *z1r, *z2r; 400 unsigned short *z1r, *z2r;
@@ -446,7 +446,7 @@ hfcpci_empty_fifo_trans(struct BCState *bcs, bzfifo_type * bz, u_char * bdata)
446/**********************************/ 446/**********************************/
447/* B-channel main receive routine */ 447/* B-channel main receive routine */
448/**********************************/ 448/**********************************/
449void 449static void
450main_rec_hfcpci(struct BCState *bcs) 450main_rec_hfcpci(struct BCState *bcs)
451{ 451{
452 struct IsdnCardState *cs = bcs->cs; 452 struct IsdnCardState *cs = bcs->cs;
@@ -1244,7 +1244,7 @@ HFCPCI_l1hw(struct PStack *st, int pr, void *arg)
1244/***********************************************/ 1244/***********************************************/
1245/* called during init setting l1 stack pointer */ 1245/* called during init setting l1 stack pointer */
1246/***********************************************/ 1246/***********************************************/
1247void 1247static void
1248setstack_hfcpci(struct PStack *st, struct IsdnCardState *cs) 1248setstack_hfcpci(struct PStack *st, struct IsdnCardState *cs)
1249{ 1249{
1250 st->l1.l1hw = HFCPCI_l1hw; 1250 st->l1.l1hw = HFCPCI_l1hw;
@@ -1268,7 +1268,7 @@ hfcpci_send_data(struct BCState *bcs)
1268/***************************************************************/ 1268/***************************************************************/
1269/* activate/deactivate hardware for selected channels and mode */ 1269/* activate/deactivate hardware for selected channels and mode */
1270/***************************************************************/ 1270/***************************************************************/
1271void 1271static void
1272mode_hfcpci(struct BCState *bcs, int mode, int bc) 1272mode_hfcpci(struct BCState *bcs, int mode, int bc)
1273{ 1273{
1274 struct IsdnCardState *cs = bcs->cs; 1274 struct IsdnCardState *cs = bcs->cs;
@@ -1579,7 +1579,7 @@ hfcpci_bh(struct IsdnCardState *cs)
1579/********************************/ 1579/********************************/
1580/* called for card init message */ 1580/* called for card init message */
1581/********************************/ 1581/********************************/
1582void __init 1582static void __init
1583inithfcpci(struct IsdnCardState *cs) 1583inithfcpci(struct IsdnCardState *cs)
1584{ 1584{
1585 cs->bcs[0].BC_SetStack = setstack_2b; 1585 cs->bcs[0].BC_SetStack = setstack_2b;
diff --git a/drivers/isdn/hisax/hfc_pci.h b/drivers/isdn/hisax/hfc_pci.h
index 4df036ed1af0..9ef2981e404e 100644
--- a/drivers/isdn/hisax/hfc_pci.h
+++ b/drivers/isdn/hisax/hfc_pci.h
@@ -232,5 +232,4 @@ typedef union {
232#define Read_hfc(a,b) (*(((u_char *)a->hw.hfcpci.pci_io)+b)) 232#define Read_hfc(a,b) (*(((u_char *)a->hw.hfcpci.pci_io)+b))
233 233
234extern void main_irq_hcpci(struct BCState *bcs); 234extern void main_irq_hcpci(struct BCState *bcs);
235extern void inithfcpci(struct IsdnCardState *cs);
236extern void releasehfcpci(struct IsdnCardState *cs); 235extern void releasehfcpci(struct IsdnCardState *cs);
diff --git a/drivers/isdn/hisax/hfc_sx.c b/drivers/isdn/hisax/hfc_sx.c
index a307fcb6c634..f27c1608a3a7 100644
--- a/drivers/isdn/hisax/hfc_sx.c
+++ b/drivers/isdn/hisax/hfc_sx.c
@@ -308,7 +308,7 @@ read_fifo(struct IsdnCardState *cs, u_char fifo, int trans_max)
308/******************************************/ 308/******************************************/
309/* free hardware resources used by driver */ 309/* free hardware resources used by driver */
310/******************************************/ 310/******************************************/
311void 311static void
312release_io_hfcsx(struct IsdnCardState *cs) 312release_io_hfcsx(struct IsdnCardState *cs)
313{ 313{
314 cs->hw.hfcsx.int_m2 = 0; /* interrupt output off ! */ 314 cs->hw.hfcsx.int_m2 = 0; /* interrupt output off ! */
@@ -472,7 +472,7 @@ receive_dmsg(struct IsdnCardState *cs)
472/**********************************/ 472/**********************************/
473/* B-channel main receive routine */ 473/* B-channel main receive routine */
474/**********************************/ 474/**********************************/
475void 475static void
476main_rec_hfcsx(struct BCState *bcs) 476main_rec_hfcsx(struct BCState *bcs)
477{ 477{
478 struct IsdnCardState *cs = bcs->cs; 478 struct IsdnCardState *cs = bcs->cs;
@@ -1003,7 +1003,7 @@ HFCSX_l1hw(struct PStack *st, int pr, void *arg)
1003/***********************************************/ 1003/***********************************************/
1004/* called during init setting l1 stack pointer */ 1004/* called during init setting l1 stack pointer */
1005/***********************************************/ 1005/***********************************************/
1006void 1006static void
1007setstack_hfcsx(struct PStack *st, struct IsdnCardState *cs) 1007setstack_hfcsx(struct PStack *st, struct IsdnCardState *cs)
1008{ 1008{
1009 st->l1.l1hw = HFCSX_l1hw; 1009 st->l1.l1hw = HFCSX_l1hw;
@@ -1027,7 +1027,7 @@ hfcsx_send_data(struct BCState *bcs)
1027/***************************************************************/ 1027/***************************************************************/
1028/* activate/deactivate hardware for selected channels and mode */ 1028/* activate/deactivate hardware for selected channels and mode */
1029/***************************************************************/ 1029/***************************************************************/
1030void 1030static void
1031mode_hfcsx(struct BCState *bcs, int mode, int bc) 1031mode_hfcsx(struct BCState *bcs, int mode, int bc)
1032{ 1032{
1033 struct IsdnCardState *cs = bcs->cs; 1033 struct IsdnCardState *cs = bcs->cs;
@@ -1328,7 +1328,7 @@ hfcsx_bh(struct IsdnCardState *cs)
1328/********************************/ 1328/********************************/
1329/* called for card init message */ 1329/* called for card init message */
1330/********************************/ 1330/********************************/
1331void __devinit 1331static void __devinit
1332inithfcsx(struct IsdnCardState *cs) 1332inithfcsx(struct IsdnCardState *cs)
1333{ 1333{
1334 cs->setstack_d = setstack_hfcsx; 1334 cs->setstack_d = setstack_hfcsx;
diff --git a/drivers/isdn/hisax/hfc_sx.h b/drivers/isdn/hisax/hfc_sx.h
index 12f54159344a..6792f13dc220 100644
--- a/drivers/isdn/hisax/hfc_sx.h
+++ b/drivers/isdn/hisax/hfc_sx.h
@@ -193,5 +193,4 @@ struct hfcsx_extra {
193}; 193};
194 194
195extern void main_irq_hfcsx(struct BCState *bcs); 195extern void main_irq_hfcsx(struct BCState *bcs);
196extern void inithfcsx(struct IsdnCardState *cs);
197extern void releasehfcsx(struct IsdnCardState *cs); 196extern void releasehfcsx(struct IsdnCardState *cs);
diff --git a/drivers/isdn/hisax/hfc_usb.c b/drivers/isdn/hisax/hfc_usb.c
index ffd74b84f502..e2c3af49d72b 100644
--- a/drivers/isdn/hisax/hfc_usb.c
+++ b/drivers/isdn/hisax/hfc_usb.c
@@ -60,7 +60,7 @@ static const char *hfcusb_revision =
60#include "hisax_debug.h" 60#include "hisax_debug.h"
61static u_int debug; 61static u_int debug;
62module_param(debug, uint, 0); 62module_param(debug, uint, 0);
63int hfc_debug; 63static int hfc_debug;
64#endif 64#endif
65 65
66 66
@@ -85,7 +85,7 @@ static struct usb_device_id hfc_usb_idtab[] = {
85* VendorID, ProductID, Devicename, LED_SCHEME, 85* VendorID, ProductID, Devicename, LED_SCHEME,
86* LED's BitMask in HFCUSB_P_DATA Register : LED_USB, LED_S0, LED_B1, LED_B2 86* LED's BitMask in HFCUSB_P_DATA Register : LED_USB, LED_S0, LED_B1, LED_B2
87*/ 87*/
88vendor_data vdata[] = { 88static vendor_data vdata[] = {
89 /* CologneChip Eval TA */ 89 /* CologneChip Eval TA */
90 {0x0959, 0x2bd0, "ISDN USB TA (Cologne Chip HFC-S USB based)", 90 {0x0959, 0x2bd0, "ISDN USB TA (Cologne Chip HFC-S USB based)",
91 LED_OFF, {4, 0, 2, 1} 91 LED_OFF, {4, 0, 2, 1}
@@ -1137,7 +1137,7 @@ set_hfcmode(hfcusb_data * hfc, int channel, int mode)
1137 } 1137 }
1138} 1138}
1139 1139
1140void 1140static void
1141hfc_usb_l2l1(struct hisax_if *my_hisax_if, int pr, void *arg) 1141hfc_usb_l2l1(struct hisax_if *my_hisax_if, int pr, void *arg)
1142{ 1142{
1143 usb_fifo *fifo = my_hisax_if->priv; 1143 usb_fifo *fifo = my_hisax_if->priv;
diff --git a/drivers/isdn/hisax/hfc_usb.h b/drivers/isdn/hisax/hfc_usb.h
index b171600cf641..280dd29b30d6 100644
--- a/drivers/isdn/hisax/hfc_usb.h
+++ b/drivers/isdn/hisax/hfc_usb.h
@@ -168,7 +168,7 @@ static struct hfcusb_symbolic_list urb_errlist[] = {
168* 3 entries are the configuration number, the minimum interval for 168* 3 entries are the configuration number, the minimum interval for
169* Interrupt endpoints & boolean if E-channel logging possible 169* Interrupt endpoints & boolean if E-channel logging possible
170*/ 170*/
171int validconf[][19] = { 171static int validconf[][19] = {
172 // INT in, ISO out config 172 // INT in, ISO out config
173 {EP_NUL, EP_INT, EP_NUL, EP_INT, EP_NUL, EP_INT, EP_NOP, EP_INT, 173 {EP_NUL, EP_INT, EP_NUL, EP_INT, EP_NUL, EP_INT, EP_NOP, EP_INT,
174 EP_ISO, EP_NUL, EP_ISO, EP_NUL, EP_ISO, EP_NUL, EP_NUL, EP_NUL, 174 EP_ISO, EP_NUL, EP_ISO, EP_NUL, EP_ISO, EP_NUL, EP_NUL, EP_NUL,
@@ -187,7 +187,7 @@ int validconf[][19] = {
187}; 187};
188 188
189// string description of chosen config 189// string description of chosen config
190char *conf_str[] = { 190static char *conf_str[] = {
191 "4 Interrupt IN + 3 Isochron OUT", 191 "4 Interrupt IN + 3 Isochron OUT",
192 "3 Interrupt IN + 3 Isochron OUT", 192 "3 Interrupt IN + 3 Isochron OUT",
193 "4 Isochron IN + 3 Isochron OUT", 193 "4 Isochron IN + 3 Isochron OUT",
diff --git a/drivers/isdn/hisax/hfcscard.c b/drivers/isdn/hisax/hfcscard.c
index 6fc55fea1702..86ab1c13f6b1 100644
--- a/drivers/isdn/hisax/hfcscard.c
+++ b/drivers/isdn/hisax/hfcscard.c
@@ -52,7 +52,7 @@ hfcs_Timer(struct IsdnCardState *cs)
52*/ 52*/
53} 53}
54 54
55void 55static void
56release_io_hfcs(struct IsdnCardState *cs) 56release_io_hfcs(struct IsdnCardState *cs)
57{ 57{
58 release2bds0(cs); 58 release2bds0(cs);
diff --git a/drivers/isdn/hisax/hisax.h b/drivers/isdn/hisax/hisax.h
index dc5791728d53..17cf7663c582 100644
--- a/drivers/isdn/hisax/hisax.h
+++ b/drivers/isdn/hisax/hisax.h
@@ -1271,7 +1271,6 @@ extern void Logl2Frame(struct IsdnCardState *cs, struct sk_buff *skb, char *buf,
1271void init_bcstate(struct IsdnCardState *cs, int bc); 1271void init_bcstate(struct IsdnCardState *cs, int bc);
1272 1272
1273void setstack_HiSax(struct PStack *st, struct IsdnCardState *cs); 1273void setstack_HiSax(struct PStack *st, struct IsdnCardState *cs);
1274unsigned int random_ri(void);
1275void HiSax_addlist(struct IsdnCardState *sp, struct PStack *st); 1274void HiSax_addlist(struct IsdnCardState *sp, struct PStack *st);
1276void HiSax_rmlist(struct IsdnCardState *sp, struct PStack *st); 1275void HiSax_rmlist(struct IsdnCardState *sp, struct PStack *st);
1277 1276
@@ -1315,15 +1314,11 @@ int QuickHex(char *txt, u_char * p, int cnt);
1315void LogFrame(struct IsdnCardState *cs, u_char * p, int size); 1314void LogFrame(struct IsdnCardState *cs, u_char * p, int size);
1316void dlogframe(struct IsdnCardState *cs, struct sk_buff *skb, int dir); 1315void dlogframe(struct IsdnCardState *cs, struct sk_buff *skb, int dir);
1317void iecpy(u_char * dest, u_char * iestart, int ieoffset); 1316void iecpy(u_char * dest, u_char * iestart, int ieoffset);
1318#ifdef ISDN_CHIP_ISAC
1319void setstack_isac(struct PStack *st, struct IsdnCardState *cs);
1320#endif /* ISDN_CHIP_ISAC */
1321#endif /* __KERNEL__ */ 1317#endif /* __KERNEL__ */
1322 1318
1323#define HZDELAY(jiffs) {int tout = jiffs; while (tout--) udelay(1000000/HZ);} 1319#define HZDELAY(jiffs) {int tout = jiffs; while (tout--) udelay(1000000/HZ);}
1324 1320
1325int ll_run(struct IsdnCardState *cs, int addfeatures); 1321int ll_run(struct IsdnCardState *cs, int addfeatures);
1326void ll_stop(struct IsdnCardState *cs);
1327int CallcNew(void); 1322int CallcNew(void);
1328void CallcFree(void); 1323void CallcFree(void);
1329int CallcNewChan(struct IsdnCardState *cs); 1324int CallcNewChan(struct IsdnCardState *cs);
diff --git a/drivers/isdn/hisax/hscx.c b/drivers/isdn/hisax/hscx.c
index 5bbbe3e95125..66dbaee77bfb 100644
--- a/drivers/isdn/hisax/hscx.c
+++ b/drivers/isdn/hisax/hscx.c
@@ -151,7 +151,7 @@ hscx_l2l1(struct PStack *st, int pr, void *arg)
151 } 151 }
152} 152}
153 153
154void 154static void
155close_hscxstate(struct BCState *bcs) 155close_hscxstate(struct BCState *bcs)
156{ 156{
157 modehscx(bcs, 0, bcs->channel); 157 modehscx(bcs, 0, bcs->channel);
@@ -203,7 +203,7 @@ open_hscxstate(struct IsdnCardState *cs, struct BCState *bcs)
203 return (0); 203 return (0);
204} 204}
205 205
206int 206static int
207setstack_hscx(struct PStack *st, struct BCState *bcs) 207setstack_hscx(struct PStack *st, struct BCState *bcs)
208{ 208{
209 bcs->channel = st->l1.bc; 209 bcs->channel = st->l1.bc;
diff --git a/drivers/isdn/hisax/icc.c b/drivers/isdn/hisax/icc.c
index dcf31f83c600..b4ca5859b177 100644
--- a/drivers/isdn/hisax/icc.c
+++ b/drivers/isdn/hisax/icc.c
@@ -108,7 +108,7 @@ icc_bh(struct IsdnCardState *cs)
108#endif 108#endif
109} 109}
110 110
111void 111static void
112icc_empty_fifo(struct IsdnCardState *cs, int count) 112icc_empty_fifo(struct IsdnCardState *cs, int count)
113{ 113{
114 u_char *ptr; 114 u_char *ptr;
@@ -563,13 +563,13 @@ ICC_l1hw(struct PStack *st, int pr, void *arg)
563 } 563 }
564} 564}
565 565
566void 566static void
567setstack_icc(struct PStack *st, struct IsdnCardState *cs) 567setstack_icc(struct PStack *st, struct IsdnCardState *cs)
568{ 568{
569 st->l1.l1hw = ICC_l1hw; 569 st->l1.l1hw = ICC_l1hw;
570} 570}
571 571
572void 572static void
573DC_Close_icc(struct IsdnCardState *cs) { 573DC_Close_icc(struct IsdnCardState *cs) {
574 if (cs->dc.icc.mon_rx) { 574 if (cs->dc.icc.mon_rx) {
575 kfree(cs->dc.icc.mon_rx); 575 kfree(cs->dc.icc.mon_rx);
diff --git a/drivers/isdn/hisax/ipacx.c b/drivers/isdn/hisax/ipacx.c
index 6485e232d869..efba2f448017 100644
--- a/drivers/isdn/hisax/ipacx.c
+++ b/drivers/isdn/hisax/ipacx.c
@@ -36,8 +36,6 @@ static void ph_command(struct IsdnCardState *cs, unsigned int command);
36static inline void cic_int(struct IsdnCardState *cs); 36static inline void cic_int(struct IsdnCardState *cs);
37static void dch_l2l1(struct PStack *st, int pr, void *arg); 37static void dch_l2l1(struct PStack *st, int pr, void *arg);
38static void dbusy_timer_handler(struct IsdnCardState *cs); 38static void dbusy_timer_handler(struct IsdnCardState *cs);
39static void ipacx_new_ph(struct IsdnCardState *cs);
40static void dch_bh(struct IsdnCardState *cs);
41static void dch_empty_fifo(struct IsdnCardState *cs, int count); 39static void dch_empty_fifo(struct IsdnCardState *cs, int count);
42static void dch_fill_fifo(struct IsdnCardState *cs); 40static void dch_fill_fifo(struct IsdnCardState *cs);
43static inline void dch_int(struct IsdnCardState *cs); 41static inline void dch_int(struct IsdnCardState *cs);
@@ -232,81 +230,6 @@ dbusy_timer_handler(struct IsdnCardState *cs)
232} 230}
233 231
234//---------------------------------------------------------- 232//----------------------------------------------------------
235// L1 state machine intermediate layer to isdnl1 module
236//----------------------------------------------------------
237static void
238ipacx_new_ph(struct IsdnCardState *cs)
239{
240 switch (cs->dc.isac.ph_state) {
241 case (IPACX_IND_RES):
242 ph_command(cs, IPACX_CMD_DI);
243 l1_msg(cs, HW_RESET | INDICATION, NULL);
244 break;
245
246 case (IPACX_IND_DC):
247 l1_msg(cs, HW_DEACTIVATE | CONFIRM, NULL);
248 break;
249
250 case (IPACX_IND_DR):
251 l1_msg(cs, HW_DEACTIVATE | INDICATION, NULL);
252 break;
253
254 case (IPACX_IND_PU):
255 l1_msg(cs, HW_POWERUP | CONFIRM, NULL);
256 break;
257
258 case (IPACX_IND_RSY):
259 l1_msg(cs, HW_RSYNC | INDICATION, NULL);
260 break;
261
262 case (IPACX_IND_AR):
263 l1_msg(cs, HW_INFO2 | INDICATION, NULL);
264 break;
265
266 case (IPACX_IND_AI8):
267 l1_msg(cs, HW_INFO4_P8 | INDICATION, NULL);
268 break;
269
270 case (IPACX_IND_AI10):
271 l1_msg(cs, HW_INFO4_P10 | INDICATION, NULL);
272 break;
273
274 default:
275 break;
276 }
277}
278
279//----------------------------------------------------------
280// bottom half handler for D channel
281//----------------------------------------------------------
282static void
283dch_bh(struct IsdnCardState *cs)
284{
285 struct PStack *st;
286
287 if (!cs) return;
288
289 if (test_and_clear_bit(D_CLEARBUSY, &cs->event)) {
290 if (cs->debug) debugl1(cs, "D-Channel Busy cleared");
291 for (st = cs->stlist; st; st = st->next) {
292 st->l1.l1l2(st, PH_PAUSE | CONFIRM, NULL);
293 }
294 }
295
296 if (test_and_clear_bit(D_RCVBUFREADY, &cs->event)) {
297 DChannel_proc_rcv(cs);
298 }
299
300 if (test_and_clear_bit(D_XMTBUFREADY, &cs->event)) {
301 DChannel_proc_xmt(cs);
302 }
303
304 if (test_and_clear_bit(D_L1STATECHANGE, &cs->event)) {
305 ipacx_new_ph(cs);
306 }
307}
308
309//----------------------------------------------------------
310// Fill buffer from receive FIFO 233// Fill buffer from receive FIFO
311//---------------------------------------------------------- 234//----------------------------------------------------------
312static void 235static void
@@ -991,14 +914,5 @@ init_ipacx(struct IsdnCardState *cs, int part)
991 } 914 }
992} 915}
993 916
994
995void __devinit
996setup_ipacx(struct IsdnCardState *cs)
997{
998 INIT_WORK(&cs->tqueue, (void *)(void *) dch_bh, cs);
999 cs->dbusytimer.function = (void *) dbusy_timer_handler;
1000 cs->dbusytimer.data = (long) cs;
1001 init_timer(&cs->dbusytimer);
1002}
1003//----------------- end of file ----------------------- 917//----------------- end of file -----------------------
1004 918
diff --git a/drivers/isdn/hisax/isac.c b/drivers/isdn/hisax/isac.c
index 20b949952952..85e063a08d23 100644
--- a/drivers/isdn/hisax/isac.c
+++ b/drivers/isdn/hisax/isac.c
@@ -112,7 +112,7 @@ isac_bh(struct IsdnCardState *cs)
112#endif 112#endif
113} 113}
114 114
115void 115static void
116isac_empty_fifo(struct IsdnCardState *cs, int count) 116isac_empty_fifo(struct IsdnCardState *cs, int count)
117{ 117{
118 u_char *ptr; 118 u_char *ptr;
@@ -563,13 +563,13 @@ ISAC_l1hw(struct PStack *st, int pr, void *arg)
563 } 563 }
564} 564}
565 565
566void 566static void
567setstack_isac(struct PStack *st, struct IsdnCardState *cs) 567setstack_isac(struct PStack *st, struct IsdnCardState *cs)
568{ 568{
569 st->l1.l1hw = ISAC_l1hw; 569 st->l1.l1hw = ISAC_l1hw;
570} 570}
571 571
572void 572static void
573DC_Close_isac(struct IsdnCardState *cs) { 573DC_Close_isac(struct IsdnCardState *cs) {
574 if (cs->dc.isac.mon_rx) { 574 if (cs->dc.isac.mon_rx) {
575 kfree(cs->dc.isac.mon_rx); 575 kfree(cs->dc.isac.mon_rx);
diff --git a/drivers/isdn/hisax/isar.c b/drivers/isdn/hisax/isar.c
index ee081321efb2..642a87c51295 100644
--- a/drivers/isdn/hisax/isar.c
+++ b/drivers/isdn/hisax/isar.c
@@ -21,13 +21,13 @@
21#define ETX 0x03 21#define ETX 0x03
22 22
23#define FAXMODCNT 13 23#define FAXMODCNT 13
24const u_char faxmodulation[] = {3,24,48,72,73,74,96,97,98,121,122,145,146}; 24static const u_char faxmodulation[] = {3,24,48,72,73,74,96,97,98,121,122,145,146};
25static u_int modmask = 0x1fff; 25static u_int modmask = 0x1fff;
26static int frm_extra_delay = 2; 26static int frm_extra_delay = 2;
27static int para_TOA = 6; 27static int para_TOA = 6;
28const u_char *FC1_CMD[] = {"FAE", "FTS", "FRS", "FTM", "FRM", "FTH", "FRH", "CTRL" }; 28static const u_char *FC1_CMD[] = {"FAE", "FTS", "FRS", "FTM", "FRM", "FTH", "FRH", "CTRL" };
29 29
30void isar_setup(struct IsdnCardState *cs); 30static void isar_setup(struct IsdnCardState *cs);
31static void isar_pump_cmd(struct BCState *bcs, u_char cmd, u_char para); 31static void isar_pump_cmd(struct BCState *bcs, u_char cmd, u_char para);
32static void ll_deliver_faxstat(struct BCState *bcs, u_char status); 32static void ll_deliver_faxstat(struct BCState *bcs, u_char status);
33 33
@@ -45,7 +45,7 @@ waitforHIA(struct IsdnCardState *cs, int timeout)
45} 45}
46 46
47 47
48int 48static int
49sendmsg(struct IsdnCardState *cs, u_char his, u_char creg, u_char len, 49sendmsg(struct IsdnCardState *cs, u_char his, u_char creg, u_char len,
50 u_char *msg) 50 u_char *msg)
51{ 51{
@@ -85,7 +85,7 @@ sendmsg(struct IsdnCardState *cs, u_char his, u_char creg, u_char len,
85} 85}
86 86
87/* Call only with IRQ disabled !!! */ 87/* Call only with IRQ disabled !!! */
88inline void 88static inline void
89rcv_mbox(struct IsdnCardState *cs, struct isar_reg *ireg, u_char *msg) 89rcv_mbox(struct IsdnCardState *cs, struct isar_reg *ireg, u_char *msg)
90{ 90{
91 int i; 91 int i;
@@ -114,7 +114,7 @@ rcv_mbox(struct IsdnCardState *cs, struct isar_reg *ireg, u_char *msg)
114} 114}
115 115
116/* Call only with IRQ disabled !!! */ 116/* Call only with IRQ disabled !!! */
117inline void 117static inline void
118get_irq_infos(struct IsdnCardState *cs, struct isar_reg *ireg) 118get_irq_infos(struct IsdnCardState *cs, struct isar_reg *ireg)
119{ 119{
120 ireg->iis = cs->BC_Read_Reg(cs, 1, ISAR_IIS); 120 ireg->iis = cs->BC_Read_Reg(cs, 1, ISAR_IIS);
@@ -127,7 +127,7 @@ get_irq_infos(struct IsdnCardState *cs, struct isar_reg *ireg)
127#endif 127#endif
128} 128}
129 129
130int 130static int
131waitrecmsg(struct IsdnCardState *cs, u_char *len, 131waitrecmsg(struct IsdnCardState *cs, u_char *len,
132 u_char *msg, int maxdelay) 132 u_char *msg, int maxdelay)
133{ 133{
@@ -185,7 +185,7 @@ ISARVersion(struct IsdnCardState *cs, char *s)
185 return(ver); 185 return(ver);
186} 186}
187 187
188int 188static int
189isar_load_firmware(struct IsdnCardState *cs, u_char __user *buf) 189isar_load_firmware(struct IsdnCardState *cs, u_char __user *buf)
190{ 190{
191 int ret, size, cnt, debug; 191 int ret, size, cnt, debug;
@@ -739,7 +739,7 @@ isar_fill_fifo(struct BCState *bcs)
739 } 739 }
740} 740}
741 741
742inline 742static inline
743struct BCState *sel_bcs_isar(struct IsdnCardState *cs, u_char dpath) 743struct BCState *sel_bcs_isar(struct IsdnCardState *cs, u_char dpath)
744{ 744{
745 if ((!dpath) || (dpath == 3)) 745 if ((!dpath) || (dpath == 3))
@@ -751,7 +751,7 @@ struct BCState *sel_bcs_isar(struct IsdnCardState *cs, u_char dpath)
751 return(NULL); 751 return(NULL);
752} 752}
753 753
754void 754static void
755send_frames(struct BCState *bcs) 755send_frames(struct BCState *bcs)
756{ 756{
757 if (bcs->tx_skb) { 757 if (bcs->tx_skb) {
@@ -806,7 +806,7 @@ send_frames(struct BCState *bcs)
806 } 806 }
807} 807}
808 808
809inline void 809static inline void
810check_send(struct IsdnCardState *cs, u_char rdm) 810check_send(struct IsdnCardState *cs, u_char rdm)
811{ 811{
812 struct BCState *bcs; 812 struct BCState *bcs;
@@ -828,11 +828,13 @@ check_send(struct IsdnCardState *cs, u_char rdm)
828 828
829} 829}
830 830
831const char *dmril[] = {"NO SPEED", "1200/75", "NODEF2", "75/1200", "NODEF4", 831static const char *dmril[] = {"NO SPEED", "1200/75", "NODEF2", "75/1200",
832 "300", "600", "1200", "2400", "4800", "7200", 832 "NODEF4", "300", "600", "1200", "2400",
833 "9600nt", "9600t", "12000", "14400", "WRONG"}; 833 "4800", "7200", "9600nt", "9600t", "12000",
834const char *dmrim[] = {"NO MOD", "NO DEF", "V32/V32b", "V22", "V21", 834 "14400", "WRONG"};
835 "Bell103", "V23", "Bell202", "V17", "V29", "V27ter"}; 835static const char *dmrim[] = {"NO MOD", "NO DEF", "V32/V32b", "V22", "V21",
836 "Bell103", "V23", "Bell202", "V17", "V29",
837 "V27ter"};
836 838
837static void 839static void
838isar_pump_status_rsp(struct BCState *bcs, struct isar_reg *ireg) { 840isar_pump_status_rsp(struct BCState *bcs, struct isar_reg *ireg) {
@@ -1388,7 +1390,7 @@ setup_iom2(struct BCState *bcs) {
1388 udelay(1000); 1390 udelay(1000);
1389} 1391}
1390 1392
1391int 1393static int
1392modeisar(struct BCState *bcs, int mode, int bc) 1394modeisar(struct BCState *bcs, int mode, int bc)
1393{ 1395{
1394 struct IsdnCardState *cs = bcs->cs; 1396 struct IsdnCardState *cs = bcs->cs;
@@ -1562,7 +1564,7 @@ isar_pump_cmd(struct BCState *bcs, u_char cmd, u_char para)
1562 sendmsg(cs, dps | ISAR_HIS_PUMPCTRL, ctrl, nom, &p1); 1564 sendmsg(cs, dps | ISAR_HIS_PUMPCTRL, ctrl, nom, &p1);
1563} 1565}
1564 1566
1565void 1567static void
1566isar_setup(struct IsdnCardState *cs) 1568isar_setup(struct IsdnCardState *cs)
1567{ 1569{
1568 u_char msg; 1570 u_char msg;
@@ -1582,7 +1584,7 @@ isar_setup(struct IsdnCardState *cs)
1582 } 1584 }
1583} 1585}
1584 1586
1585void 1587static void
1586isar_l2l1(struct PStack *st, int pr, void *arg) 1588isar_l2l1(struct PStack *st, int pr, void *arg)
1587{ 1589{
1588 struct BCState *bcs = st->l1.bcs; 1590 struct BCState *bcs = st->l1.bcs;
@@ -1681,7 +1683,7 @@ isar_l2l1(struct PStack *st, int pr, void *arg)
1681 } 1683 }
1682} 1684}
1683 1685
1684void 1686static void
1685close_isarstate(struct BCState *bcs) 1687close_isarstate(struct BCState *bcs)
1686{ 1688{
1687 modeisar(bcs, 0, bcs->channel); 1689 modeisar(bcs, 0, bcs->channel);
@@ -1703,7 +1705,7 @@ close_isarstate(struct BCState *bcs)
1703 del_timer(&bcs->hw.isar.ftimer); 1705 del_timer(&bcs->hw.isar.ftimer);
1704} 1706}
1705 1707
1706int 1708static int
1707open_isarstate(struct IsdnCardState *cs, struct BCState *bcs) 1709open_isarstate(struct IsdnCardState *cs, struct BCState *bcs)
1708{ 1710{
1709 if (!test_and_set_bit(BC_FLG_INIT, &bcs->Flag)) { 1711 if (!test_and_set_bit(BC_FLG_INIT, &bcs->Flag)) {
@@ -1725,7 +1727,7 @@ open_isarstate(struct IsdnCardState *cs, struct BCState *bcs)
1725 return (0); 1727 return (0);
1726} 1728}
1727 1729
1728int 1730static int
1729setstack_isar(struct PStack *st, struct BCState *bcs) 1731setstack_isar(struct PStack *st, struct BCState *bcs)
1730{ 1732{
1731 bcs->channel = st->l1.bc; 1733 bcs->channel = st->l1.bc;
diff --git a/drivers/isdn/hisax/isdnl1.c b/drivers/isdn/hisax/isdnl1.c
index 4d08d27f1499..ac899503a74f 100644
--- a/drivers/isdn/hisax/isdnl1.c
+++ b/drivers/isdn/hisax/isdnl1.c
@@ -151,7 +151,7 @@ l1m_debug(struct FsmInst *fi, char *fmt, ...)
151 va_end(args); 151 va_end(args);
152} 152}
153 153
154void 154static void
155L1activated(struct IsdnCardState *cs) 155L1activated(struct IsdnCardState *cs)
156{ 156{
157 struct PStack *st; 157 struct PStack *st;
@@ -166,7 +166,7 @@ L1activated(struct IsdnCardState *cs)
166 } 166 }
167} 167}
168 168
169void 169static void
170L1deactivated(struct IsdnCardState *cs) 170L1deactivated(struct IsdnCardState *cs)
171{ 171{
172 struct PStack *st; 172 struct PStack *st;
@@ -370,7 +370,7 @@ init_bcstate(struct IsdnCardState *cs, int bc)
370 370
371#ifdef L2FRAME_DEBUG /* psa */ 371#ifdef L2FRAME_DEBUG /* psa */
372 372
373char * 373static char *
374l2cmd(u_char cmd) 374l2cmd(u_char cmd)
375{ 375{
376 switch (cmd & ~0x10) { 376 switch (cmd & ~0x10) {
@@ -404,7 +404,7 @@ l2cmd(u_char cmd)
404 404
405static char tmpdeb[32]; 405static char tmpdeb[32];
406 406
407char * 407static char *
408l2frames(u_char * ptr) 408l2frames(u_char * ptr)
409{ 409{
410 switch (ptr[2] & ~0x10) { 410 switch (ptr[2] & ~0x10) {
diff --git a/drivers/isdn/hisax/isdnl2.c b/drivers/isdn/hisax/isdnl2.c
index d311b5fbf895..9022583fd6a0 100644
--- a/drivers/isdn/hisax/isdnl2.c
+++ b/drivers/isdn/hisax/isdnl2.c
@@ -142,7 +142,7 @@ freewin1(struct Layer2 *l2)
142 return cnt; 142 return cnt;
143} 143}
144 144
145inline void 145static inline void
146freewin(struct PStack *st) 146freewin(struct PStack *st)
147{ 147{
148 freewin1(&st->l2); 148 freewin1(&st->l2);
@@ -157,7 +157,7 @@ ReleaseWin(struct Layer2 *l2)
157 printk(KERN_WARNING "isdl2 freed %d skbuffs in release\n", cnt); 157 printk(KERN_WARNING "isdl2 freed %d skbuffs in release\n", cnt);
158} 158}
159 159
160inline unsigned int 160static inline unsigned int
161cansend(struct PStack *st) 161cansend(struct PStack *st)
162{ 162{
163 unsigned int p1; 163 unsigned int p1;
@@ -169,7 +169,7 @@ cansend(struct PStack *st)
169 return ((p1 < st->l2.window) && !test_bit(FLG_PEER_BUSY, &st->l2.flag)); 169 return ((p1 < st->l2.window) && !test_bit(FLG_PEER_BUSY, &st->l2.flag));
170} 170}
171 171
172inline void 172static inline void
173clear_exception(struct Layer2 *l2) 173clear_exception(struct Layer2 *l2)
174{ 174{
175 test_and_clear_bit(FLG_ACK_PEND, &l2->flag); 175 test_and_clear_bit(FLG_ACK_PEND, &l2->flag);
@@ -178,7 +178,7 @@ clear_exception(struct Layer2 *l2)
178 clear_peer_busy(l2); 178 clear_peer_busy(l2);
179} 179}
180 180
181inline int 181static inline int
182l2headersize(struct Layer2 *l2, int ui) 182l2headersize(struct Layer2 *l2, int ui)
183{ 183{
184 return (((test_bit(FLG_MOD128, &l2->flag) && (!ui)) ? 2 : 1) + 184 return (((test_bit(FLG_MOD128, &l2->flag) && (!ui)) ? 2 : 1) +
@@ -223,40 +223,31 @@ enqueue_super(struct PStack *st,
223 223
224#define enqueue_ui(a, b) enqueue_super(a, b) 224#define enqueue_ui(a, b) enqueue_super(a, b)
225 225
226inline int 226static inline int
227IsUI(u_char * data) 227IsUI(u_char * data)
228{ 228{
229 return ((data[0] & 0xef) == UI); 229 return ((data[0] & 0xef) == UI);
230} 230}
231 231
232inline int 232static inline int
233IsUA(u_char * data) 233IsUA(u_char * data)
234{ 234{
235 return ((data[0] & 0xef) == UA); 235 return ((data[0] & 0xef) == UA);
236} 236}
237 237
238inline int 238static inline int
239IsDM(u_char * data) 239IsDM(u_char * data)
240{ 240{
241 return ((data[0] & 0xef) == DM); 241 return ((data[0] & 0xef) == DM);
242} 242}
243 243
244inline int 244static inline int
245IsDISC(u_char * data) 245IsDISC(u_char * data)
246{ 246{
247 return ((data[0] & 0xef) == DISC); 247 return ((data[0] & 0xef) == DISC);
248} 248}
249 249
250inline int 250static inline int
251IsRR(u_char * data, struct PStack *st)
252{
253 if (test_bit(FLG_MOD128, &st->l2.flag))
254 return (data[0] == RR);
255 else
256 return ((data[0] & 0xf) == 1);
257}
258
259inline int
260IsSFrame(u_char * data, struct PStack *st) 251IsSFrame(u_char * data, struct PStack *st)
261{ 252{
262 register u_char d = *data; 253 register u_char d = *data;
@@ -266,7 +257,7 @@ IsSFrame(u_char * data, struct PStack *st)
266 return(((d & 0xf3) == 1) && ((d & 0x0c) != 0x0c)); 257 return(((d & 0xf3) == 1) && ((d & 0x0c) != 0x0c));
267} 258}
268 259
269inline int 260static inline int
270IsSABME(u_char * data, struct PStack *st) 261IsSABME(u_char * data, struct PStack *st)
271{ 262{
272 u_char d = data[0] & ~0x10; 263 u_char d = data[0] & ~0x10;
@@ -274,25 +265,25 @@ IsSABME(u_char * data, struct PStack *st)
274 return (test_bit(FLG_MOD128, &st->l2.flag) ? d == SABME : d == SABM); 265 return (test_bit(FLG_MOD128, &st->l2.flag) ? d == SABME : d == SABM);
275} 266}
276 267
277inline int 268static inline int
278IsREJ(u_char * data, struct PStack *st) 269IsREJ(u_char * data, struct PStack *st)
279{ 270{
280 return (test_bit(FLG_MOD128, &st->l2.flag) ? data[0] == REJ : (data[0] & 0xf) == REJ); 271 return (test_bit(FLG_MOD128, &st->l2.flag) ? data[0] == REJ : (data[0] & 0xf) == REJ);
281} 272}
282 273
283inline int 274static inline int
284IsFRMR(u_char * data) 275IsFRMR(u_char * data)
285{ 276{
286 return ((data[0] & 0xef) == FRMR); 277 return ((data[0] & 0xef) == FRMR);
287} 278}
288 279
289inline int 280static inline int
290IsRNR(u_char * data, struct PStack *st) 281IsRNR(u_char * data, struct PStack *st)
291{ 282{
292 return (test_bit(FLG_MOD128, &st->l2.flag) ? data[0] == RNR : (data[0] & 0xf) == RNR); 283 return (test_bit(FLG_MOD128, &st->l2.flag) ? data[0] == RNR : (data[0] & 0xf) == RNR);
293} 284}
294 285
295int 286static int
296iframe_error(struct PStack *st, struct sk_buff *skb) 287iframe_error(struct PStack *st, struct sk_buff *skb)
297{ 288{
298 int i = l2addrsize(&st->l2) + (test_bit(FLG_MOD128, &st->l2.flag) ? 2 : 1); 289 int i = l2addrsize(&st->l2) + (test_bit(FLG_MOD128, &st->l2.flag) ? 2 : 1);
@@ -315,7 +306,7 @@ iframe_error(struct PStack *st, struct sk_buff *skb)
315 return 0; 306 return 0;
316} 307}
317 308
318int 309static int
319super_error(struct PStack *st, struct sk_buff *skb) 310super_error(struct PStack *st, struct sk_buff *skb)
320{ 311{
321 if (skb->len != l2addrsize(&st->l2) + 312 if (skb->len != l2addrsize(&st->l2) +
@@ -325,7 +316,7 @@ super_error(struct PStack *st, struct sk_buff *skb)
325 return 0; 316 return 0;
326} 317}
327 318
328int 319static int
329unnum_error(struct PStack *st, struct sk_buff *skb, int wantrsp) 320unnum_error(struct PStack *st, struct sk_buff *skb, int wantrsp)
330{ 321{
331 int rsp = (*skb->data & 0x2) >> 1; 322 int rsp = (*skb->data & 0x2) >> 1;
@@ -341,7 +332,7 @@ unnum_error(struct PStack *st, struct sk_buff *skb, int wantrsp)
341 return 0; 332 return 0;
342} 333}
343 334
344int 335static int
345UI_error(struct PStack *st, struct sk_buff *skb) 336UI_error(struct PStack *st, struct sk_buff *skb)
346{ 337{
347 int rsp = *skb->data & 0x2; 338 int rsp = *skb->data & 0x2;
@@ -357,7 +348,7 @@ UI_error(struct PStack *st, struct sk_buff *skb)
357 return 0; 348 return 0;
358} 349}
359 350
360int 351static int
361FRMR_error(struct PStack *st, struct sk_buff *skb) 352FRMR_error(struct PStack *st, struct sk_buff *skb)
362{ 353{
363 int headers = l2addrsize(&st->l2) + 1; 354 int headers = l2addrsize(&st->l2) + 1;
@@ -444,51 +435,44 @@ send_uframe(struct PStack *st, u_char cmd, u_char cr)
444 enqueue_super(st, skb); 435 enqueue_super(st, skb);
445} 436}
446 437
447inline u_char 438static inline u_char
448get_PollFlag(struct PStack * st, struct sk_buff * skb) 439get_PollFlag(struct PStack * st, struct sk_buff * skb)
449{ 440{
450 return (skb->data[l2addrsize(&(st->l2))] & 0x10); 441 return (skb->data[l2addrsize(&(st->l2))] & 0x10);
451} 442}
452 443
453inline void 444static inline u_char
454FreeSkb(struct sk_buff *skb)
455{
456 dev_kfree_skb(skb);
457}
458
459
460inline u_char
461get_PollFlagFree(struct PStack *st, struct sk_buff *skb) 445get_PollFlagFree(struct PStack *st, struct sk_buff *skb)
462{ 446{
463 u_char PF; 447 u_char PF;
464 448
465 PF = get_PollFlag(st, skb); 449 PF = get_PollFlag(st, skb);
466 FreeSkb(skb); 450 dev_kfree_skb(skb);
467 return (PF); 451 return (PF);
468} 452}
469 453
470inline void 454static inline void
471start_t200(struct PStack *st, int i) 455start_t200(struct PStack *st, int i)
472{ 456{
473 FsmAddTimer(&st->l2.t200, st->l2.T200, EV_L2_T200, NULL, i); 457 FsmAddTimer(&st->l2.t200, st->l2.T200, EV_L2_T200, NULL, i);
474 test_and_set_bit(FLG_T200_RUN, &st->l2.flag); 458 test_and_set_bit(FLG_T200_RUN, &st->l2.flag);
475} 459}
476 460
477inline void 461static inline void
478restart_t200(struct PStack *st, int i) 462restart_t200(struct PStack *st, int i)
479{ 463{
480 FsmRestartTimer(&st->l2.t200, st->l2.T200, EV_L2_T200, NULL, i); 464 FsmRestartTimer(&st->l2.t200, st->l2.T200, EV_L2_T200, NULL, i);
481 test_and_set_bit(FLG_T200_RUN, &st->l2.flag); 465 test_and_set_bit(FLG_T200_RUN, &st->l2.flag);
482} 466}
483 467
484inline void 468static inline void
485stop_t200(struct PStack *st, int i) 469stop_t200(struct PStack *st, int i)
486{ 470{
487 if(test_and_clear_bit(FLG_T200_RUN, &st->l2.flag)) 471 if(test_and_clear_bit(FLG_T200_RUN, &st->l2.flag))
488 FsmDelTimer(&st->l2.t200, i); 472 FsmDelTimer(&st->l2.t200, i);
489} 473}
490 474
491inline void 475static inline void
492st5_dl_release_l2l3(struct PStack *st) 476st5_dl_release_l2l3(struct PStack *st)
493{ 477{
494 int pr; 478 int pr;
@@ -501,7 +485,7 @@ st5_dl_release_l2l3(struct PStack *st)
501 st->l2.l2l3(st, pr, NULL); 485 st->l2.l2l3(st, pr, NULL);
502} 486}
503 487
504inline void 488static inline void
505lapb_dl_release_l2l3(struct PStack *st, int f) 489lapb_dl_release_l2l3(struct PStack *st, int f)
506{ 490{
507 if (test_bit(FLG_LAPB, &st->l2.flag)) 491 if (test_bit(FLG_LAPB, &st->l2.flag))
@@ -802,7 +786,7 @@ l2_connected(struct FsmInst *fi, int event, void *arg)
802 l2_mdl_error_ua(fi, event, arg); 786 l2_mdl_error_ua(fi, event, arg);
803 return; 787 return;
804 } 788 }
805 FreeSkb(skb); 789 dev_kfree_skb(skb);
806 790
807 if (test_and_clear_bit(FLG_PEND_REL, &st->l2.flag)) 791 if (test_and_clear_bit(FLG_PEND_REL, &st->l2.flag))
808 l2_disconnect(fi, event, arg); 792 l2_disconnect(fi, event, arg);
@@ -840,7 +824,7 @@ l2_released(struct FsmInst *fi, int event, void *arg)
840 l2_mdl_error_ua(fi, event, arg); 824 l2_mdl_error_ua(fi, event, arg);
841 return; 825 return;
842 } 826 }
843 FreeSkb(skb); 827 dev_kfree_skb(skb);
844 828
845 stop_t200(st, 6); 829 stop_t200(st, 6);
846 lapb_dl_release_l2l3(st, CONFIRM); 830 lapb_dl_release_l2l3(st, CONFIRM);
@@ -889,7 +873,7 @@ l2_st6_dm_release(struct FsmInst *fi, int event, void *arg)
889 } 873 }
890} 874}
891 875
892inline void 876static inline void
893enquiry_cr(struct PStack *st, u_char typ, u_char cr, u_char pf) 877enquiry_cr(struct PStack *st, u_char typ, u_char cr, u_char pf)
894{ 878{
895 struct sk_buff *skb; 879 struct sk_buff *skb;
@@ -912,7 +896,7 @@ enquiry_cr(struct PStack *st, u_char typ, u_char cr, u_char pf)
912 enqueue_super(st, skb); 896 enqueue_super(st, skb);
913} 897}
914 898
915inline void 899static inline void
916enquiry_response(struct PStack *st) 900enquiry_response(struct PStack *st)
917{ 901{
918 if (test_bit(FLG_OWN_BUSY, &st->l2.flag)) 902 if (test_bit(FLG_OWN_BUSY, &st->l2.flag))
@@ -922,7 +906,7 @@ enquiry_response(struct PStack *st)
922 test_and_clear_bit(FLG_ACK_PEND, &st->l2.flag); 906 test_and_clear_bit(FLG_ACK_PEND, &st->l2.flag);
923} 907}
924 908
925inline void 909static inline void
926transmit_enquiry(struct PStack *st) 910transmit_enquiry(struct PStack *st)
927{ 911{
928 if (test_bit(FLG_OWN_BUSY, &st->l2.flag)) 912 if (test_bit(FLG_OWN_BUSY, &st->l2.flag))
@@ -1004,7 +988,7 @@ l2_st7_got_super(struct FsmInst *fi, int event, void *arg)
1004 PollFlag = (skb->data[0] & 0x10); 988 PollFlag = (skb->data[0] & 0x10);
1005 nr = (skb->data[0] >> 5) & 0x7; 989 nr = (skb->data[0] >> 5) & 0x7;
1006 } 990 }
1007 FreeSkb(skb); 991 dev_kfree_skb(skb);
1008 992
1009 if (PollFlag) { 993 if (PollFlag) {
1010 if (rsp) 994 if (rsp)
@@ -1047,7 +1031,7 @@ l2_feed_i_if_reest(struct FsmInst *fi, int event, void *arg)
1047 if (!test_bit(FLG_L3_INIT, &st->l2.flag)) 1031 if (!test_bit(FLG_L3_INIT, &st->l2.flag))
1048 skb_queue_tail(&st->l2.i_queue, skb); 1032 skb_queue_tail(&st->l2.i_queue, skb);
1049 else 1033 else
1050 FreeSkb(skb); 1034 dev_kfree_skb(skb);
1051} 1035}
1052 1036
1053static void 1037static void
@@ -1093,7 +1077,7 @@ l2_got_iframe(struct FsmInst *fi, int event, void *arg)
1093 nr = (skb->data[i] >> 5) & 0x7; 1077 nr = (skb->data[i] >> 5) & 0x7;
1094 } 1078 }
1095 if (test_bit(FLG_OWN_BUSY, &l2->flag)) { 1079 if (test_bit(FLG_OWN_BUSY, &l2->flag)) {
1096 FreeSkb(skb); 1080 dev_kfree_skb(skb);
1097 if(PollFlag) enquiry_response(st); 1081 if(PollFlag) enquiry_response(st);
1098 } else if (l2->vr == ns) { 1082 } else if (l2->vr == ns) {
1099 (l2->vr)++; 1083 (l2->vr)++;
@@ -1111,7 +1095,7 @@ l2_got_iframe(struct FsmInst *fi, int event, void *arg)
1111 st->l2.l2l3(st, DL_DATA | INDICATION, skb); 1095 st->l2.l2l3(st, DL_DATA | INDICATION, skb);
1112 } else { 1096 } else {
1113 /* n(s)!=v(r) */ 1097 /* n(s)!=v(r) */
1114 FreeSkb(skb); 1098 dev_kfree_skb(skb);
1115 if (test_and_set_bit(FLG_REJEXC, &l2->flag)) { 1099 if (test_and_set_bit(FLG_REJEXC, &l2->flag)) {
1116 if (PollFlag) 1100 if (PollFlag)
1117 enquiry_response(st); 1101 enquiry_response(st);
@@ -1309,7 +1293,7 @@ l2_pull_iqueue(struct FsmInst *fi, int event, void *arg)
1309 skb = alloc_skb(oskb->len + i, GFP_ATOMIC); 1293 skb = alloc_skb(oskb->len + i, GFP_ATOMIC);
1310 memcpy(skb_put(skb, i), header, i); 1294 memcpy(skb_put(skb, i), header, i);
1311 memcpy(skb_put(skb, oskb->len), oskb->data, oskb->len); 1295 memcpy(skb_put(skb, oskb->len), oskb->data, oskb->len);
1312 FreeSkb(oskb); 1296 dev_kfree_skb(oskb);
1313 } 1297 }
1314 st->l2.l2l1(st, PH_PULL | INDICATION, skb); 1298 st->l2.l2l1(st, PH_PULL | INDICATION, skb);
1315 test_and_clear_bit(FLG_ACK_PEND, &st->l2.flag); 1299 test_and_clear_bit(FLG_ACK_PEND, &st->l2.flag);
@@ -1349,7 +1333,7 @@ l2_st8_got_super(struct FsmInst *fi, int event, void *arg)
1349 PollFlag = (skb->data[0] & 0x10); 1333 PollFlag = (skb->data[0] & 0x10);
1350 nr = (skb->data[0] >> 5) & 0x7; 1334 nr = (skb->data[0] >> 5) & 0x7;
1351 } 1335 }
1352 FreeSkb(skb); 1336 dev_kfree_skb(skb);
1353 1337
1354 if (rsp && PollFlag) { 1338 if (rsp && PollFlag) {
1355 if (legalnr(st, nr)) { 1339 if (legalnr(st, nr)) {
@@ -1391,7 +1375,7 @@ l2_got_FRMR(struct FsmInst *fi, int event, void *arg)
1391 establishlink(fi); 1375 establishlink(fi);
1392 test_and_clear_bit(FLG_L3_INIT, &st->l2.flag); 1376 test_and_clear_bit(FLG_L3_INIT, &st->l2.flag);
1393 } 1377 }
1394 FreeSkb(skb); 1378 dev_kfree_skb(skb);
1395} 1379}
1396 1380
1397static void 1381static void
@@ -1655,7 +1639,7 @@ isdnl2_l1l2(struct PStack *st, int pr, void *arg)
1655 datap += len; 1639 datap += len;
1656 else { 1640 else {
1657 FsmEvent(&st->l2.l2m, EV_L2_FRAME_ERROR, (void *) 'N'); 1641 FsmEvent(&st->l2.l2m, EV_L2_FRAME_ERROR, (void *) 'N');
1658 FreeSkb(skb); 1642 dev_kfree_skb(skb);
1659 return; 1643 return;
1660 } 1644 }
1661 if (!(*datap & 1)) { /* I-Frame */ 1645 if (!(*datap & 1)) { /* I-Frame */
@@ -1684,16 +1668,16 @@ isdnl2_l1l2(struct PStack *st, int pr, void *arg)
1684 ret = FsmEvent(&st->l2.l2m, EV_L2_FRMR, skb); 1668 ret = FsmEvent(&st->l2.l2m, EV_L2_FRMR, skb);
1685 } else { 1669 } else {
1686 FsmEvent(&st->l2.l2m, EV_L2_FRAME_ERROR, (void *) 'L'); 1670 FsmEvent(&st->l2.l2m, EV_L2_FRAME_ERROR, (void *) 'L');
1687 FreeSkb(skb); 1671 dev_kfree_skb(skb);
1688 ret = 0; 1672 ret = 0;
1689 } 1673 }
1690 if(c) { 1674 if(c) {
1691 FreeSkb(skb); 1675 dev_kfree_skb(skb);
1692 FsmEvent(&st->l2.l2m, EV_L2_FRAME_ERROR, (void *)(long)c); 1676 FsmEvent(&st->l2.l2m, EV_L2_FRAME_ERROR, (void *)(long)c);
1693 ret = 0; 1677 ret = 0;
1694 } 1678 }
1695 if (ret) 1679 if (ret)
1696 FreeSkb(skb); 1680 dev_kfree_skb(skb);
1697 break; 1681 break;
1698 case (PH_PULL | CONFIRM): 1682 case (PH_PULL | CONFIRM):
1699 FsmEvent(&st->l2.l2m, EV_L2_ACK_PULL, arg); 1683 FsmEvent(&st->l2.l2m, EV_L2_ACK_PULL, arg);
diff --git a/drivers/isdn/hisax/isdnl3.c b/drivers/isdn/hisax/isdnl3.c
index f571b5d18e91..abcc9530eb34 100644
--- a/drivers/isdn/hisax/isdnl3.c
+++ b/drivers/isdn/hisax/isdnl3.c
@@ -390,7 +390,7 @@ setstack_l3dc(struct PStack *st, struct Channel *chanp)
390 } 390 }
391} 391}
392 392
393void 393static void
394isdnl3_trans(struct PStack *st, int pr, void *arg) { 394isdnl3_trans(struct PStack *st, int pr, void *arg) {
395 st->l3.l3l2(st, pr, arg); 395 st->l3.l3l2(st, pr, arg);
396} 396}
diff --git a/drivers/isdn/hisax/isurf.c b/drivers/isdn/hisax/isurf.c
index af5171da7345..33747afc984d 100644
--- a/drivers/isdn/hisax/isurf.c
+++ b/drivers/isdn/hisax/isurf.c
@@ -122,7 +122,7 @@ isurf_interrupt(int intno, void *dev_id, struct pt_regs *regs)
122 return IRQ_HANDLED; 122 return IRQ_HANDLED;
123} 123}
124 124
125void 125static void
126release_io_isurf(struct IsdnCardState *cs) 126release_io_isurf(struct IsdnCardState *cs)
127{ 127{
128 release_region(cs->hw.isurf.reset, 1); 128 release_region(cs->hw.isurf.reset, 1);
diff --git a/drivers/isdn/hisax/ix1_micro.c b/drivers/isdn/hisax/ix1_micro.c
index b843b7509ae2..908a7e144421 100644
--- a/drivers/isdn/hisax/ix1_micro.c
+++ b/drivers/isdn/hisax/ix1_micro.c
@@ -25,7 +25,7 @@
25#include "isdnl1.h" 25#include "isdnl1.h"
26 26
27extern const char *CardType[]; 27extern const char *CardType[];
28const char *ix1_revision = "$Revision: 2.12.2.4 $"; 28static const char *ix1_revision = "$Revision: 2.12.2.4 $";
29 29
30#define byteout(addr,val) outb(val,addr) 30#define byteout(addr,val) outb(val,addr)
31#define bytein(addr) inb(addr) 31#define bytein(addr) inb(addr)
@@ -162,7 +162,7 @@ ix1micro_interrupt(int intno, void *dev_id, struct pt_regs *regs)
162 return IRQ_HANDLED; 162 return IRQ_HANDLED;
163} 163}
164 164
165void 165static void
166release_io_ix1micro(struct IsdnCardState *cs) 166release_io_ix1micro(struct IsdnCardState *cs)
167{ 167{
168 if (cs->hw.ix1.cfg_reg) 168 if (cs->hw.ix1.cfg_reg)
diff --git a/drivers/isdn/hisax/jade.c b/drivers/isdn/hisax/jade.c
index f05d52757557..363ae3179bbd 100644
--- a/drivers/isdn/hisax/jade.c
+++ b/drivers/isdn/hisax/jade.c
@@ -74,7 +74,7 @@ jade_write_indirect(struct IsdnCardState *cs, u_char reg, u_char value)
74 74
75 75
76 76
77void 77static void
78modejade(struct BCState *bcs, int mode, int bc) 78modejade(struct BCState *bcs, int mode, int bc)
79{ 79{
80 struct IsdnCardState *cs = bcs->cs; 80 struct IsdnCardState *cs = bcs->cs;
@@ -190,7 +190,7 @@ jade_l2l1(struct PStack *st, int pr, void *arg)
190 } 190 }
191} 191}
192 192
193void 193static void
194close_jadestate(struct BCState *bcs) 194close_jadestate(struct BCState *bcs)
195{ 195{
196 modejade(bcs, 0, bcs->channel); 196 modejade(bcs, 0, bcs->channel);
@@ -243,7 +243,7 @@ open_jadestate(struct IsdnCardState *cs, struct BCState *bcs)
243} 243}
244 244
245 245
246int 246static int
247setstack_jade(struct PStack *st, struct BCState *bcs) 247setstack_jade(struct PStack *st, struct BCState *bcs)
248{ 248{
249 bcs->channel = st->l1.bc; 249 bcs->channel = st->l1.bc;
diff --git a/drivers/isdn/hisax/jade.h b/drivers/isdn/hisax/jade.h
index fa2944485994..29055e1ee381 100644
--- a/drivers/isdn/hisax/jade.h
+++ b/drivers/isdn/hisax/jade.h
@@ -128,7 +128,6 @@
128#define jade_TXAUDIOCH2CFG 0x1A 128#define jade_TXAUDIOCH2CFG 0x1A
129 129
130extern int JadeVersion(struct IsdnCardState *cs, char *s); 130extern int JadeVersion(struct IsdnCardState *cs, char *s);
131extern void modejade(struct BCState *bcs, int mode, int bc);
132extern void clear_pending_jade_ints(struct IsdnCardState *cs); 131extern void clear_pending_jade_ints(struct IsdnCardState *cs);
133extern void initjade(struct IsdnCardState *cs); 132extern void initjade(struct IsdnCardState *cs);
134 133
diff --git a/drivers/isdn/hisax/l3_1tr6.c b/drivers/isdn/hisax/l3_1tr6.c
index d6c1c8f8329d..c5c36eeff261 100644
--- a/drivers/isdn/hisax/l3_1tr6.c
+++ b/drivers/isdn/hisax/l3_1tr6.c
@@ -19,7 +19,7 @@
19#include <linux/ctype.h> 19#include <linux/ctype.h>
20 20
21extern char *HiSax_getrev(const char *revision); 21extern char *HiSax_getrev(const char *revision);
22const char *l3_1tr6_revision = "$Revision: 2.15.2.3 $"; 22static const char *l3_1tr6_revision = "$Revision: 2.15.2.3 $";
23 23
24#define MsgHead(ptr, cref, mty, dis) \ 24#define MsgHead(ptr, cref, mty, dis) \
25 *ptr++ = dis; \ 25 *ptr++ = dis; \
diff --git a/drivers/isdn/hisax/l3dss1.c b/drivers/isdn/hisax/l3dss1.c
index ec92308c1efc..a6d2abdb478a 100644
--- a/drivers/isdn/hisax/l3dss1.c
+++ b/drivers/isdn/hisax/l3dss1.c
@@ -26,7 +26,7 @@
26#include <linux/config.h> 26#include <linux/config.h>
27 27
28extern char *HiSax_getrev(const char *revision); 28extern char *HiSax_getrev(const char *revision);
29const char *dss1_revision = "$Revision: 2.32.2.3 $"; 29static const char *dss1_revision = "$Revision: 2.32.2.3 $";
30 30
31#define EXT_BEARER_CAPS 1 31#define EXT_BEARER_CAPS 1
32 32
diff --git a/drivers/isdn/hisax/l3ni1.c b/drivers/isdn/hisax/l3ni1.c
index 3ab3a54daac1..f7041d5ba64e 100644
--- a/drivers/isdn/hisax/l3ni1.c
+++ b/drivers/isdn/hisax/l3ni1.c
@@ -24,7 +24,7 @@
24#include <linux/ctype.h> 24#include <linux/ctype.h>
25 25
26extern char *HiSax_getrev(const char *revision); 26extern char *HiSax_getrev(const char *revision);
27const char *ni1_revision = "$Revision: 2.8.2.3 $"; 27static const char *ni1_revision = "$Revision: 2.8.2.3 $";
28 28
29#define EXT_BEARER_CAPS 1 29#define EXT_BEARER_CAPS 1
30 30
@@ -2665,7 +2665,7 @@ static void l3ni1_spid_send( struct l3_process *pc, u_char pr, void *arg )
2665 l3ni1_SendSpid( pc, pr, arg, 20 ); 2665 l3ni1_SendSpid( pc, pr, arg, 20 );
2666} 2666}
2667 2667
2668void l3ni1_spid_epid( struct l3_process *pc, u_char pr, void *arg ) 2668static void l3ni1_spid_epid( struct l3_process *pc, u_char pr, void *arg )
2669{ 2669{
2670 struct sk_buff *skb = arg; 2670 struct sk_buff *skb = arg;
2671 2671
diff --git a/drivers/isdn/hisax/mic.c b/drivers/isdn/hisax/mic.c
index 3ac4484a4886..fe11f226b285 100644
--- a/drivers/isdn/hisax/mic.c
+++ b/drivers/isdn/hisax/mic.c
@@ -18,7 +18,7 @@
18 18
19extern const char *CardType[]; 19extern const char *CardType[];
20 20
21const char *mic_revision = "$Revision: 1.12.2.4 $"; 21static const char *mic_revision = "$Revision: 1.12.2.4 $";
22 22
23#define byteout(addr,val) outb(val,addr) 23#define byteout(addr,val) outb(val,addr)
24#define bytein(addr) inb(addr) 24#define bytein(addr) inb(addr)
@@ -157,7 +157,7 @@ mic_interrupt(int intno, void *dev_id, struct pt_regs *regs)
157 return IRQ_HANDLED; 157 return IRQ_HANDLED;
158} 158}
159 159
160void 160static void
161release_io_mic(struct IsdnCardState *cs) 161release_io_mic(struct IsdnCardState *cs)
162{ 162{
163 int bytecnt = 8; 163 int bytecnt = 8;
diff --git a/drivers/isdn/hisax/netjet.c b/drivers/isdn/hisax/netjet.c
index fe61d26365d3..94da03c30c51 100644
--- a/drivers/isdn/hisax/netjet.c
+++ b/drivers/isdn/hisax/netjet.c
@@ -25,8 +25,6 @@
25#include <asm/io.h> 25#include <asm/io.h>
26#include "netjet.h" 26#include "netjet.h"
27 27
28const char *NETjet_revision = "$Revision: 1.29.2.4 $";
29
30/* Interface functions */ 28/* Interface functions */
31 29
32u_char 30u_char
@@ -66,7 +64,7 @@ NETjet_WriteICfifo(struct IsdnCardState *cs, u_char *data, int size)
66 outsb(cs->hw.njet.isac, data, size); 64 outsb(cs->hw.njet.isac, data, size);
67} 65}
68 66
69void fill_mem(struct BCState *bcs, u_int *pos, u_int cnt, int chan, u_char fill) 67static void fill_mem(struct BCState *bcs, u_int *pos, u_int cnt, int chan, u_char fill)
70{ 68{
71 u_int mask=0x000000ff, val = 0, *p=pos; 69 u_int mask=0x000000ff, val = 0, *p=pos;
72 u_int i; 70 u_int i;
@@ -85,7 +83,7 @@ void fill_mem(struct BCState *bcs, u_int *pos, u_int cnt, int chan, u_char fill)
85 } 83 }
86} 84}
87 85
88void 86static void
89mode_tiger(struct BCState *bcs, int mode, int bc) 87mode_tiger(struct BCState *bcs, int mode, int bc)
90{ 88{
91 struct IsdnCardState *cs = bcs->cs; 89 struct IsdnCardState *cs = bcs->cs;
@@ -852,7 +850,7 @@ tiger_l2l1(struct PStack *st, int pr, void *arg)
852} 850}
853 851
854 852
855void 853static void
856close_tigerstate(struct BCState *bcs) 854close_tigerstate(struct BCState *bcs)
857{ 855{
858 mode_tiger(bcs, 0, bcs->channel); 856 mode_tiger(bcs, 0, bcs->channel);
@@ -900,7 +898,7 @@ open_tigerstate(struct IsdnCardState *cs, struct BCState *bcs)
900 return (0); 898 return (0);
901} 899}
902 900
903int 901static int
904setstack_tiger(struct PStack *st, struct BCState *bcs) 902setstack_tiger(struct PStack *st, struct BCState *bcs)
905{ 903{
906 bcs->channel = st->l1.bc; 904 bcs->channel = st->l1.bc;
@@ -966,7 +964,7 @@ inittiger(struct IsdnCardState *cs)
966 cs->bcs[1].BC_Close = close_tigerstate; 964 cs->bcs[1].BC_Close = close_tigerstate;
967} 965}
968 966
969void 967static void
970releasetiger(struct IsdnCardState *cs) 968releasetiger(struct IsdnCardState *cs)
971{ 969{
972 if (cs->bcs[0].hw.tiger.send) { 970 if (cs->bcs[0].hw.tiger.send) {
diff --git a/drivers/isdn/hisax/niccy.c b/drivers/isdn/hisax/niccy.c
index cf77d8360975..68a2159cbd11 100644
--- a/drivers/isdn/hisax/niccy.c
+++ b/drivers/isdn/hisax/niccy.c
@@ -24,7 +24,7 @@
24#include <linux/isapnp.h> 24#include <linux/isapnp.h>
25 25
26extern const char *CardType[]; 26extern const char *CardType[];
27const char *niccy_revision = "$Revision: 1.21.2.4 $"; 27static const char *niccy_revision = "$Revision: 1.21.2.4 $";
28 28
29#define byteout(addr,val) outb(val,addr) 29#define byteout(addr,val) outb(val,addr)
30#define bytein(addr) inb(addr) 30#define bytein(addr) inb(addr)
@@ -178,7 +178,7 @@ niccy_interrupt(int intno, void *dev_id, struct pt_regs *regs)
178 return IRQ_HANDLED; 178 return IRQ_HANDLED;
179} 179}
180 180
181void 181static void
182release_io_niccy(struct IsdnCardState *cs) 182release_io_niccy(struct IsdnCardState *cs)
183{ 183{
184 if (cs->subtyp == NICCY_PCI) { 184 if (cs->subtyp == NICCY_PCI) {
diff --git a/drivers/isdn/hisax/nj_s.c b/drivers/isdn/hisax/nj_s.c
index fd664697f821..a7d3cd3f36fd 100644
--- a/drivers/isdn/hisax/nj_s.c
+++ b/drivers/isdn/hisax/nj_s.c
@@ -15,7 +15,7 @@
15#include <linux/ppp_defs.h> 15#include <linux/ppp_defs.h>
16#include "netjet.h" 16#include "netjet.h"
17 17
18const char *NETjet_S_revision = "$Revision: 2.13.2.4 $"; 18static const char *NETjet_S_revision = "$Revision: 2.13.2.4 $";
19 19
20static u_char dummyrr(struct IsdnCardState *cs, int chan, u_char off) 20static u_char dummyrr(struct IsdnCardState *cs, int chan, u_char off)
21{ 21{
diff --git a/drivers/isdn/hisax/nj_u.c b/drivers/isdn/hisax/nj_u.c
index 3d6441e9633c..1ae7cac98a87 100644
--- a/drivers/isdn/hisax/nj_u.c
+++ b/drivers/isdn/hisax/nj_u.c
@@ -15,7 +15,7 @@
15#include <linux/ppp_defs.h> 15#include <linux/ppp_defs.h>
16#include "netjet.h" 16#include "netjet.h"
17 17
18const char *NETjet_U_revision = "$Revision: 2.14.2.3 $"; 18static const char *NETjet_U_revision = "$Revision: 2.14.2.3 $";
19 19
20static u_char dummyrr(struct IsdnCardState *cs, int chan, u_char off) 20static u_char dummyrr(struct IsdnCardState *cs, int chan, u_char off)
21{ 21{
diff --git a/drivers/isdn/hisax/q931.c b/drivers/isdn/hisax/q931.c
index 170fcd4a3984..abecabf8c271 100644
--- a/drivers/isdn/hisax/q931.c
+++ b/drivers/isdn/hisax/q931.c
@@ -516,7 +516,7 @@ struct MessageType cause_1tr6[] =
516 {CAUSE_UserInfoDiscarded, "User Info Discarded"} 516 {CAUSE_UserInfoDiscarded, "User Info Discarded"}
517}; 517};
518 518
519int cause_1tr6_len = (sizeof(cause_1tr6) / sizeof(struct MessageType)); 519static int cause_1tr6_len = (sizeof(cause_1tr6) / sizeof(struct MessageType));
520 520
521static int 521static int
522prcause_1tr6(char *dest, u_char * p) 522prcause_1tr6(char *dest, u_char * p)
@@ -935,7 +935,7 @@ display(char *dest, u_char * p)
935 return (dp - dest); 935 return (dp - dest);
936} 936}
937 937
938int 938static int
939prfacility(char *dest, u_char * p) 939prfacility(char *dest, u_char * p)
940{ 940{
941 char *dp = dest; 941 char *dp = dest;
diff --git a/drivers/isdn/hisax/s0box.c b/drivers/isdn/hisax/s0box.c
index f3c481384a4e..7b63085ea6e5 100644
--- a/drivers/isdn/hisax/s0box.c
+++ b/drivers/isdn/hisax/s0box.c
@@ -17,7 +17,7 @@
17#include "isdnl1.h" 17#include "isdnl1.h"
18 18
19extern const char *CardType[]; 19extern const char *CardType[];
20const char *s0box_revision = "$Revision: 2.6.2.4 $"; 20static const char *s0box_revision = "$Revision: 2.6.2.4 $";
21 21
22static inline void 22static inline void
23writereg(unsigned int padr, signed int addr, u_char off, u_char val) { 23writereg(unsigned int padr, signed int addr, u_char off, u_char val) {
@@ -183,7 +183,7 @@ s0box_interrupt(int intno, void *dev_id, struct pt_regs *regs)
183 return IRQ_HANDLED; 183 return IRQ_HANDLED;
184} 184}
185 185
186void 186static void
187release_io_s0box(struct IsdnCardState *cs) 187release_io_s0box(struct IsdnCardState *cs)
188{ 188{
189 release_region(cs->hw.teles3.cfg_reg, 8); 189 release_region(cs->hw.teles3.cfg_reg, 8);
diff --git a/drivers/isdn/hisax/saphir.c b/drivers/isdn/hisax/saphir.c
index 9e6d3d686cce..821776e1561a 100644
--- a/drivers/isdn/hisax/saphir.c
+++ b/drivers/isdn/hisax/saphir.c
@@ -171,7 +171,7 @@ SaphirWatchDog(struct IsdnCardState *cs)
171 mod_timer(&cs->hw.saphir.timer, jiffies+1*HZ); 171 mod_timer(&cs->hw.saphir.timer, jiffies+1*HZ);
172} 172}
173 173
174void 174static void
175release_io_saphir(struct IsdnCardState *cs) 175release_io_saphir(struct IsdnCardState *cs)
176{ 176{
177 byteout(cs->hw.saphir.cfg_reg + IRQ_REG, 0xff); 177 byteout(cs->hw.saphir.cfg_reg + IRQ_REG, 0xff);
diff --git a/drivers/isdn/hisax/sedlbauer.c b/drivers/isdn/hisax/sedlbauer.c
index 8390f1606853..8c044a6a7fe3 100644
--- a/drivers/isdn/hisax/sedlbauer.c
+++ b/drivers/isdn/hisax/sedlbauer.c
@@ -51,9 +51,9 @@
51 51
52extern const char *CardType[]; 52extern const char *CardType[];
53 53
54const char *Sedlbauer_revision = "$Revision: 1.34.2.6 $"; 54static const char *Sedlbauer_revision = "$Revision: 1.34.2.6 $";
55 55
56const char *Sedlbauer_Types[] = 56static const char *Sedlbauer_Types[] =
57 {"None", "speed card/win", "speed star", "speed fax+", 57 {"None", "speed card/win", "speed star", "speed fax+",
58 "speed win II / ISDN PC/104", "speed star II", "speed pci", 58 "speed win II / ISDN PC/104", "speed star II", "speed pci",
59 "speed fax+ pyramid", "speed fax+ pci", "HST Saphir III"}; 59 "speed fax+ pyramid", "speed fax+ pci", "HST Saphir III"};
@@ -394,7 +394,7 @@ sedlbauer_interrupt_isar(int intno, void *dev_id, struct pt_regs *regs)
394 return IRQ_HANDLED; 394 return IRQ_HANDLED;
395} 395}
396 396
397void 397static void
398release_io_sedlbauer(struct IsdnCardState *cs) 398release_io_sedlbauer(struct IsdnCardState *cs)
399{ 399{
400 int bytecnt = 8; 400 int bytecnt = 8;
diff --git a/drivers/isdn/hisax/sportster.c b/drivers/isdn/hisax/sportster.c
index 132840b750ce..cdf35dc564c4 100644
--- a/drivers/isdn/hisax/sportster.c
+++ b/drivers/isdn/hisax/sportster.c
@@ -19,7 +19,7 @@
19#include "isdnl1.h" 19#include "isdnl1.h"
20 20
21extern const char *CardType[]; 21extern const char *CardType[];
22const char *sportster_revision = "$Revision: 1.16.2.4 $"; 22static const char *sportster_revision = "$Revision: 1.16.2.4 $";
23 23
24#define byteout(addr,val) outb(val,addr) 24#define byteout(addr,val) outb(val,addr)
25#define bytein(addr) inb(addr) 25#define bytein(addr) inb(addr)
@@ -132,7 +132,7 @@ sportster_interrupt(int intno, void *dev_id, struct pt_regs *regs)
132 return IRQ_HANDLED; 132 return IRQ_HANDLED;
133} 133}
134 134
135void 135static void
136release_io_sportster(struct IsdnCardState *cs) 136release_io_sportster(struct IsdnCardState *cs)
137{ 137{
138 int i, adr; 138 int i, adr;
@@ -144,7 +144,7 @@ release_io_sportster(struct IsdnCardState *cs)
144 } 144 }
145} 145}
146 146
147void 147static void
148reset_sportster(struct IsdnCardState *cs) 148reset_sportster(struct IsdnCardState *cs)
149{ 149{
150 cs->hw.spt.res_irq |= SPORTSTER_RESET; /* Reset On */ 150 cs->hw.spt.res_irq |= SPORTSTER_RESET; /* Reset On */
diff --git a/drivers/isdn/hisax/st5481.h b/drivers/isdn/hisax/st5481.h
index e8177b017b1d..0fda5c89429b 100644
--- a/drivers/isdn/hisax/st5481.h
+++ b/drivers/isdn/hisax/st5481.h
@@ -450,12 +450,8 @@ int st5481_setup_isocpipes(struct urb* urb[2], struct usb_device *dev,
450 usb_complete_t complete, void *context); 450 usb_complete_t complete, void *context);
451void st5481_release_isocpipes(struct urb* urb[2]); 451void st5481_release_isocpipes(struct urb* urb[2]);
452 452
453int st5481_isoc_flatten(struct urb *urb);
454void st5481_usb_pipe_reset(struct st5481_adapter *adapter, 453void st5481_usb_pipe_reset(struct st5481_adapter *adapter,
455 u_char pipe, ctrl_complete_t complete, void *context); 454 u_char pipe, ctrl_complete_t complete, void *context);
456void st5481_usb_ctrl_msg(struct st5481_adapter *adapter,
457 u8 request, u8 requesttype, u16 value, u16 index,
458 ctrl_complete_t complete, void *context);
459void st5481_usb_device_ctrl_msg(struct st5481_adapter *adapter, 455void st5481_usb_device_ctrl_msg(struct st5481_adapter *adapter,
460 u8 request, u16 value, 456 u8 request, u16 value,
461 ctrl_complete_t complete, void *context); 457 ctrl_complete_t complete, void *context);
diff --git a/drivers/isdn/hisax/st5481_hdlc.c b/drivers/isdn/hisax/st5481_hdlc.c
deleted file mode 100644
index 680f42e9a993..000000000000
--- a/drivers/isdn/hisax/st5481_hdlc.c
+++ /dev/null
@@ -1,580 +0,0 @@
1/*
2 * Driver for ST5481 USB ISDN modem
3 *
4 * Author Frode Isaksen
5 * Copyright 2001 by Frode Isaksen <fisaksen@bewan.com>
6 * 2001 by Kai Germaschewski <kai.germaschewski@gmx.de>
7 *
8 * This software may be used and distributed according to the terms
9 * of the GNU General Public License, incorporated herein by reference.
10 *
11 */
12
13#include <linux/crc-ccitt.h>
14#include "st5481_hdlc.h"
15
16
17enum {
18 HDLC_FAST_IDLE,HDLC_GET_FLAG_B0,HDLC_GETFLAG_B1A6,HDLC_GETFLAG_B7,
19 HDLC_GET_DATA,HDLC_FAST_FLAG
20};
21
22enum {
23 HDLC_SEND_DATA,HDLC_SEND_CRC1,HDLC_SEND_FAST_FLAG,
24 HDLC_SEND_FIRST_FLAG,HDLC_SEND_CRC2,HDLC_SEND_CLOSING_FLAG,
25 HDLC_SEND_IDLE1,HDLC_SEND_FAST_IDLE,HDLC_SENDFLAG_B0,
26 HDLC_SENDFLAG_B1A6,HDLC_SENDFLAG_B7,STOPPED
27};
28
29void
30hdlc_rcv_init(struct hdlc_vars *hdlc, int do_adapt56)
31{
32 hdlc->bit_shift = 0;
33 hdlc->hdlc_bits1 = 0;
34 hdlc->data_bits = 0;
35 hdlc->ffbit_shift = 0;
36 hdlc->data_received = 0;
37 hdlc->state = HDLC_GET_DATA;
38 hdlc->do_adapt56 = do_adapt56;
39 hdlc->dchannel = 0;
40 hdlc->crc = 0;
41 hdlc->cbin = 0;
42 hdlc->shift_reg = 0;
43 hdlc->ffvalue = 0;
44 hdlc->dstpos = 0;
45}
46
47void
48hdlc_out_init(struct hdlc_vars *hdlc, int is_d_channel, int do_adapt56)
49{
50 hdlc->bit_shift = 0;
51 hdlc->hdlc_bits1 = 0;
52 hdlc->data_bits = 0;
53 hdlc->ffbit_shift = 0;
54 hdlc->data_received = 0;
55 hdlc->do_closing = 0;
56 hdlc->ffvalue = 0;
57 if (is_d_channel) {
58 hdlc->dchannel = 1;
59 hdlc->state = HDLC_SEND_FIRST_FLAG;
60 } else {
61 hdlc->dchannel = 0;
62 hdlc->state = HDLC_SEND_FAST_FLAG;
63 hdlc->ffvalue = 0x7e;
64 }
65 hdlc->cbin = 0x7e;
66 hdlc->bit_shift = 0;
67 if(do_adapt56){
68 hdlc->do_adapt56 = 1;
69 hdlc->data_bits = 0;
70 hdlc->state = HDLC_SENDFLAG_B0;
71 } else {
72 hdlc->do_adapt56 = 0;
73 hdlc->data_bits = 8;
74 }
75 hdlc->shift_reg = 0;
76}
77
78/*
79 hdlc_decode - decodes HDLC frames from a transparent bit stream.
80
81 The source buffer is scanned for valid HDLC frames looking for
82 flags (01111110) to indicate the start of a frame. If the start of
83 the frame is found, the bit stuffing is removed (0 after 5 1's).
84 When a new flag is found, the complete frame has been received
85 and the CRC is checked.
86 If a valid frame is found, the function returns the frame length
87 excluding the CRC with the bit HDLC_END_OF_FRAME set.
88 If the beginning of a valid frame is found, the function returns
89 the length.
90 If a framing error is found (too many 1s and not a flag) the function
91 returns the length with the bit HDLC_FRAMING_ERROR set.
92 If a CRC error is found the function returns the length with the
93 bit HDLC_CRC_ERROR set.
94 If the frame length exceeds the destination buffer size, the function
95 returns the length with the bit HDLC_LENGTH_ERROR set.
96
97 src - source buffer
98 slen - source buffer length
99 count - number of bytes removed (decoded) from the source buffer
100 dst _ destination buffer
101 dsize - destination buffer size
102 returns - number of decoded bytes in the destination buffer and status
103 flag.
104 */
105int hdlc_decode(struct hdlc_vars *hdlc, const unsigned char *src,
106 int slen, int *count, unsigned char *dst, int dsize)
107{
108 int status=0;
109
110 static const unsigned char fast_flag[]={
111 0x00,0x00,0x00,0x20,0x30,0x38,0x3c,0x3e,0x3f
112 };
113
114 static const unsigned char fast_flag_value[]={
115 0x00,0x7e,0xfc,0xf9,0xf3,0xe7,0xcf,0x9f,0x3f
116 };
117
118 static const unsigned char fast_abort[]={
119 0x00,0x00,0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff
120 };
121
122 *count = slen;
123
124 while(slen > 0){
125 if(hdlc->bit_shift==0){
126 hdlc->cbin = *src++;
127 slen--;
128 hdlc->bit_shift = 8;
129 if(hdlc->do_adapt56){
130 hdlc->bit_shift --;
131 }
132 }
133
134 switch(hdlc->state){
135 case STOPPED:
136 return 0;
137 case HDLC_FAST_IDLE:
138 if(hdlc->cbin == 0xff){
139 hdlc->bit_shift = 0;
140 break;
141 }
142 hdlc->state = HDLC_GET_FLAG_B0;
143 hdlc->hdlc_bits1 = 0;
144 hdlc->bit_shift = 8;
145 break;
146 case HDLC_GET_FLAG_B0:
147 if(!(hdlc->cbin & 0x80)) {
148 hdlc->state = HDLC_GETFLAG_B1A6;
149 hdlc->hdlc_bits1 = 0;
150 } else {
151 if(!hdlc->do_adapt56){
152 if(++hdlc->hdlc_bits1 >=8 ) if(hdlc->bit_shift==1)
153 hdlc->state = HDLC_FAST_IDLE;
154 }
155 }
156 hdlc->cbin<<=1;
157 hdlc->bit_shift --;
158 break;
159 case HDLC_GETFLAG_B1A6:
160 if(hdlc->cbin & 0x80){
161 hdlc->hdlc_bits1++;
162 if(hdlc->hdlc_bits1==6){
163 hdlc->state = HDLC_GETFLAG_B7;
164 }
165 } else {
166 hdlc->hdlc_bits1 = 0;
167 }
168 hdlc->cbin<<=1;
169 hdlc->bit_shift --;
170 break;
171 case HDLC_GETFLAG_B7:
172 if(hdlc->cbin & 0x80) {
173 hdlc->state = HDLC_GET_FLAG_B0;
174 } else {
175 hdlc->state = HDLC_GET_DATA;
176 hdlc->crc = 0xffff;
177 hdlc->shift_reg = 0;
178 hdlc->hdlc_bits1 = 0;
179 hdlc->data_bits = 0;
180 hdlc->data_received = 0;
181 }
182 hdlc->cbin<<=1;
183 hdlc->bit_shift --;
184 break;
185 case HDLC_GET_DATA:
186 if(hdlc->cbin & 0x80){
187 hdlc->hdlc_bits1++;
188 switch(hdlc->hdlc_bits1){
189 case 6:
190 break;
191 case 7:
192 if(hdlc->data_received) {
193 // bad frame
194 status = -HDLC_FRAMING_ERROR;
195 }
196 if(!hdlc->do_adapt56){
197 if(hdlc->cbin==fast_abort[hdlc->bit_shift+1]){
198 hdlc->state = HDLC_FAST_IDLE;
199 hdlc->bit_shift=1;
200 break;
201 }
202 } else {
203 hdlc->state = HDLC_GET_FLAG_B0;
204 }
205 break;
206 default:
207 hdlc->shift_reg>>=1;
208 hdlc->shift_reg |= 0x80;
209 hdlc->data_bits++;
210 break;
211 }
212 } else {
213 switch(hdlc->hdlc_bits1){
214 case 5:
215 break;
216 case 6:
217 if(hdlc->data_received){
218 if (hdlc->dstpos < 2) {
219 status = -HDLC_FRAMING_ERROR;
220 } else if (hdlc->crc != 0xf0b8){
221 // crc error
222 status = -HDLC_CRC_ERROR;
223 } else {
224 // remove CRC
225 hdlc->dstpos -= 2;
226 // good frame
227 status = hdlc->dstpos;
228 }
229 }
230 hdlc->crc = 0xffff;
231 hdlc->shift_reg = 0;
232 hdlc->data_bits = 0;
233 if(!hdlc->do_adapt56){
234 if(hdlc->cbin==fast_flag[hdlc->bit_shift]){
235 hdlc->ffvalue = fast_flag_value[hdlc->bit_shift];
236 hdlc->state = HDLC_FAST_FLAG;
237 hdlc->ffbit_shift = hdlc->bit_shift;
238 hdlc->bit_shift = 1;
239 } else {
240 hdlc->state = HDLC_GET_DATA;
241 hdlc->data_received = 0;
242 }
243 } else {
244 hdlc->state = HDLC_GET_DATA;
245 hdlc->data_received = 0;
246 }
247 break;
248 default:
249 hdlc->shift_reg>>=1;
250 hdlc->data_bits++;
251 break;
252 }
253 hdlc->hdlc_bits1 = 0;
254 }
255 if (status) {
256 hdlc->dstpos = 0;
257 *count -= slen;
258 hdlc->cbin <<= 1;
259 hdlc->bit_shift--;
260 return status;
261 }
262 if(hdlc->data_bits==8){
263 hdlc->data_bits = 0;
264 hdlc->data_received = 1;
265 hdlc->crc = crc_ccitt_byte(hdlc->crc, hdlc->shift_reg);
266
267 // good byte received
268 if (dsize--) {
269 dst[hdlc->dstpos++] = hdlc->shift_reg;
270 } else {
271 // frame too long
272 status = -HDLC_LENGTH_ERROR;
273 hdlc->dstpos = 0;
274 }
275 }
276 hdlc->cbin <<= 1;
277 hdlc->bit_shift--;
278 break;
279 case HDLC_FAST_FLAG:
280 if(hdlc->cbin==hdlc->ffvalue){
281 hdlc->bit_shift = 0;
282 break;
283 } else {
284 if(hdlc->cbin == 0xff){
285 hdlc->state = HDLC_FAST_IDLE;
286 hdlc->bit_shift=0;
287 } else if(hdlc->ffbit_shift==8){
288 hdlc->state = HDLC_GETFLAG_B7;
289 break;
290 } else {
291 hdlc->shift_reg = fast_abort[hdlc->ffbit_shift-1];
292 hdlc->hdlc_bits1 = hdlc->ffbit_shift-2;
293 if(hdlc->hdlc_bits1<0)hdlc->hdlc_bits1 = 0;
294 hdlc->data_bits = hdlc->ffbit_shift-1;
295 hdlc->state = HDLC_GET_DATA;
296 hdlc->data_received = 0;
297 }
298 }
299 break;
300 default:
301 break;
302 }
303 }
304 *count -= slen;
305 return 0;
306}
307
308/*
309 hdlc_encode - encodes HDLC frames to a transparent bit stream.
310
311 The bit stream starts with a beginning flag (01111110). After
312 that each byte is added to the bit stream with bit stuffing added
313 (0 after 5 1's).
314 When the last byte has been removed from the source buffer, the
315 CRC (2 bytes is added) and the frame terminates with the ending flag.
316 For the dchannel, the idle character (all 1's) is also added at the end.
317 If this function is called with empty source buffer (slen=0), flags or
318 idle character will be generated.
319
320 src - source buffer
321 slen - source buffer length
322 count - number of bytes removed (encoded) from source buffer
323 dst _ destination buffer
324 dsize - destination buffer size
325 returns - number of encoded bytes in the destination buffer
326*/
327int hdlc_encode(struct hdlc_vars *hdlc, const unsigned char *src,
328 unsigned short slen, int *count,
329 unsigned char *dst, int dsize)
330{
331 static const unsigned char xfast_flag_value[] = {
332 0x7e,0x3f,0x9f,0xcf,0xe7,0xf3,0xf9,0xfc,0x7e
333 };
334
335 int len = 0;
336
337 *count = slen;
338
339 while (dsize > 0) {
340 if(hdlc->bit_shift==0){
341 if(slen && !hdlc->do_closing){
342 hdlc->shift_reg = *src++;
343 slen--;
344 if (slen == 0)
345 hdlc->do_closing = 1; /* closing sequence, CRC + flag(s) */
346 hdlc->bit_shift = 8;
347 } else {
348 if(hdlc->state == HDLC_SEND_DATA){
349 if(hdlc->data_received){
350 hdlc->state = HDLC_SEND_CRC1;
351 hdlc->crc ^= 0xffff;
352 hdlc->bit_shift = 8;
353 hdlc->shift_reg = hdlc->crc & 0xff;
354 } else if(!hdlc->do_adapt56){
355 hdlc->state = HDLC_SEND_FAST_FLAG;
356 } else {
357 hdlc->state = HDLC_SENDFLAG_B0;
358 }
359 }
360
361 }
362 }
363
364 switch(hdlc->state){
365 case STOPPED:
366 while (dsize--)
367 *dst++ = 0xff;
368
369 return dsize;
370 case HDLC_SEND_FAST_FLAG:
371 hdlc->do_closing = 0;
372 if(slen == 0){
373 *dst++ = hdlc->ffvalue;
374 len++;
375 dsize--;
376 break;
377 }
378 if(hdlc->bit_shift==8){
379 hdlc->cbin = hdlc->ffvalue>>(8-hdlc->data_bits);
380 hdlc->state = HDLC_SEND_DATA;
381 hdlc->crc = 0xffff;
382 hdlc->hdlc_bits1 = 0;
383 hdlc->data_received = 1;
384 }
385 break;
386 case HDLC_SENDFLAG_B0:
387 hdlc->do_closing = 0;
388 hdlc->cbin <<= 1;
389 hdlc->data_bits++;
390 hdlc->hdlc_bits1 = 0;
391 hdlc->state = HDLC_SENDFLAG_B1A6;
392 break;
393 case HDLC_SENDFLAG_B1A6:
394 hdlc->cbin <<= 1;
395 hdlc->data_bits++;
396 hdlc->cbin++;
397 if(++hdlc->hdlc_bits1 == 6)
398 hdlc->state = HDLC_SENDFLAG_B7;
399 break;
400 case HDLC_SENDFLAG_B7:
401 hdlc->cbin <<= 1;
402 hdlc->data_bits++;
403 if(slen == 0){
404 hdlc->state = HDLC_SENDFLAG_B0;
405 break;
406 }
407 if(hdlc->bit_shift==8){
408 hdlc->state = HDLC_SEND_DATA;
409 hdlc->crc = 0xffff;
410 hdlc->hdlc_bits1 = 0;
411 hdlc->data_received = 1;
412 }
413 break;
414 case HDLC_SEND_FIRST_FLAG:
415 hdlc->data_received = 1;
416 if(hdlc->data_bits==8){
417 hdlc->state = HDLC_SEND_DATA;
418 hdlc->crc = 0xffff;
419 hdlc->hdlc_bits1 = 0;
420 break;
421 }
422 hdlc->cbin <<= 1;
423 hdlc->data_bits++;
424 if(hdlc->shift_reg & 0x01)
425 hdlc->cbin++;
426 hdlc->shift_reg >>= 1;
427 hdlc->bit_shift--;
428 if(hdlc->bit_shift==0){
429 hdlc->state = HDLC_SEND_DATA;
430 hdlc->crc = 0xffff;
431 hdlc->hdlc_bits1 = 0;
432 }
433 break;
434 case HDLC_SEND_DATA:
435 hdlc->cbin <<= 1;
436 hdlc->data_bits++;
437 if(hdlc->hdlc_bits1 == 5){
438 hdlc->hdlc_bits1 = 0;
439 break;
440 }
441 if(hdlc->bit_shift==8){
442 hdlc->crc = crc_ccitt_byte(hdlc->crc, hdlc->shift_reg);
443 }
444 if(hdlc->shift_reg & 0x01){
445 hdlc->hdlc_bits1++;
446 hdlc->cbin++;
447 hdlc->shift_reg >>= 1;
448 hdlc->bit_shift--;
449 } else {
450 hdlc->hdlc_bits1 = 0;
451 hdlc->shift_reg >>= 1;
452 hdlc->bit_shift--;
453 }
454 break;
455 case HDLC_SEND_CRC1:
456 hdlc->cbin <<= 1;
457 hdlc->data_bits++;
458 if(hdlc->hdlc_bits1 == 5){
459 hdlc->hdlc_bits1 = 0;
460 break;
461 }
462 if(hdlc->shift_reg & 0x01){
463 hdlc->hdlc_bits1++;
464 hdlc->cbin++;
465 hdlc->shift_reg >>= 1;
466 hdlc->bit_shift--;
467 } else {
468 hdlc->hdlc_bits1 = 0;
469 hdlc->shift_reg >>= 1;
470 hdlc->bit_shift--;
471 }
472 if(hdlc->bit_shift==0){
473 hdlc->shift_reg = (hdlc->crc >> 8);
474 hdlc->state = HDLC_SEND_CRC2;
475 hdlc->bit_shift = 8;
476 }
477 break;
478 case HDLC_SEND_CRC2:
479 hdlc->cbin <<= 1;
480 hdlc->data_bits++;
481 if(hdlc->hdlc_bits1 == 5){
482 hdlc->hdlc_bits1 = 0;
483 break;
484 }
485 if(hdlc->shift_reg & 0x01){
486 hdlc->hdlc_bits1++;
487 hdlc->cbin++;
488 hdlc->shift_reg >>= 1;
489 hdlc->bit_shift--;
490 } else {
491 hdlc->hdlc_bits1 = 0;
492 hdlc->shift_reg >>= 1;
493 hdlc->bit_shift--;
494 }
495 if(hdlc->bit_shift==0){
496 hdlc->shift_reg = 0x7e;
497 hdlc->state = HDLC_SEND_CLOSING_FLAG;
498 hdlc->bit_shift = 8;
499 }
500 break;
501 case HDLC_SEND_CLOSING_FLAG:
502 hdlc->cbin <<= 1;
503 hdlc->data_bits++;
504 if(hdlc->hdlc_bits1 == 5){
505 hdlc->hdlc_bits1 = 0;
506 break;
507 }
508 if(hdlc->shift_reg & 0x01){
509 hdlc->cbin++;
510 }
511 hdlc->shift_reg >>= 1;
512 hdlc->bit_shift--;
513 if(hdlc->bit_shift==0){
514 hdlc->ffvalue = xfast_flag_value[hdlc->data_bits];
515 if(hdlc->dchannel){
516 hdlc->ffvalue = 0x7e;
517 hdlc->state = HDLC_SEND_IDLE1;
518 hdlc->bit_shift = 8-hdlc->data_bits;
519 if(hdlc->bit_shift==0)
520 hdlc->state = HDLC_SEND_FAST_IDLE;
521 } else {
522 if(!hdlc->do_adapt56){
523 hdlc->state = HDLC_SEND_FAST_FLAG;
524 hdlc->data_received = 0;
525 } else {
526 hdlc->state = HDLC_SENDFLAG_B0;
527 hdlc->data_received = 0;
528 }
529 // Finished with this frame, send flags
530 if (dsize > 1) dsize = 1;
531 }
532 }
533 break;
534 case HDLC_SEND_IDLE1:
535 hdlc->do_closing = 0;
536 hdlc->cbin <<= 1;
537 hdlc->cbin++;
538 hdlc->data_bits++;
539 hdlc->bit_shift--;
540 if(hdlc->bit_shift==0){
541 hdlc->state = HDLC_SEND_FAST_IDLE;
542 hdlc->bit_shift = 0;
543 }
544 break;
545 case HDLC_SEND_FAST_IDLE:
546 hdlc->do_closing = 0;
547 hdlc->cbin = 0xff;
548 hdlc->data_bits = 8;
549 if(hdlc->bit_shift == 8){
550 hdlc->cbin = 0x7e;
551 hdlc->state = HDLC_SEND_FIRST_FLAG;
552 } else {
553 *dst++ = hdlc->cbin;
554 hdlc->bit_shift = hdlc->data_bits = 0;
555 len++;
556 dsize = 0;
557 }
558 break;
559 default:
560 break;
561 }
562 if(hdlc->do_adapt56){
563 if(hdlc->data_bits==7){
564 hdlc->cbin <<= 1;
565 hdlc->cbin++;
566 hdlc->data_bits++;
567 }
568 }
569 if(hdlc->data_bits==8){
570 *dst++ = hdlc->cbin;
571 hdlc->data_bits = 0;
572 len++;
573 dsize--;
574 }
575 }
576 *count -= slen;
577
578 return len;
579}
580
diff --git a/drivers/isdn/hisax/st5481_hdlc.h b/drivers/isdn/hisax/st5481_hdlc.h
deleted file mode 100644
index 495432f0f6ba..000000000000
--- a/drivers/isdn/hisax/st5481_hdlc.h
+++ /dev/null
@@ -1,62 +0,0 @@
1/*
2 * Driver for ST5481 USB ISDN modem
3 *
4 * Author Frode Isaksen
5 * Copyright 2001 by Frode Isaksen <fisaksen@bewan.com>
6 * 2001 by Kai Germaschewski <kai.germaschewski@gmx.de>
7 *
8 * This software may be used and distributed according to the terms
9 * of the GNU General Public License, incorporated herein by reference.
10 *
11 */
12
13#ifndef __ST5481_HDLC_H__
14#define __ST5481_HDLC_H__
15
16struct hdlc_vars {
17 int bit_shift;
18 int hdlc_bits1;
19 int data_bits;
20 int ffbit_shift; // encoding only
21 int state;
22 int dstpos;
23
24 int data_received:1; // set if transferring data
25 int dchannel:1; // set if D channel (send idle instead of flags)
26 int do_adapt56:1; // set if 56K adaptation
27 int do_closing:1; // set if in closing phase (need to send CRC + flag
28
29 unsigned short crc;
30
31 unsigned char cbin;
32 unsigned char shift_reg;
33 unsigned char ffvalue;
34
35};
36
37
38/*
39 The return value from hdlc_decode is
40 the frame length, 0 if no complete frame was decoded,
41 or a negative error number
42*/
43
44#define HDLC_FRAMING_ERROR 1
45#define HDLC_CRC_ERROR 2
46#define HDLC_LENGTH_ERROR 3
47
48void
49hdlc_rcv_init(struct hdlc_vars *hdlc, int do_adapt56);
50
51int
52hdlc_decode(struct hdlc_vars *hdlc, const unsigned char *src, int slen,int *count,
53 unsigned char *dst, int dsize);
54
55void
56hdlc_out_init(struct hdlc_vars *hdlc,int is_d_channel,int do_adapt56);
57
58int
59hdlc_encode(struct hdlc_vars *hdlc,const unsigned char *src,unsigned short slen,int *count,
60 unsigned char *dst,int dsize);
61
62#endif
diff --git a/drivers/isdn/hisax/st5481_usb.c b/drivers/isdn/hisax/st5481_usb.c
index 2369180b1cb1..ab62223297a5 100644
--- a/drivers/isdn/hisax/st5481_usb.c
+++ b/drivers/isdn/hisax/st5481_usb.c
@@ -15,6 +15,8 @@
15#include <linux/slab.h> 15#include <linux/slab.h>
16#include "st5481.h" 16#include "st5481.h"
17 17
18static int st5481_isoc_flatten(struct urb *urb);
19
18/* ====================================================================== 20/* ======================================================================
19 * control pipe 21 * control pipe
20 */ 22 */
@@ -55,9 +57,9 @@ static void usb_next_ctrl_msg(struct urb *urb,
55 * Asynchronous endpoint 0 request (async version of usb_control_msg). 57 * Asynchronous endpoint 0 request (async version of usb_control_msg).
56 * The request will be queued up in a FIFO if the endpoint is busy. 58 * The request will be queued up in a FIFO if the endpoint is busy.
57 */ 59 */
58void usb_ctrl_msg(struct st5481_adapter *adapter, 60static void usb_ctrl_msg(struct st5481_adapter *adapter,
59 u8 request, u8 requesttype, u16 value, u16 index, 61 u8 request, u8 requesttype, u16 value, u16 index,
60 ctrl_complete_t complete, void *context) 62 ctrl_complete_t complete, void *context)
61{ 63{
62 struct st5481_ctrl *ctrl = &adapter->ctrl; 64 struct st5481_ctrl *ctrl = &adapter->ctrl;
63 int w_index; 65 int w_index;
@@ -571,7 +573,7 @@ void st5481_release_in(struct st5481_in *in)
571 * Make the transfer_buffer contiguous by 573 * Make the transfer_buffer contiguous by
572 * copying from the iso descriptors if necessary. 574 * copying from the iso descriptors if necessary.
573 */ 575 */
574int st5481_isoc_flatten(struct urb *urb) 576static int st5481_isoc_flatten(struct urb *urb)
575{ 577{
576 struct usb_iso_packet_descriptor *pipd,*pend; 578 struct usb_iso_packet_descriptor *pipd,*pend;
577 unsigned char *src,*dst; 579 unsigned char *src,*dst;
diff --git a/drivers/isdn/hisax/tei.c b/drivers/isdn/hisax/tei.c
index 082726db3985..ceb0df92fd3e 100644
--- a/drivers/isdn/hisax/tei.c
+++ b/drivers/isdn/hisax/tei.c
@@ -74,7 +74,7 @@ static char *strTeiEvent[] =
74 "EV_T202", 74 "EV_T202",
75}; 75};
76 76
77unsigned int 77static unsigned int
78random_ri(void) 78random_ri(void)
79{ 79{
80 unsigned int x; 80 unsigned int x;
diff --git a/drivers/isdn/hisax/teleint.c b/drivers/isdn/hisax/teleint.c
index ef8984c5f1f7..a2b1816af37a 100644
--- a/drivers/isdn/hisax/teleint.c
+++ b/drivers/isdn/hisax/teleint.c
@@ -18,7 +18,7 @@
18 18
19extern const char *CardType[]; 19extern const char *CardType[];
20 20
21const char *TeleInt_revision = "$Revision: 1.16.2.5 $"; 21static const char *TeleInt_revision = "$Revision: 1.16.2.5 $";
22 22
23#define byteout(addr,val) outb(val,addr) 23#define byteout(addr,val) outb(val,addr)
24#define bytein(addr) inb(addr) 24#define bytein(addr) inb(addr)
@@ -203,7 +203,7 @@ TeleInt_Timer(struct IsdnCardState *cs)
203 add_timer(&cs->hw.hfc.timer); 203 add_timer(&cs->hw.hfc.timer);
204} 204}
205 205
206void 206static void
207release_io_TeleInt(struct IsdnCardState *cs) 207release_io_TeleInt(struct IsdnCardState *cs)
208{ 208{
209 del_timer(&cs->hw.hfc.timer); 209 del_timer(&cs->hw.hfc.timer);
diff --git a/drivers/isdn/hisax/teles0.c b/drivers/isdn/hisax/teles0.c
index 5ec5ec3e1eab..2b7df8f98233 100644
--- a/drivers/isdn/hisax/teles0.c
+++ b/drivers/isdn/hisax/teles0.c
@@ -23,7 +23,7 @@
23 23
24extern const char *CardType[]; 24extern const char *CardType[];
25 25
26const char *teles0_revision = "$Revision: 2.15.2.4 $"; 26static const char *teles0_revision = "$Revision: 2.15.2.4 $";
27 27
28#define TELES_IOMEM_SIZE 0x400 28#define TELES_IOMEM_SIZE 0x400
29#define byteout(addr,val) outb(val,addr) 29#define byteout(addr,val) outb(val,addr)
@@ -183,7 +183,7 @@ teles0_interrupt(int intno, void *dev_id, struct pt_regs *regs)
183 return IRQ_HANDLED; 183 return IRQ_HANDLED;
184} 184}
185 185
186void 186static void
187release_io_teles0(struct IsdnCardState *cs) 187release_io_teles0(struct IsdnCardState *cs)
188{ 188{
189 if (cs->hw.teles0.cfg_reg) 189 if (cs->hw.teles0.cfg_reg)
diff --git a/drivers/isdn/hisax/teles3.c b/drivers/isdn/hisax/teles3.c
index c5b1f65f7275..adeaad62d35c 100644
--- a/drivers/isdn/hisax/teles3.c
+++ b/drivers/isdn/hisax/teles3.c
@@ -21,7 +21,7 @@
21#include "isdnl1.h" 21#include "isdnl1.h"
22 22
23extern const char *CardType[]; 23extern const char *CardType[];
24const char *teles3_revision = "$Revision: 2.19.2.4 $"; 24static const char *teles3_revision = "$Revision: 2.19.2.4 $";
25 25
26#define byteout(addr,val) outb(val,addr) 26#define byteout(addr,val) outb(val,addr)
27#define bytein(addr) inb(addr) 27#define bytein(addr) inb(addr)
@@ -154,7 +154,7 @@ release_ioregs(struct IsdnCardState *cs, int mask)
154 release_region(cs->hw.teles3.hscx[1] + 32, 32); 154 release_region(cs->hw.teles3.hscx[1] + 32, 32);
155} 155}
156 156
157void 157static void
158release_io_teles3(struct IsdnCardState *cs) 158release_io_teles3(struct IsdnCardState *cs)
159{ 159{
160 if (cs->typ == ISDN_CTYPE_TELESPCMCIA) { 160 if (cs->typ == ISDN_CTYPE_TELESPCMCIA) {
diff --git a/drivers/isdn/hisax/telespci.c b/drivers/isdn/hisax/telespci.c
index 0661c6c31ad0..e2bb4fd8e25e 100644
--- a/drivers/isdn/hisax/telespci.c
+++ b/drivers/isdn/hisax/telespci.c
@@ -21,7 +21,7 @@
21#include <linux/pci.h> 21#include <linux/pci.h>
22 22
23extern const char *CardType[]; 23extern const char *CardType[];
24const char *telespci_revision = "$Revision: 2.23.2.3 $"; 24static const char *telespci_revision = "$Revision: 2.23.2.3 $";
25 25
26#define ZORAN_PO_RQ_PEN 0x02000000 26#define ZORAN_PO_RQ_PEN 0x02000000
27#define ZORAN_PO_WR 0x00800000 27#define ZORAN_PO_WR 0x00800000
@@ -257,7 +257,7 @@ telespci_interrupt(int intno, void *dev_id, struct pt_regs *regs)
257 return IRQ_HANDLED; 257 return IRQ_HANDLED;
258} 258}
259 259
260void 260static void
261release_io_telespci(struct IsdnCardState *cs) 261release_io_telespci(struct IsdnCardState *cs)
262{ 262{
263 iounmap(cs->hw.teles0.membase); 263 iounmap(cs->hw.teles0.membase);
diff --git a/drivers/isdn/hisax/w6692.c b/drivers/isdn/hisax/w6692.c
index d2b6b8e72980..7baf8e488471 100644
--- a/drivers/isdn/hisax/w6692.c
+++ b/drivers/isdn/hisax/w6692.c
@@ -41,7 +41,7 @@ static const PCI_ENTRY id_list[] =
41 41
42extern const char *CardType[]; 42extern const char *CardType[];
43 43
44const char *w6692_revision = "$Revision: 1.18.2.4 $"; 44static const char *w6692_revision = "$Revision: 1.18.2.4 $";
45 45
46#define DBUSY_TIMER_VALUE 80 46#define DBUSY_TIMER_VALUE 80
47 47
@@ -880,7 +880,7 @@ setstack_w6692(struct PStack *st, struct BCState *bcs)
880 return (0); 880 return (0);
881} 881}
882 882
883void resetW6692(struct IsdnCardState *cs) 883static void resetW6692(struct IsdnCardState *cs)
884{ 884{
885 cs->writeW6692(cs, W_D_CTL, W_D_CTL_SRST); 885 cs->writeW6692(cs, W_D_CTL, W_D_CTL_SRST);
886 mdelay(10); 886 mdelay(10);
@@ -902,7 +902,7 @@ void resetW6692(struct IsdnCardState *cs)
902 } 902 }
903} 903}
904 904
905void __init initW6692(struct IsdnCardState *cs, int part) 905static void __init initW6692(struct IsdnCardState *cs, int part)
906{ 906{
907 if (part & 1) { 907 if (part & 1) {
908 cs->setstack_d = setstack_W6692; 908 cs->setstack_d = setstack_W6692;