aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/gadget/Kconfig
diff options
context:
space:
mode:
authorBrian Niebuhr <bniebuhr@efjohnson.com>2009-08-14 11:04:22 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2009-09-23 09:46:35 -0400
commit9b39e9ddedeef48569f8aac60a7b4c1fbb127c7d (patch)
treed2cc583190e18fa03298e84093c3346e1646007c /drivers/usb/gadget/Kconfig
parent877accca79b706afe5d78b9a92cf4f22919fb2b0 (diff)
USB: gadget: Add EEM gadget driver
This patch adds a CDC EEM ethernet gadget driver. CDC EEM is a newer USB ethernet specification that uses a simpler interface than the older CDC ECM. This makes CDC EEM usable by a wider set of USB hardware. By default the ethernet gadget will still use CDC ECM/Subset, but kernel configuration and/or a module parameter will allow alternative use of the CDC EEM protocol. Changes since last version: - Brought in missing RNDIS changes that caused compile error - Modified 'sentinel CRC' checking to match EEM host driver Signed-off-by: Brian Niebuhr <bniebuhr@efjohnson.com> Cc: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb/gadget/Kconfig')
-rw-r--r--drivers/usb/gadget/Kconfig26
1 files changed, 23 insertions, 3 deletions
diff --git a/drivers/usb/gadget/Kconfig b/drivers/usb/gadget/Kconfig
index 3537d915d27..4d8ab470f08 100644
--- a/drivers/usb/gadget/Kconfig
+++ b/drivers/usb/gadget/Kconfig
@@ -628,8 +628,8 @@ config USB_ETH
628 tristate "Ethernet Gadget (with CDC Ethernet support)" 628 tristate "Ethernet Gadget (with CDC Ethernet support)"
629 depends on NET 629 depends on NET
630 help 630 help
631 This driver implements Ethernet style communication, in either 631 This driver implements Ethernet style communication, in one of
632 of two ways: 632 several ways:
633 633
634 - The "Communication Device Class" (CDC) Ethernet Control Model. 634 - The "Communication Device Class" (CDC) Ethernet Control Model.
635 That protocol is often avoided with pure Ethernet adapters, in 635 That protocol is often avoided with pure Ethernet adapters, in
@@ -639,7 +639,11 @@ config USB_ETH
639 - On hardware can't implement that protocol, a simple CDC subset 639 - On hardware can't implement that protocol, a simple CDC subset
640 is used, placing fewer demands on USB. 640 is used, placing fewer demands on USB.
641 641
642 RNDIS support is a third option, more demanding than that subset. 642 - CDC Ethernet Emulation Model (EEM) is a newer standard that has
643 a simpler interface that can be used by more USB hardware.
644
645 RNDIS support is an additional option, more demanding than than
646 subset.
643 647
644 Within the USB device, this gadget driver exposes a network device 648 Within the USB device, this gadget driver exposes a network device
645 "usbX", where X depends on what other networking devices you have. 649 "usbX", where X depends on what other networking devices you have.
@@ -672,6 +676,22 @@ config USB_ETH_RNDIS
672 XP, you'll need to download drivers from Microsoft's website; a URL 676 XP, you'll need to download drivers from Microsoft's website; a URL
673 is given in comments found in that info file. 677 is given in comments found in that info file.
674 678
679config USB_ETH_EEM
680 bool "Ethernet Emulation Model (EEM) support"
681 depends on USB_ETH
682 default n
683 help
684 CDC EEM is a newer USB standard that is somewhat simpler than CDC ECM
685 and therefore can be supported by more hardware. Technically ECM and
686 EEM are designed for different applications. The ECM model extends
687 the network interface to the target (e.g. a USB cable modem), and the
688 EEM model is for mobile devices to communicate with hosts using
689 ethernet over USB. For Linux gadgets, however, the interface with
690 the host is the same (a usbX device), so the differences are minimal.
691
692 If you say "y" here, the Ethernet gadget driver will use the EEM
693 protocol rather than ECM. If unsure, say "n".
694
675config USB_GADGETFS 695config USB_GADGETFS
676 tristate "Gadget Filesystem (EXPERIMENTAL)" 696 tristate "Gadget Filesystem (EXPERIMENTAL)"
677 depends on EXPERIMENTAL 697 depends on EXPERIMENTAL