From 79715ebcf6d6389976ca31eabe5cedfd753b4247 Mon Sep 17 00:00:00 2001 From: David Brownell Date: Tue, 15 Jul 2003 00:53:33 -0700 Subject: [PATCH] USB: usb net drivers SET_NETDEV_DEV I noticed that Viro's "use alloc_etherdev" patch left a small problem: only "usbnet" did SET_NETDEV_DEV, and that used the wrong driver model device. This has all the usb network drivers use SET_NETDEV_DEV, so the /sys/class/net/*/{device,driver} files link to the relevant usb interface and to its device driver. --- drivers/usb/net/ax8817x.c | 1 + drivers/usb/net/catc.c | 1 + drivers/usb/net/kaweth.c | 3 ++- drivers/usb/net/pegasus.c | 3 ++- drivers/usb/net/rtl8150.c | 1 + drivers/usb/net/usbnet.c | 2 +- 6 files changed, 8 insertions(+), 3 deletions(-) diff --git a/drivers/usb/net/ax8817x.c b/drivers/usb/net/ax8817x.c index 574fca3d3c0c..043247446e97 100644 --- a/drivers/usb/net/ax8817x.c +++ b/drivers/usb/net/ax8817x.c @@ -1208,6 +1208,7 @@ static int ax8817x_bind(struct usb_interface *intf, net->init = ax8817x_net_init; net->priv = ax_info; + SET_NETDEV_DEV(net, &intf->dev); ret = register_netdev(net); if (ret < 0) { err("%s: Failed net init (%d)\n", __FUNCTION__, ret); diff --git a/drivers/usb/net/catc.c b/drivers/usb/net/catc.c index d84208ebd1af..b0db6e686db6 100644 --- a/drivers/usb/net/catc.c +++ b/drivers/usb/net/catc.c @@ -936,6 +936,7 @@ static int catc_probe(struct usb_interface *intf, const struct usb_device_id *id printk("%2.2x.\n", netdev->dev_addr[i]); usb_set_intfdata(intf, catc); + SET_NETDEV_DEV(netdev, &intf->dev); if (register_netdev(netdev) != 0) { usb_set_intfdata(intf, NULL); usb_free_urb(catc->ctrl_urb); diff --git a/drivers/usb/net/kaweth.c b/drivers/usb/net/kaweth.c index f21533b6195d..a0253e49cff3 100644 --- a/drivers/usb/net/kaweth.c +++ b/drivers/usb/net/kaweth.c @@ -1123,8 +1123,9 @@ static int kaweth_probe( if (dma_supported (&intf->dev, 0xffffffffffffffffULL)) kaweth->net->features |= NETIF_F_HIGHDMA; + SET_NETDEV_DEV(netdev, &intf->dev); if (register_netdev(netdev) != 0) { - kaweth_err("Error calling init_etherdev."); + kaweth_err("Error registering netdev."); goto err_intfdata; } diff --git a/drivers/usb/net/pegasus.c b/drivers/usb/net/pegasus.c index 562edd197840..b2ef52cf7522 100644 --- a/drivers/usb/net/pegasus.c +++ b/drivers/usb/net/pegasus.c @@ -1262,7 +1262,6 @@ static int pegasus_probe(struct usb_interface *intf, } set_ethernet_addr(pegasus); fill_skb_pool(pegasus); - printk("%s: %s\n", net->name, usb_dev_id[dev_index].name); if (pegasus->features & PEGASUS_II) { info("setup Pegasus II specific registers"); setup_pegasus_II(pegasus); @@ -1273,9 +1272,11 @@ static int pegasus_probe(struct usb_interface *intf, pegasus->phy = 1; } usb_set_intfdata(intf, pegasus); + SET_NETDEV_DEV(net, &intf->dev); res = register_netdev(net); if (res) goto out4; + printk("%s: %s\n", net->name, usb_dev_id[dev_index].name); return 0; out4: diff --git a/drivers/usb/net/rtl8150.c b/drivers/usb/net/rtl8150.c index 5ee56eb529cf..afc88cc73d91 100644 --- a/drivers/usb/net/rtl8150.c +++ b/drivers/usb/net/rtl8150.c @@ -830,6 +830,7 @@ static int rtl8150_probe(struct usb_interface *intf, usb_set_intfdata(intf, dev); + SET_NETDEV_DEV(netdev, &intf->dev); if (register_netdev(netdev) != 0) { err("couldn't register the device"); goto out2; diff --git a/drivers/usb/net/usbnet.c b/drivers/usb/net/usbnet.c index 6767ed2551aa..4c6479aaa40c 100644 --- a/drivers/usb/net/usbnet.c +++ b/drivers/usb/net/usbnet.c @@ -2602,7 +2602,7 @@ usbnet_probe (struct usb_interface *udev, const struct usb_device_id *prod) dev->maxpacket = usb_maxpacket (dev->udev, dev->out, 1); - SET_NETDEV_DEV(dev->net, &dev->udev->dev); + SET_NETDEV_DEV(dev->net, &udev->dev); status = register_netdev (dev->net); if (status) goto out3; -- cgit v1.2.3