diff options
Diffstat (limited to 'drivers/net/usb/mcs7830.c')
| -rw-r--r-- | drivers/net/usb/mcs7830.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/drivers/net/usb/mcs7830.c b/drivers/net/usb/mcs7830.c index a6281e3987b5..2b791392e788 100644 --- a/drivers/net/usb/mcs7830.c +++ b/drivers/net/usb/mcs7830.c | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* | 1 | /* |
| 2 | * MOSCHIP MCS7830 based USB 2.0 Ethernet Devices | 2 | * MOSCHIP MCS7830 based (7730/7830/7832) USB 2.0 Ethernet Devices |
| 3 | * | 3 | * |
| 4 | * based on usbnet.c, asix.c and the vendor provided mcs7830 driver | 4 | * based on usbnet.c, asix.c and the vendor provided mcs7830 driver |
| 5 | * | 5 | * |
| @@ -11,6 +11,9 @@ | |||
| 11 | * | 11 | * |
| 12 | * Definitions gathered from MOSCHIP, Data Sheet_7830DA.pdf (thanks!). | 12 | * Definitions gathered from MOSCHIP, Data Sheet_7830DA.pdf (thanks!). |
| 13 | * | 13 | * |
| 14 | * 2010-12-19: add 7832 USB PID ("functionality same as MCS7830"), | ||
| 15 | * per active notification by manufacturer | ||
| 16 | * | ||
| 14 | * TODO: | 17 | * TODO: |
| 15 | * - support HIF_REG_CONFIG_SLEEPMODE/HIF_REG_CONFIG_TXENABLE (via autopm?) | 18 | * - support HIF_REG_CONFIG_SLEEPMODE/HIF_REG_CONFIG_TXENABLE (via autopm?) |
| 16 | * - implement ethtool_ops get_pauseparam/set_pauseparam | 19 | * - implement ethtool_ops get_pauseparam/set_pauseparam |
| @@ -60,6 +63,7 @@ | |||
| 60 | #define MCS7830_MAX_MCAST 64 | 63 | #define MCS7830_MAX_MCAST 64 |
| 61 | 64 | ||
| 62 | #define MCS7830_VENDOR_ID 0x9710 | 65 | #define MCS7830_VENDOR_ID 0x9710 |
| 66 | #define MCS7832_PRODUCT_ID 0x7832 | ||
| 63 | #define MCS7830_PRODUCT_ID 0x7830 | 67 | #define MCS7830_PRODUCT_ID 0x7830 |
| 64 | #define MCS7730_PRODUCT_ID 0x7730 | 68 | #define MCS7730_PRODUCT_ID 0x7730 |
| 65 | 69 | ||
| @@ -351,7 +355,7 @@ static int mcs7830_set_autoneg(struct usbnet *dev, int ptrUserPhyMode) | |||
| 351 | if (!ret) | 355 | if (!ret) |
| 352 | ret = mcs7830_write_phy(dev, MII_BMCR, | 356 | ret = mcs7830_write_phy(dev, MII_BMCR, |
| 353 | BMCR_ANENABLE | BMCR_ANRESTART ); | 357 | BMCR_ANENABLE | BMCR_ANRESTART ); |
| 354 | return ret < 0 ? : 0; | 358 | return ret; |
| 355 | } | 359 | } |
| 356 | 360 | ||
| 357 | 361 | ||
| @@ -626,7 +630,7 @@ static int mcs7830_rx_fixup(struct usbnet *dev, struct sk_buff *skb) | |||
| 626 | } | 630 | } |
| 627 | 631 | ||
| 628 | static const struct driver_info moschip_info = { | 632 | static const struct driver_info moschip_info = { |
| 629 | .description = "MOSCHIP 7830/7730 usb-NET adapter", | 633 | .description = "MOSCHIP 7830/7832/7730 usb-NET adapter", |
| 630 | .bind = mcs7830_bind, | 634 | .bind = mcs7830_bind, |
| 631 | .rx_fixup = mcs7830_rx_fixup, | 635 | .rx_fixup = mcs7830_rx_fixup, |
| 632 | .flags = FLAG_ETHER, | 636 | .flags = FLAG_ETHER, |
| @@ -645,6 +649,10 @@ static const struct driver_info sitecom_info = { | |||
| 645 | 649 | ||
| 646 | static const struct usb_device_id products[] = { | 650 | static const struct usb_device_id products[] = { |
| 647 | { | 651 | { |
| 652 | USB_DEVICE(MCS7830_VENDOR_ID, MCS7832_PRODUCT_ID), | ||
| 653 | .driver_info = (unsigned long) &moschip_info, | ||
| 654 | }, | ||
| 655 | { | ||
| 648 | USB_DEVICE(MCS7830_VENDOR_ID, MCS7830_PRODUCT_ID), | 656 | USB_DEVICE(MCS7830_VENDOR_ID, MCS7830_PRODUCT_ID), |
| 649 | .driver_info = (unsigned long) &moschip_info, | 657 | .driver_info = (unsigned long) &moschip_info, |
| 650 | }, | 658 | }, |
