net/usb/mcs7830: new device IDs
[pandora-kernel.git] / drivers / net / usb / mcs7830.c
index 6240b97..ebf1332 100644 (file)
@@ -31,8 +31,7 @@
 #include <linux/module.h>
 #include <linux/netdevice.h>
 #include <linux/usb.h>
-
-#include "usbnet.h"
+#include <linux/usb/usbnet.h>
 
 /* requests */
 #define MCS7830_RD_BMREQ       (USB_DIR_IN  | USB_TYPE_VENDOR | \
 
 #define MCS7830_VENDOR_ID      0x9710
 #define MCS7830_PRODUCT_ID     0x7830
+#define MCS7730_PRODUCT_ID     0x7730
+
+#define SITECOM_VENDOR_ID      0x0DF6
+#define LN_030_PRODUCT_ID      0x0021
 
 #define MCS7830_MII_ADVERTISE  (ADVERTISE_PAUSE_CAP | ADVERTISE_100FULL | \
                                 ADVERTISE_100HALF | ADVERTISE_10FULL | \
@@ -94,7 +97,7 @@ static int mcs7830_get_reg(struct usbnet *dev, u16 index, u16 size, void *data)
 
        ret = usb_control_msg(xdev, usb_rcvctrlpipe(xdev, 0), MCS7830_RD_BREQ,
                              MCS7830_RD_BMREQ, 0x0000, index, data,
-                             size, msecs_to_jiffies(MCS7830_CTRL_TIMEOUT));
+                             size, MCS7830_CTRL_TIMEOUT);
        return ret;
 }
 
@@ -105,7 +108,7 @@ static int mcs7830_set_reg(struct usbnet *dev, u16 index, u16 size, void *data)
 
        ret = usb_control_msg(xdev, usb_sndctrlpipe(xdev, 0), MCS7830_WR_BREQ,
                              MCS7830_WR_BMREQ, 0x0000, index, data,
-                             size, msecs_to_jiffies(MCS7830_CTRL_TIMEOUT));
+                             size, MCS7830_CTRL_TIMEOUT);
        return ret;
 }
 
@@ -114,8 +117,8 @@ static void mcs7830_async_cmd_callback(struct urb *urb)
        struct usb_ctrlrequest *req = (struct usb_ctrlrequest *)urb->context;
 
        if (urb->status < 0)
-               printk(KERN_DEBUG "mcs7830_async_cmd_callback() failed with %d",
-                       urb->status);
+               printk(KERN_DEBUG "%s() failed with %d\n",
+                      __FUNCTION__, urb->status);
 
        kfree(req);
        usb_free_urb(urb);
@@ -129,15 +132,15 @@ static void mcs7830_set_reg_async(struct usbnet *dev, u16 index, u16 size, void
 
        urb = usb_alloc_urb(0, GFP_ATOMIC);
        if (!urb) {
-               dev_dbg(&dev->udev->dev, "Error allocating URB "
-                               "in write_cmd_async!");
+               dev_dbg(&dev->udev->dev,
+                       "Error allocating URB in write_cmd_async!\n");
                return;
        }
 
        req = kmalloc(sizeof *req, GFP_ATOMIC);
        if (!req) {
-               dev_err(&dev->udev->dev, "Failed to allocate memory for "
-                               "control request");
+               dev_err(&dev->udev->dev,
+                       "Failed to allocate memory for control request\n");
                goto out;
        }
        req->bRequestType = MCS7830_WR_BMREQ;
@@ -153,8 +156,8 @@ static void mcs7830_set_reg_async(struct usbnet *dev, u16 index, u16 size, void
 
        ret = usb_submit_urb(urb, GFP_ATOMIC);
        if (ret < 0) {
-               dev_err(&dev->udev->dev, "Error submitting the control "
-                               "message: ret=%d", ret);
+               dev_err(&dev->udev->dev,
+                       "Error submitting the control message: ret=%d\n", ret);
                goto out;
        }
        return;
@@ -492,7 +495,16 @@ static int mcs7830_rx_fixup(struct usbnet *dev, struct sk_buff *skb)
 }
 
 static const struct driver_info moschip_info = {
-       .description    = "MOSCHIP 7830 usb-NET adapter",
+       .description    = "MOSCHIP 7830/7730 usb-NET adapter",
+       .bind           = mcs7830_bind,
+       .rx_fixup       = mcs7830_rx_fixup,
+       .flags          = FLAG_ETHER,
+       .in             = 1,
+       .out            = 2,
+};
+
+static const struct driver_info sitecom_info = {
+       .description    = "Sitecom LN-30 usb-NET adapter",
        .bind           = mcs7830_bind,
        .rx_fixup       = mcs7830_rx_fixup,
        .flags          = FLAG_ETHER,
@@ -505,6 +517,14 @@ static const struct usb_device_id products[] = {
                USB_DEVICE(MCS7830_VENDOR_ID, MCS7830_PRODUCT_ID),
                .driver_info = (unsigned long) &moschip_info,
        },
+       {
+               USB_DEVICE(MCS7830_VENDOR_ID, MCS7730_PRODUCT_ID),
+               .driver_info = (unsigned long) &moschip_info,
+       },
+       {
+               USB_DEVICE(SITECOM_VENDOR_ID, LN_030_PRODUCT_ID),
+               .driver_info = (unsigned long) &sitecom_info,
+       },
        {},
 };
 MODULE_DEVICE_TABLE(usb, products);