usbnet: Set device type for wlan and wwan devices
authorMarcel Holtmann <marcel@holtmann.org>
Fri, 2 Oct 2009 05:15:26 +0000 (05:15 +0000)
committerDavid S. Miller <davem@davemloft.net>
Mon, 5 Oct 2009 07:43:33 +0000 (00:43 -0700)
For usbnet devices with FLAG_WLAN and FLAG_WWAN set the proper device
type so that uevent contains the correct value. This then allows an easy
identification of the actual underlying technology of the Ethernet device.

Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/usb/usbnet.c

index 8124cf1..378da8c 100644 (file)
@@ -1210,6 +1210,14 @@ static const struct net_device_ops usbnet_netdev_ops = {
 
 // precondition: never called in_interrupt
 
+static struct device_type wlan_type = {
+       .name   = "wlan",
+};
+
+static struct device_type wwan_type = {
+       .name   = "wwan",
+};
+
 int
 usbnet_probe (struct usb_interface *udev, const struct usb_device_id *prod)
 {
@@ -1325,6 +1333,12 @@ usbnet_probe (struct usb_interface *udev, const struct usb_device_id *prod)
        dev->maxpacket = usb_maxpacket (dev->udev, dev->out, 1);
 
        SET_NETDEV_DEV(net, &udev->dev);
+
+       if ((dev->driver_info->flags & FLAG_WLAN) != 0)
+               SET_NETDEV_DEVTYPE(net, &wlan_type);
+       if ((dev->driver_info->flags & FLAG_WWAN) != 0)
+               SET_NETDEV_DEVTYPE(net, &wwan_type);
+
        status = register_netdev (net);
        if (status)
                goto out3;