]> git.hungrycats.org Git - linux/commitdiff
[PATCH] pcmcia: SET_NETDEV for network devices
authorDominik Brodowski <linux@dominikbrodowski.de>
Tue, 11 Jan 2005 11:24:39 +0000 (03:24 -0800)
committerLinus Torvalds <torvalds@ppc970.osdl.org>
Tue, 11 Jan 2005 11:24:39 +0000 (03:24 -0800)
This patch updates pcmcia network drivers so that their class devices are
linked to the correct physical device.  Based on an patch by Adam Belay, but
adapted to a different pcmcia driver model implementation.

Signed-off-by: Dominik Brodowski <linux@brodo.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
drivers/net/pcmcia/3c574_cs.c
drivers/net/pcmcia/3c589_cs.c
drivers/net/pcmcia/axnet_cs.c
drivers/net/pcmcia/com20020_cs.c
drivers/net/pcmcia/fmvj18x_cs.c
drivers/net/pcmcia/ibmtr_cs.c
drivers/net/pcmcia/nmclan_cs.c
drivers/net/pcmcia/pcnet_cs.c
drivers/net/pcmcia/smc91c92_cs.c
drivers/net/pcmcia/xirc2ps_cs.c
include/pcmcia/ds.h

index 1154fbbc0dc428a39ffd5107d6229e04e811b3ed..f29d4f88e874eae4c26904709eab305a14c270fa 100644 (file)
@@ -519,6 +519,7 @@ static void tc574_config(dev_link_t *link)
 
        link->state &= ~DEV_CONFIG_PENDING;
        link->dev = &lp->node;
+       SET_NETDEV_DEV(dev, &handle_to_dev(handle));
 
        if (register_netdev(dev) != 0) {
                printk(KERN_NOTICE "3c574_cs: register_netdev() failed\n");
index 2dd8f774dc5aaaff4c2bb63216ecca8b3472288e..108d67066d4ca59b5f4ac017d797fe1d39ed82a8 100644 (file)
@@ -391,6 +391,7 @@ static void tc589_config(dev_link_t *link)
     
     link->dev = &lp->node;
     link->state &= ~DEV_CONFIG_PENDING;
+    SET_NETDEV_DEV(dev, &handle_to_dev(handle));
 
     if (register_netdev(dev) != 0) {
        printk(KERN_ERR "3c589_cs: register_netdev() failed\n");
index 91be6752dd39b53e0257a7daf9540f8ad1f2a0f8..a01842d09324aa2bd158ece7d2cd6fd1c258bdab 100644 (file)
@@ -458,6 +458,7 @@ static void axnet_config(dev_link_t *link)
     info->phy_id = (i < 32) ? i : -1;
     link->dev = &info->node;
     link->state &= ~DEV_CONFIG_PENDING;
+    SET_NETDEV_DEV(dev, &handle_to_dev(handle));
 
     if (register_netdev(dev) != 0) {
        printk(KERN_NOTICE "axnet_cs: register_netdev() failed\n");
index 1cf038aa604a5f917f428307075f268346fa686b..c39124e79b768bcf27f5a1f89a21463865157c84 100644 (file)
@@ -394,6 +394,7 @@ static void com20020_config(dev_link_t *link)
 
     link->dev = &info->node;
     link->state &= ~DEV_CONFIG_PENDING;
+    SET_NETDEV_DEV(dev, &handle_to_dev(handle));
 
     i = com20020_found(dev, 0);        /* calls register_netdev */
     
index d5b1bb63936be4b3e7adc080eabcaddad53d9a59..e077d1510a3a2678324832b2d66b4c950462b1b9 100644 (file)
@@ -591,6 +591,7 @@ static void fmvj18x_config(dev_link_t *link)
     lp->cardtype = cardtype;
     link->dev = &lp->node;
     link->state &= ~DEV_CONFIG_PENDING;
+    SET_NETDEV_DEV(dev, &handle_to_dev(handle));
 
     if (register_netdev(dev) != 0) {
        printk(KERN_NOTICE "fmvj18x_cs: register_netdev() failed\n");
index 886398f1d15c7ceea3bb2148c8055279a253fd82..ca1efb928c41ce276596ba4e2d6a718c23a3f4ad 100644 (file)
@@ -366,6 +366,7 @@ static void ibmtr_config(dev_link_t *link)
 
     link->dev = &info->node;
     link->state &= ~DEV_CONFIG_PENDING;
+    SET_NETDEV_DEV(dev, &handle_to_dev(handle));
 
     i = ibmtr_probe_card(dev);
     if (i != 0) {
index 8e616d4dccd808167e40ac17a60cf80d5b3042f8..7410230d69c8c35d33b170446f85aba1ee132776 100644 (file)
@@ -775,6 +775,7 @@ static void nmclan_config(dev_link_t *link)
 
   link->dev = &lp->node;
   link->state &= ~DEV_CONFIG_PENDING;
+  SET_NETDEV_DEV(dev, &handle_to_dev(handle));
 
   i = register_netdev(dev);
   if (i != 0) {
index b9ca8347f9e696b5a02a38801c2486b078521a89..0aa0ec3f311373667a596e4239da1fd6f9510183 100644 (file)
@@ -722,6 +722,7 @@ static void pcnet_config(dev_link_t *link)
 
     link->dev = &info->node;
     link->state &= ~DEV_CONFIG_PENDING;
+    SET_NETDEV_DEV(dev, &handle_to_dev(handle));
 
 #ifdef CONFIG_NET_POLL_CONTROLLER
     dev->poll_controller = ei_poll;
index 8a381612fef7817e954074c101d2dc36b39a1218..99ce9a2bbfcd955f1d4e8c8fd5cb1c9f33079233 100644 (file)
@@ -1024,6 +1024,7 @@ static void smc91c92_config(dev_link_t *link)
 
     link->dev = &smc->node;
     link->state &= ~DEV_CONFIG_PENDING;
+    SET_NETDEV_DEV(dev, &handle_to_dev(handle));
 
     if (register_netdev(dev) != 0) {
        printk(KERN_ERR "smc91c92_cs: register_netdev() failed\n");
index 0f5a664841b72c096a7baee9cc4d2edaa40160cd..cbf072b06d2bf897691afd60c8f1123d2c67ddfb 100644 (file)
@@ -1121,6 +1121,7 @@ xirc2ps_config(dev_link_t * link)
 
     link->dev = &local->node;
     link->state &= ~DEV_CONFIG_PENDING;
+    SET_NETDEV_DEV(dev, &handle_to_dev(handle));
 
     if ((err=register_netdev(dev))) {
        printk(KNOT_XIRC "register_netdev() failed\n");
index c8223b32742e9d9533c83bdde6432b6ae24e4df5..eeb118ceced12aba19c86d2eda383e7b578300d0 100644 (file)
@@ -178,6 +178,7 @@ struct pcmcia_device {
 #define to_pcmcia_drv(n) container_of(n, struct pcmcia_driver, drv)
 
 #define handle_to_pdev(handle) container_of(handle, struct pcmcia_device, client);
+#define handle_to_dev(handle) ((container_of(handle, struct pcmcia_device, client))->dev)
 
 /* error reporting */
 void cs_error(client_handle_t handle, int func, int ret);