Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6
[safe/jmp/linux-2.6] / drivers / net / wireless / orinoco / spectrum_cs.c
index 9b1af49..b51a9ad 100644 (file)
@@ -57,7 +57,6 @@ MODULE_PARM_DESC(ignore_cis_vcc, "Allow voltage mismatch between card and socket
  * struct orinoco_private */
 struct orinoco_pccard {
        struct pcmcia_device    *p_dev;
-       dev_node_t node;
 };
 
 /********************************************************************/
@@ -193,10 +192,6 @@ spectrum_cs_probe(struct pcmcia_device *link)
        card->p_dev = link;
        link->priv = priv;
 
-       /* Interrupt setup */
-       link->irq.Attributes = IRQ_TYPE_DYNAMIC_SHARING;
-       link->irq.Handler = orinoco_interrupt;
-
        /* General socket configuration defaults can go here.  In this
         * client, we assume very little, and rely on the CIS for
         * almost everything.  In most clients, many details (i.e.,
@@ -218,8 +213,7 @@ static void spectrum_cs_detach(struct pcmcia_device *link)
 {
        struct orinoco_private *priv = link->priv;
 
-       if (link->dev_node)
-               orinoco_if_del(priv);
+       orinoco_if_del(priv);
 
        spectrum_cs_release(link);
 
@@ -304,7 +298,6 @@ static int
 spectrum_cs_config(struct pcmcia_device *link)
 {
        struct orinoco_private *priv = link->priv;
-       struct orinoco_pccard *card = priv->card;
        hermes_t *hw = &priv->hw;
        int ret;
        void __iomem *mem;
@@ -332,12 +325,7 @@ spectrum_cs_config(struct pcmcia_device *link)
                goto failed;
        }
 
-       /*
-        * Allocate an interrupt line.  Note that this does not assign
-        * a handler to the interrupt, unless the 'Handler' member of
-        * the irq structure is initialized.
-        */
-       ret = pcmcia_request_irq(link, &link->irq);
+       ret = pcmcia_request_irq(link, orinoco_interrupt);
        if (ret)
                goto failed;
 
@@ -360,9 +348,6 @@ spectrum_cs_config(struct pcmcia_device *link)
        if (ret)
                goto failed;
 
-       /* Ok, we have the configuration, prepare to register the netdev */
-       card->node.major = card->node.minor = 0;
-
        /* Reset card */
        if (spectrum_cs_hard_reset(priv) != 0)
                goto failed;
@@ -375,17 +360,11 @@ spectrum_cs_config(struct pcmcia_device *link)
 
        /* Register an interface with the stack */
        if (orinoco_if_add(priv, link->io.BasePort1,
-                          link->irq.AssignedIRQ, NULL) != 0) {
+                          link->irq, NULL) != 0) {
                printk(KERN_ERR PFX "orinoco_if_add() failed\n");
                goto failed;
        }
 
-       /* At this point, the dev_node_t structure(s) needs to be
-        * initialized and arranged in a linked list at link->dev_node. */
-       strcpy(card->node.dev_name, priv->ndev->name);
-       link->dev_node = &card->node; /* link->dev_node being non-NULL is also
-                                      * used to indicate that the
-                                      * net_device has been registered */
        return 0;
 
  failed: