Skip to content

Commit 38bde1d

Browse files
David Brownellgregkh
authored andcommitted
[PATCH] USB: usbnet (2/9) module for simple network links
This patch creates the first of several separate "minidriver" modules for "usbnet". This one handles only the very simplest hardware, which can be handled almost entirely by the "usbnet" core. - Move device-specific bits into new "cdc_subset.c" driver, shrinking "usbnet" by a bunch; - Export the functions needed to support this minidriver (with EXPORT_SYMBOL_GPL); - Update Kconfig and kbuild accordingly. This one handles about a dozen different device types, with the most notable ones being Gumstix and most Linux-based PDAs (except Zaurus running that ancient code from Sharp). Signed-off-by: David Brownell <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
1 parent f29fc25 commit 38bde1d

File tree

5 files changed

+429
-285
lines changed

5 files changed

+429
-285
lines changed

drivers/usb/net/Kconfig

Lines changed: 64 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -128,32 +128,6 @@ config USB_USBNET
128128
comment "USB Host-to-Host Cables"
129129
depends on USB_USBNET
130130

131-
config USB_ALI_M5632
132-
boolean "ALi M5632 based 'USB 2.0 Data Link' cables"
133-
depends on USB_USBNET
134-
default y
135-
help
136-
Choose this option if you're using a host-to-host cable
137-
based on this design, which supports USB 2.0 high speed.
138-
139-
config USB_AN2720
140-
boolean "AnchorChips 2720 based cables (Xircom PGUNET, ...)"
141-
depends on USB_USBNET
142-
default y
143-
help
144-
Choose this option if you're using a host-to-host cable
145-
based on this design. Note that AnchorChips is now a
146-
Cypress brand.
147-
148-
config USB_BELKIN
149-
boolean "eTEK based host-to-host cables (Advance, Belkin, ...)"
150-
depends on USB_USBNET
151-
default y
152-
help
153-
Choose this option if you're using a host-to-host cable
154-
based on this design: two NetChip 2890 chips and an Atmel
155-
microcontroller, with LEDs that indicate traffic.
156-
157131
config USB_GENESYS
158132
boolean "GeneSys GL620USB-A based cables"
159133
default y
@@ -182,42 +156,9 @@ config USB_PL2301
182156
Choose this option if you're using a host-to-host cable
183157
with one of these chips.
184158

185-
config USB_KC2190
186-
boolean "KT Technology KC2190 based cables (InstaNet)"
187-
default y
188-
depends on USB_USBNET && EXPERIMENTAL
189-
help
190-
Choose this option if you're using a host-to-host cable
191-
with one of these chips.
192-
193159
comment "Intelligent USB Devices/Gadgets"
194160
depends on USB_USBNET
195161

196-
config USB_ARMLINUX
197-
boolean "Embedded ARM Linux links (iPaq, ...)"
198-
depends on USB_USBNET
199-
default y
200-
help
201-
Choose this option to support the "usb-eth" networking driver
202-
used by most of the ARM Linux community with device controllers
203-
such as the SA-11x0 and PXA-25x UDCs, or the tftp capabilities
204-
in some PXA versions of the "blob" boot loader.
205-
206-
Linux-based "Gumstix" PXA-25x based systems use this protocol
207-
to talk with other Linux systems.
208-
209-
Although the ROMs shipped with Sharp Zaurus products use a
210-
different link level framing protocol, you can have them use
211-
this simpler protocol by installing a different kernel.
212-
213-
config USB_EPSON2888
214-
boolean "Epson 2888 based firmware (DEVELOPMENT)"
215-
depends on USB_USBNET
216-
default y
217-
help
218-
Choose this option to support the usb networking links used
219-
by some sample firmware from Epson.
220-
221162
config USB_ZAURUS
222163
boolean "Sharp Zaurus (stock ROMs) and compatible"
223164
depends on USB_USBNET
@@ -292,6 +233,70 @@ config USB_AX8817X
292233
This driver creates an interface named "ethX", where X depends on
293234
what other networking devices you have in use.
294235

236+
237+
config USB_NET_CDC_SUBSET
238+
tristate "Simple USB Network Links (CDC Ethernet subset)"
239+
depends on USB_USBNET
240+
help
241+
This driver module supports USB network devices that can work
242+
without any device-specific information. Select it if you have
243+
one of these drivers.
244+
245+
Note that while many USB host-to-host cables can work in this mode,
246+
that may mean not being able to talk to Win32 systems or more
247+
commonly not being able to handle certain events (like replugging
248+
the host on the other end) very well. Also, these devices will
249+
not generally have permanently assigned Ethernet addresses.
250+
251+
config USB_ALI_M5632
252+
boolean "ALi M5632 based 'USB 2.0 Data Link' cables"
253+
depends on USB_NET_CDC_SUBSET
254+
help
255+
Choose this option if you're using a host-to-host cable
256+
based on this design, which supports USB 2.0 high speed.
257+
258+
config USB_AN2720
259+
boolean "AnchorChips 2720 based cables (Xircom PGUNET, ...)"
260+
depends on USB_NET_CDC_SUBSET
261+
help
262+
Choose this option if you're using a host-to-host cable
263+
based on this design. Note that AnchorChips is now a
264+
Cypress brand.
265+
266+
config USB_BELKIN
267+
boolean "eTEK based host-to-host cables (Advance, Belkin, ...)"
268+
depends on USB_NET_CDC_SUBSET
269+
default y
270+
help
271+
Choose this option if you're using a host-to-host cable
272+
based on this design: two NetChip 2890 chips and an Atmel
273+
microcontroller, with LEDs that indicate traffic.
274+
275+
config USB_ARMLINUX
276+
boolean "Embedded ARM Linux links (iPaq, ...)"
277+
depends on USB_NET_CDC_SUBSET
278+
default y
279+
help
280+
Choose this option to support the "usb-eth" networking driver
281+
used by most of the ARM Linux community with device controllers
282+
such as the SA-11x0 and PXA-25x UDCs, or the tftp capabilities
283+
in some PXA versions of the "blob" boot loader.
284+
285+
Linux-based "Gumstix" PXA-25x based systems use this protocol
286+
to talk with other Linux systems.
287+
288+
Although the ROMs shipped with Sharp Zaurus products use a
289+
different link level framing protocol, you can have them use
290+
this simpler protocol by installing a different kernel.
291+
292+
config USB_EPSON2888
293+
boolean "Epson 2888 based firmware (DEVELOPMENT)"
294+
depends on USB_NET_CDC_SUBSET
295+
help
296+
Choose this option to support the usb networking links used
297+
by some sample firmware from Epson.
298+
299+
295300
config USB_ZD1201
296301
tristate "USB ZD1201 based Wireless device support"
297302
depends on NET_RADIO

drivers/usb/net/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,6 @@ obj-$(CONFIG_USB_CATC) += catc.o
66
obj-$(CONFIG_USB_KAWETH) += kaweth.o
77
obj-$(CONFIG_USB_PEGASUS) += pegasus.o
88
obj-$(CONFIG_USB_RTL8150) += rtl8150.o
9+
obj-$(CONFIG_USB_NET_CDC_SUBSET) += cdc_subset.o
910
obj-$(CONFIG_USB_USBNET) += usbnet.o
1011
obj-$(CONFIG_USB_ZD1201) += zd1201.o

0 commit comments

Comments
 (0)