Android ADB upstreaming

Registered by John Stultz on 2012-05-01

Covers pushing Android ADB infrastructure upstream

Blueprint information

Status:
Not started
Approver:
None
Priority:
Undefined
Drafter:
None
Direction:
Needs approval
Assignee:
John Stultz
Definition:
Discussion
Series goal:
None
Implementation:
Unknown
Milestone target:
milestone icon backlog

Related branches

Sprints

Whiteboard

Context for Android Gadget driver patches needed for adb:
   http://marc.info/?l=linux-usb&m=132451695808552&w=3
Another attempt by some of the folks at Samsung:
   http://marc.info/?l=linux-usb&m=133284541703046&w=3

Looks like currently the gadget driver is blocked on needing the userland configuration interface to be moved to configfs. Felipe Balbi is the maintainer who needs to agree on this, and is supposedly doing the configfs work, although not much progress has seemingly happened since Jan.

Update 3.5-rc2:
 * So the andorid gadget driver has been merged into staging as the "Configurable Composite Gadget" in drivers/staging/ccg/
 * The TODO file there still contains:
        "change configuration interface from sysfs to configfs"

Update 3.8:
* While the android gadget driver has been merged into staging ac the ccg driver, for some reason adb ptp and mtp support was dropped at that time. I pinged the person at Samsung to get a sense of why and what future plans he has for the ccg driver.

* It also looks like the upstream maintainer has a different view of how multiplexing different gadget devices should be done. Thus the code in drivers/staging/ccg duplicates code in drivers/usb/gadget. Trying to figure out what the right approach is here.

* I've taken a first swing at re-adding the adb support to the ccg driver, but I'm having problems testing the ccg driver, since it seems to cause frequent oopses on pandaboard. Not sure if that's due to the ccg being broken or panda

(?)

Work Items

Work items for 13.02:
Forward port android gadget driver to linus' HEAD for A/B testing(Feb 20): DONE
Research adbd's support of FunctionFS(Feb 20): DONE
Managed to get adb running over functionfs with vanilla 3.8 kernel. Documented my process here - https://plus.google.com/u/0/111524780435806926688/posts/AaEccFjKNHE (Feb 21): DONE
Discussed functionfs & the (new to me) configfs gadget with Michal Nazarewicz & Benoit Gobi (Feb 21): DONE

Work items for backlog:
Find source for configfs gadget work, and review its state: TODO
Determine coherant story between Android Gadget/CCG/FunctionFS/Configfs gadget: TODO
Sort out functionfs race/hang on origen (can be worked around with initall_debug): TODO
Maybe sort out building adbd on Ubuntu and demo adbd functionality in non-android environment: TODO

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.