On Wed, Jan 18, 2012 at 08:07:32PM -0800, Benoit Goby wrote: > On Thu, Dec 22, 2011 at 3:14 AM, Felipe Balbi <balbi@xxxxxx> wrote: > > Hi, > > > > On Wed, Dec 21, 2011 at 05:20:36PM -0800, Benoit Goby wrote: > >> The Android Gadget driver is a composite driver that allows > >> userspace to change at runtime the list of functions enabled in > >> its configuration and to configure these functions. It supports > >> multiple functions: acm, adb, rndis, mtp/ptp, mass storage and > >> accessory. > >> > >> It is usually controlled by a daemon that changes the configuration > >> based on user settings. For example, rndis is enabled when the user > >> enables sharing the phone data connection and adb (Android Debug > >> Bridge) is only enabled when the user wants to debug applications > >> for security reasons. > >> > >> As an example on how to use it, the following shell commands will > >> make the gadget disconnect from the host and make it be re-enumerated > >> as a composite with 1 rndis and 2 acm interfaces, and a different > >> product id: > >> > >> echo 0 > /sys/class/android_usb/android0/enable > >> echo rndis,acm > /sys/class/android_usb/android0/functions > >> echo 2 > /sys/class/android_usb/android0/f_acm/instances > >> echo 2d01 > /sys/class/android_usb/android0/idProduct > >> echo 1 > /sys/class/android_usb/android0/enable > >> > >> The driver requires a gadget controller that supports software > >> control of the D+ pullup and the controller driver must support > >> disabling the pullup during composite_bind. > >> > >> > >> Rebased on top of Linux 3.2-rc6 > >> > >> > >> Patch 1 to 6 are small additions/fixes to the composite framework. > >> > >> Patch 7 adds the main gadget driver. > >> > >> Patch 8 to 10 add the mtp, adb and accessory functions. > >> > >> > >> Benoit Goby (5): > >> usb: gadget: composite: Add usb_remove_config > >> usb: gadget: composite: Initialize config->interface > >> usb: gadget: u_serial: Allow calling gserial_setup after init > >> usb: gadget: rndis: Fix re-binding f_rndis > >> usb: gadget: f_rndis: Set rndis vendor parameters > >> > >> Mike Lockwood (5): > >> usb: gadget: Add variant of gether_setup to customize the device name > >> usb: gadget: Add Android Composite Gadget driver > >> usb: gadget: mtp: Add MTP/PTP function > >> usb: gadget: adb: Add ADB function > >> usb: gadget: accessory: Add Android Accessory function > > > > I will only be applying patches after new year's, so hang on for a > > while. Will be looking at the patches and comment whatever I find. > > > > -- > > balbi > > Hi Felipe, > I read the configfs interface proposal and it seems fine, but it is > not clear who will implement it. Is someone already working on it? Let > me know if I can help in anyway. I will start implementing that :-) If you want to help I will be posting RFCs with a certain frequency so people can comment. > In the mean time, is there any patches I should fix and resend so that > you can take them? Taking the rest might not be very useful without > the main android composite driver. I see. The only problem I have with the android composite driver is the "proprietary" sysfs interface added. That's not how we should be changing functions anyway. If you can drop that part until we finish configfs, then I can merge that driver. -- balbi
Attachment:
signature.asc
Description: Digital signature