ChangeSet 1.1455.1.23, 2003/07/15 14:53:33-07:00, [EMAIL PROTECTED]
[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 -Nru a/drivers/usb/net/ax8817x.c b/drivers/usb/net/ax8817x.c
--- a/drivers/usb/net/ax8817x.c Thu Jul 17 17:04:55 2003
+++ b/drivers/usb/net/ax8817x.c Thu Jul 17 17:04:56 2003
@@ -1208,6 +1208,7 @@
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 -Nru a/drivers/usb/net/catc.c b/drivers/usb/net/catc.c
--- a/drivers/usb/net/catc.c Thu Jul 17 17:04:56 2003
+++ b/drivers/usb/net/catc.c Thu Jul 17 17:04:56 2003
@@ -936,6 +936,7 @@
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 -Nru a/drivers/usb/net/kaweth.c b/drivers/usb/net/kaweth.c
--- a/drivers/usb/net/kaweth.c Thu Jul 17 17:04:56 2003
+++ b/drivers/usb/net/kaweth.c Thu Jul 17 17:04:56 2003
@@ -1123,8 +1123,9 @@
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 -Nru a/drivers/usb/net/pegasus.c b/drivers/usb/net/pegasus.c
--- a/drivers/usb/net/pegasus.c Thu Jul 17 17:04:56 2003
+++ b/drivers/usb/net/pegasus.c Thu Jul 17 17:04:56 2003
@@ -1262,7 +1262,6 @@
}
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 @@
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 -Nru a/drivers/usb/net/rtl8150.c b/drivers/usb/net/rtl8150.c
--- a/drivers/usb/net/rtl8150.c Thu Jul 17 17:04:56 2003
+++ b/drivers/usb/net/rtl8150.c Thu Jul 17 17:04:56 2003
@@ -830,6 +830,7 @@
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 -Nru a/drivers/usb/net/usbnet.c b/drivers/usb/net/usbnet.c
--- a/drivers/usb/net/usbnet.c Thu Jul 17 17:04:56 2003
+++ b/drivers/usb/net/usbnet.c Thu Jul 17 17:04:56 2003
@@ -2602,7 +2602,7 @@
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;
-------------------------------------------------------
This SF.net email is sponsored by: VM Ware
With VMware you can run multiple operating systems on a single machine.
WITHOUT REBOOTING! Mix Linux / Windows / Novell virtual machines at the
same time. Free trial click here: http://www.vmware.com/wl/offer/345/0
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel