net: Add DEVTYPE support for Ethernet based devices
[pandora-kernel.git] / drivers / net / usb / hso.c
index f8c6d7e..fa4e581 100644 (file)
@@ -771,7 +771,8 @@ static void write_bulk_callback(struct urb *urb)
 }
 
 /* called by kernel when we need to transmit a packet */
-static int hso_net_start_xmit(struct sk_buff *skb, struct net_device *net)
+static netdev_tx_t hso_net_start_xmit(struct sk_buff *skb,
+                                           struct net_device *net)
 {
        struct hso_net *odev = netdev_priv(net);
        int result;
@@ -780,7 +781,7 @@ static int hso_net_start_xmit(struct sk_buff *skb, struct net_device *net)
        netif_stop_queue(net);
        if (hso_get_activity(odev->parent) == -EAGAIN) {
                odev->skb_tx_buf = skb;
-               return 0;
+               return NETDEV_TX_OK;
        }
 
        /* log if asked */
@@ -828,7 +829,7 @@ static void hso_get_drvinfo(struct net_device *net, struct ethtool_drvinfo *info
        usb_make_path(odev->parent->usb, info->bus_info, sizeof info->bus_info);
 }
 
-static struct ethtool_ops ops = {
+static const struct ethtool_ops ops = {
        .get_drvinfo = hso_get_drvinfo,
        .get_link = ethtool_op_get_link
 };
@@ -2534,6 +2535,10 @@ static void hso_create_rfkill(struct hso_device *hso_dev,
        }
 }
 
+static struct device_type hso_type = {
+       .name   = "wwan",
+};
+
 /* Creates our network device */
 static struct hso_device *hso_create_net_device(struct usb_interface *interface,
                                                int port_spec)
@@ -2574,6 +2579,7 @@ static struct hso_device *hso_create_net_device(struct usb_interface *interface,
                goto exit;
        }
        SET_NETDEV_DEV(net, &interface->dev);
+       SET_NETDEV_DEVTYPE(net, &hso_type);
 
        /* registering our net device */
        result = register_netdev(net);