USB Gadget framework (0/6)]
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