USB: gadget: Add DEVTYPE support for Ethernet functions
authorMarcel Holtmann <marcel@holtmann.org>
Sat, 16 Jan 2010 06:13:58 +0000 (22:13 -0800)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 2 Mar 2010 22:54:33 +0000 (14:54 -0800)
The problem with Ethernet based networking devices is to clearly
identify what's their usage. Special interfaces like bridges, WiFi,
Bluetooth, WiMAX or WWAN are already using DEVTYPE identification.

This patch marks the Ethernet functions of gadgets from the device
type "gadget". Automatic setup of these interfaces can now happen
from userspace without the need of hardcoding the network interface
name.

Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/gadget/u_ether.c

index 2fc02bd9584882b3cf523864f33dc0f412af1471..84ca195c2d10f8a2b71346bdd031ba18a15e1571 100644 (file)
@@ -746,6 +746,10 @@ static const struct net_device_ops eth_netdev_ops = {
        .ndo_validate_addr      = eth_validate_addr,
 };
 
+static struct device_type gadget_type = {
+       .name   = "gadget",
+};
+
 /**
  * gether_setup - initialize one ethernet-over-usb link
  * @g: gadget to associated with these links
@@ -808,6 +812,7 @@ int __init gether_setup(struct usb_gadget *g, u8 ethaddr[ETH_ALEN])
 
        dev->gadget = g;
        SET_NETDEV_DEV(net, &g->dev);
+       SET_NETDEV_DEVTYPE(net, &gadget_type);
 
        status = register_netdev(net);
        if (status < 0) {