summaryrefslogtreecommitdiffstats
path: root/drivers/staging
diff options
context:
space:
mode:
authorPaul Stewart <pstew@chromium.org>2012-05-17 11:15:10 -0700
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-05-17 13:17:41 -0700
commit54bc1ff1daa86353ab07191b7fdde05e6b3844b1 (patch)
treef042878f6105dbef138311629a87952b519aab08 /drivers/staging
parent3080b838158f1b17bd806c3fd7b9086ba3054a04 (diff)
downloadlinux-54bc1ff1daa86353ab07191b7fdde05e6b3844b1.tar.gz
linux-54bc1ff1daa86353ab07191b7fdde05e6b3844b1.tar.xz
linux-54bc1ff1daa86353ab07191b7fdde05e6b3844b1.zip
staging: gdm72xx: Set up parent link in sysfs for gdm72xx devices
This patch uses SET_NETDEV_DEV to set up a 'device' parent link in sysfs (e.g. /sys/class/net/wm0/device) for a gdm72xx device. Signed-off-by: Paul Stewart <pstew@chromium.org> Signed-off-by: Ben Chan <benchan@chromium.org> Cc: Sage Ahn <syahn@gctsemi.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging')
-rw-r--r--drivers/staging/gdm72xx/gdm_sdio.c2
-rw-r--r--drivers/staging/gdm72xx/gdm_usb.c2
-rw-r--r--drivers/staging/gdm72xx/gdm_wimax.c3
-rw-r--r--drivers/staging/gdm72xx/gdm_wimax.h2
4 files changed, 5 insertions, 4 deletions
diff --git a/drivers/staging/gdm72xx/gdm_sdio.c b/drivers/staging/gdm72xx/gdm_sdio.c
index 1ef466e718ae..e1a3dd2fc4af 100644
--- a/drivers/staging/gdm72xx/gdm_sdio.c
+++ b/drivers/staging/gdm72xx/gdm_sdio.c
@@ -618,7 +618,7 @@ end_io:
done:
sdio_writeb(func, 0x00, 0x10, &ret); /* PCRRT */
if (!phy_dev->netdev)
- register_wimax_device(phy_dev);
+ register_wimax_device(phy_dev, &func->dev);
}
static int gdm_sdio_receive(void *priv_dev,
diff --git a/drivers/staging/gdm72xx/gdm_usb.c b/drivers/staging/gdm72xx/gdm_usb.c
index f60e890c65c8..1e9dc0d90362 100644
--- a/drivers/staging/gdm72xx/gdm_usb.c
+++ b/drivers/staging/gdm72xx/gdm_usb.c
@@ -624,7 +624,7 @@ static int gdm_usb_probe(struct usb_interface *intf,
INIT_WORK(&udev->pm_ws, do_pm_control);
#endif /* CONFIG_WIMAX_GDM72XX_USB_PM */
- ret = register_wimax_device(phy_dev);
+ ret = register_wimax_device(phy_dev, &intf->dev);
out:
if (ret) {
diff --git a/drivers/staging/gdm72xx/gdm_wimax.c b/drivers/staging/gdm72xx/gdm_wimax.c
index 27874941f75a..f1936b92533b 100644
--- a/drivers/staging/gdm72xx/gdm_wimax.c
+++ b/drivers/staging/gdm72xx/gdm_wimax.c
@@ -943,7 +943,7 @@ static struct net_device_ops gdm_netdev_ops = {
.ndo_do_ioctl = gdm_wimax_ioctl,
};
-int register_wimax_device(struct phy_dev *phy_dev)
+int register_wimax_device(struct phy_dev *phy_dev, struct device *pdev)
{
struct nic *nic = NULL;
struct net_device *dev;
@@ -957,6 +957,7 @@ int register_wimax_device(struct phy_dev *phy_dev)
return -ENOMEM;
}
+ SET_NETDEV_DEV(dev, pdev);
dev->mtu = 1400;
dev->netdev_ops = &gdm_netdev_ops;
dev->flags &= ~IFF_MULTICAST;
diff --git a/drivers/staging/gdm72xx/gdm_wimax.h b/drivers/staging/gdm72xx/gdm_wimax.h
index a1cd71ef8e97..023e6492e33d 100644
--- a/drivers/staging/gdm72xx/gdm_wimax.h
+++ b/drivers/staging/gdm72xx/gdm_wimax.h
@@ -85,7 +85,7 @@ struct nic {
/*#define LOOPBACK_TEST */
-extern int register_wimax_device(struct phy_dev *phy_dev);
+extern int register_wimax_device(struct phy_dev *phy_dev, struct device *pdev);
extern int gdm_wimax_send_tx(struct sk_buff *skb, struct net_device *dev);
extern void unregister_wimax_device(struct phy_dev *phy_dev);