IRQ: Maintain regs pointer globally rather than passing to IRQ handlers
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / drivers / isdn / hisax / icc.c
index b4ca5859b1777cb1e99f88f7fb95714644a845ee..da706925d54d63a074532f6dfe15dd331b0e8d39 100644 (file)
 #define DBUSY_TIMER_VALUE 80
 #define ARCOFI_USE 0
 
-static char *ICCVer[] __initdata =
+static char *ICCVer[] =
 {"2070 A1/A3", "2070 B1", "2070 B2/B3", "2070 V2.4"};
 
-void __init
+void
 ICCVersion(struct IsdnCardState *cs, char *s)
 {
        int val;
@@ -571,14 +571,10 @@ setstack_icc(struct PStack *st, struct IsdnCardState *cs)
 
 static void
 DC_Close_icc(struct IsdnCardState *cs) {
-       if (cs->dc.icc.mon_rx) {
-               kfree(cs->dc.icc.mon_rx);
-               cs->dc.icc.mon_rx = NULL;
-       }
-       if (cs->dc.icc.mon_tx) {
-               kfree(cs->dc.icc.mon_tx);
-               cs->dc.icc.mon_tx = NULL;
-       }
+       kfree(cs->dc.icc.mon_rx);
+       cs->dc.icc.mon_rx = NULL;
+       kfree(cs->dc.icc.mon_tx);
+       cs->dc.icc.mon_tx = NULL;
 }
 
 static void
@@ -612,12 +608,12 @@ dbusy_timer_handler(struct IsdnCardState *cs)
                                debugl1(cs, "D-Channel Busy no skb");
                        }
                        cs->writeisac(cs, ICC_CMDR, 0x01); /* Transmitter reset */
-                       cs->irq_func(cs->irq, cs, NULL);
+                       cs->irq_func(cs->irq, cs);
                }
        }
 }
 
-void __init
+void
 initicc(struct IsdnCardState *cs)
 {
        cs->setstack_d = setstack_icc;
@@ -650,7 +646,7 @@ initicc(struct IsdnCardState *cs)
        ph_command(cs, ICC_CMD_DI);
 }
 
-void __init
+void
 clear_pending_icc_ints(struct IsdnCardState *cs)
 {
        int val, eval;