]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/isdn/hisax/w6692.c
Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee13...
[linux-2.6-omap-h63xx.git] / drivers / isdn / hisax / w6692.c
index 7baf8e4884716080266b3eb3df37a7d41152da41..1655341797a97816f510c9b90148a1862376ded4 100644 (file)
@@ -10,7 +10,6 @@
  *
  */
 
-#include <linux/config.h>
 #include <linux/init.h>
 #include "hisax.h"
 #include "w6692.h"
@@ -45,11 +44,11 @@ static const char *w6692_revision = "$Revision: 1.18.2.4 $";
 
 #define DBUSY_TIMER_VALUE 80
 
-static char *W6692Ver[] __initdata =
+static char *W6692Ver[] =
 {"W6692 V00", "W6692 V01", "W6692 V10",
  "W6692 V11"};
 
-static void __init
+static void
 W6692Version(struct IsdnCardState *cs, char *s)
 {
        int val;
@@ -401,7 +400,7 @@ W6692B_interrupt(struct IsdnCardState *cs, u_char bchan)
 }
 
 static irqreturn_t
-W6692_interrupt(int intno, void *dev_id, struct pt_regs *regs)
+W6692_interrupt(int intno, void *dev_id)
 {
        struct IsdnCardState    *cs = dev_id;
        u_char                  val, exval, v1;
@@ -716,7 +715,7 @@ dbusy_timer_handler(struct IsdnCardState *cs)
                        }
                        cs->writeW6692(cs, W_D_CMDR, W_D_CMDR_XRST);    /* Transmitter reset */
                        spin_unlock_irqrestore(&cs->lock, flags);
-                       cs->irq_func(cs->irq, cs, NULL);
+                       cs->irq_func(cs->irq, cs);
                        return;
                }
        }
@@ -819,14 +818,10 @@ close_w6692state(struct BCState *bcs)
 {
        W6692Bmode(bcs, 0, bcs->channel);
        if (test_and_clear_bit(BC_FLG_INIT, &bcs->Flag)) {
-               if (bcs->hw.w6692.rcvbuf) {
-                       kfree(bcs->hw.w6692.rcvbuf);
-                       bcs->hw.w6692.rcvbuf = NULL;
-               }
-               if (bcs->blog) {
-                       kfree(bcs->blog);
-                       bcs->blog = NULL;
-               }
+               kfree(bcs->hw.w6692.rcvbuf);
+               bcs->hw.w6692.rcvbuf = NULL;
+               kfree(bcs->blog);
+               bcs->blog = NULL;
                skb_queue_purge(&bcs->rqueue);
                skb_queue_purge(&bcs->squeue);
                if (bcs->tx_skb) {
@@ -902,7 +897,7 @@ static void resetW6692(struct IsdnCardState *cs)
        }
 }
 
-static void __init initW6692(struct IsdnCardState *cs, int part)
+static void initW6692(struct IsdnCardState *cs, int part)
 {
        if (part & 1) {
                cs->setstack_d = setstack_W6692;
@@ -997,9 +992,9 @@ w6692_card_msg(struct IsdnCardState *cs, int mt, void *arg)
 
 static int id_idx ;
 
-static struct pci_dev *dev_w6692 __initdata = NULL;
+static struct pci_dev *dev_w6692 __devinitdata = NULL;
 
-int __init 
+int __devinit
 setup_w6692(struct IsdnCard *card)
 {
        struct IsdnCardState *cs = card->cs;
@@ -1085,7 +1080,7 @@ setup_w6692(struct IsdnCard *card)
        cs->BC_Send_Data = &W6692B_fill_fifo;
        cs->cardmsg = &w6692_card_msg;
        cs->irq_func = &W6692_interrupt;
-       cs->irq_flags |= SA_SHIRQ;
+       cs->irq_flags |= IRQF_SHARED;
        W6692Version(cs, "W6692:");
        printk(KERN_INFO "W6692 ISTA=0x%X\n", ReadW6692(cs, W_ISTA));
        printk(KERN_INFO "W6692 IMASK=0x%X\n", ReadW6692(cs, W_IMASK));