diff options
Diffstat (limited to 'drivers/net/usb/cdc_ether.c')
-rw-r--r-- | drivers/net/usb/cdc_ether.c | 45 |
1 files changed, 21 insertions, 24 deletions
diff --git a/drivers/net/usb/cdc_ether.c b/drivers/net/usb/cdc_ether.c index d0129827602b..3f3d12d766e7 100644 --- a/drivers/net/usb/cdc_ether.c +++ b/drivers/net/usb/cdc_ether.c | |||
@@ -457,12 +457,6 @@ int usbnet_cdc_bind(struct usbnet *dev, struct usb_interface *intf) | |||
457 | } | 457 | } |
458 | EXPORT_SYMBOL_GPL(usbnet_cdc_bind); | 458 | EXPORT_SYMBOL_GPL(usbnet_cdc_bind); |
459 | 459 | ||
460 | static int cdc_manage_power(struct usbnet *dev, int on) | ||
461 | { | ||
462 | dev->intf->needs_remote_wakeup = on; | ||
463 | return 0; | ||
464 | } | ||
465 | |||
466 | static const struct driver_info cdc_info = { | 460 | static const struct driver_info cdc_info = { |
467 | .description = "CDC Ethernet Device", | 461 | .description = "CDC Ethernet Device", |
468 | .flags = FLAG_ETHER | FLAG_POINTTOPOINT, | 462 | .flags = FLAG_ETHER | FLAG_POINTTOPOINT, |
@@ -470,7 +464,7 @@ static const struct driver_info cdc_info = { | |||
470 | .bind = usbnet_cdc_bind, | 464 | .bind = usbnet_cdc_bind, |
471 | .unbind = usbnet_cdc_unbind, | 465 | .unbind = usbnet_cdc_unbind, |
472 | .status = usbnet_cdc_status, | 466 | .status = usbnet_cdc_status, |
473 | .manage_power = cdc_manage_power, | 467 | .manage_power = usbnet_manage_power, |
474 | }; | 468 | }; |
475 | 469 | ||
476 | static const struct driver_info wwan_info = { | 470 | static const struct driver_info wwan_info = { |
@@ -479,7 +473,7 @@ static const struct driver_info wwan_info = { | |||
479 | .bind = usbnet_cdc_bind, | 473 | .bind = usbnet_cdc_bind, |
480 | .unbind = usbnet_cdc_unbind, | 474 | .unbind = usbnet_cdc_unbind, |
481 | .status = usbnet_cdc_status, | 475 | .status = usbnet_cdc_status, |
482 | .manage_power = cdc_manage_power, | 476 | .manage_power = usbnet_manage_power, |
483 | }; | 477 | }; |
484 | 478 | ||
485 | /*-------------------------------------------------------------------------*/ | 479 | /*-------------------------------------------------------------------------*/ |
@@ -487,6 +481,7 @@ static const struct driver_info wwan_info = { | |||
487 | #define HUAWEI_VENDOR_ID 0x12D1 | 481 | #define HUAWEI_VENDOR_ID 0x12D1 |
488 | #define NOVATEL_VENDOR_ID 0x1410 | 482 | #define NOVATEL_VENDOR_ID 0x1410 |
489 | #define ZTE_VENDOR_ID 0x19D2 | 483 | #define ZTE_VENDOR_ID 0x19D2 |
484 | #define DELL_VENDOR_ID 0x413C | ||
490 | 485 | ||
491 | static const struct usb_device_id products [] = { | 486 | static const struct usb_device_id products [] = { |
492 | /* | 487 | /* |
@@ -594,27 +589,29 @@ static const struct usb_device_id products [] = { | |||
594 | 589 | ||
595 | /* Novatel USB551L and MC551 - handled by qmi_wwan */ | 590 | /* Novatel USB551L and MC551 - handled by qmi_wwan */ |
596 | { | 591 | { |
597 | .match_flags = USB_DEVICE_ID_MATCH_VENDOR | 592 | USB_DEVICE_AND_INTERFACE_INFO(NOVATEL_VENDOR_ID, 0xB001, USB_CLASS_COMM, |
598 | | USB_DEVICE_ID_MATCH_PRODUCT | 593 | USB_CDC_SUBCLASS_ETHERNET, USB_CDC_PROTO_NONE), |
599 | | USB_DEVICE_ID_MATCH_INT_INFO, | ||
600 | .idVendor = NOVATEL_VENDOR_ID, | ||
601 | .idProduct = 0xB001, | ||
602 | .bInterfaceClass = USB_CLASS_COMM, | ||
603 | .bInterfaceSubClass = USB_CDC_SUBCLASS_ETHERNET, | ||
604 | .bInterfaceProtocol = USB_CDC_PROTO_NONE, | ||
605 | .driver_info = 0, | 594 | .driver_info = 0, |
606 | }, | 595 | }, |
607 | 596 | ||
608 | /* Novatel E362 - handled by qmi_wwan */ | 597 | /* Novatel E362 - handled by qmi_wwan */ |
609 | { | 598 | { |
610 | .match_flags = USB_DEVICE_ID_MATCH_VENDOR | 599 | USB_DEVICE_AND_INTERFACE_INFO(NOVATEL_VENDOR_ID, 0x9010, USB_CLASS_COMM, |
611 | | USB_DEVICE_ID_MATCH_PRODUCT | 600 | USB_CDC_SUBCLASS_ETHERNET, USB_CDC_PROTO_NONE), |
612 | | USB_DEVICE_ID_MATCH_INT_INFO, | 601 | .driver_info = 0, |
613 | .idVendor = NOVATEL_VENDOR_ID, | 602 | }, |
614 | .idProduct = 0x9010, | 603 | |
615 | .bInterfaceClass = USB_CLASS_COMM, | 604 | /* Dell Wireless 5800 (Novatel E362) - handled by qmi_wwan */ |
616 | .bInterfaceSubClass = USB_CDC_SUBCLASS_ETHERNET, | 605 | { |
617 | .bInterfaceProtocol = USB_CDC_PROTO_NONE, | 606 | USB_DEVICE_AND_INTERFACE_INFO(DELL_VENDOR_ID, 0x8195, USB_CLASS_COMM, |
607 | USB_CDC_SUBCLASS_ETHERNET, USB_CDC_PROTO_NONE), | ||
608 | .driver_info = 0, | ||
609 | }, | ||
610 | |||
611 | /* Dell Wireless 5800 (Novatel E362) - handled by qmi_wwan */ | ||
612 | { | ||
613 | USB_DEVICE_AND_INTERFACE_INFO(DELL_VENDOR_ID, 0x8196, USB_CLASS_COMM, | ||
614 | USB_CDC_SUBCLASS_ETHERNET, USB_CDC_PROTO_NONE), | ||
618 | .driver_info = 0, | 615 | .driver_info = 0, |
619 | }, | 616 | }, |
620 | 617 | ||