Hi, On Wed, Dec 21, 2011 at 10:09:46PM -0500, Alan Stern wrote: > On Wed, 21 Dec 2011, 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 > > Isn't this the sort of thing that configfs was meant to handle? For > example, see > > http://marc.info/?l=linux-usb&m=132430533824884&w=2 yes, that's the way to go. We are going to move to a configfs-based solution so while we can take a few of the function drivers, it doesn't make sense to take this android-specific solution for binding/unbinding functions. I will go through the functions and see what we can merge now and what needs to be changed. If you can, please go over the thread Alan provided and make any suggestions there. We want to get that ready ASAP :-) -- balbi
Attachment:
signature.asc
Description: Digital signature