Skip to contentSkip to conversation

USB Gadget framework (0/6)]

PATCH New David Brownell 1 participant 1 message May 4, 2003

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 USB Gadget framework (0/6)]

FYI: sent this morning to linux-usb-devel.

-------- Original Message --------
Subject: [PATCH 2.5.68] USB Gadget framework (0/6)
Date: Sat, 03 May 2003 11:45:06 -0700
From: David Brownell <[email protected]>
To: Greg KH <[email protected]>, [email protected]

Followups to this message will include patches with the core of a "USB Gadget" framework. As you know, this is something we've wanted for the 2.5 kernel. I see this as a good seed, the Linux developer community as fertile ground, and with spring here (Northern hemisphere, y'all), it's time to see what we'll grow!

The API is hardware-neutral, and passes straight down to drivers for device-side USB controllers. The "gadget drivers" implement USB device functionality using that API, including "endpoint zero" policies to configure that hardware for the desired functionality. They talk to host-side USB device drivers, such as those found today in all mainstream Linux kernels.

1 <linux/usb_gadget.h> ... API, and inlined implementation.

2 drivers/usb/gadget/net2280.[hc] ... implements that API,
for the Net2280 peripheral controller. This connects using PCI, and supports USB 2.0 high speed. So it's relatively demanding of that API.

3 drivers/usb/gadget/zero.c ... simple gadget driver for
testing

4 drivers/usb/gadget/ether.c ... CDC Ethernet gadget driver,
supports high speed link

5 drivers/usb/gadget/usbstring.c ... optional utility code,
for use by gadget drivers

6 kconfig/kbuild support for all the above.

These patches are against 2.5.68 current. Please merge them towards Linus' tree.

- Dave