usb: gadget: adb: Only enable the gadget when adbd is ready
authorBenoit Goby <benoit@android.com>
Tue, 20 Mar 2012 01:56:52 +0000 (18:56 -0700)
committerArve Hjønnevåg <arve@android.com>
Mon, 1 Jul 2013 20:40:40 +0000 (13:40 -0700)
commit68f854a51c8ca7147d1d636edd5c19fdbfa84305
tree95399ea69be314279df91c661ae154374cb1bf93
parentf19989e4abad823c78476648ac85318b4f347b54
usb: gadget: adb: Only enable the gadget when adbd is ready

When adb is enabled, only connect the gadget when adbd is ready. If adbd
dies or is restarted (e.g. "adb root"), the gadget is disconnected when
the adb device is close, and it is re-connected once adb re-open the
device.

- Add callbacks to adb, similar to FunctionFs callbacks, to notify the
  gadget when the daemon is ready or closed.
- Refcount calls to android_enable/android_disable to enable the gadget
  only once all the function daemons are ready.
- Add enable/disble to android_usb_function to notify the function when
  it is added/removed from the list of enabled functions.

Change-Id: Id54ff85aec9cf8715c94b4f9bd6137a79ad58bfc
Signed-off-by: Benoit Goby <benoit@android.com>
drivers/usb/gadget/android.c
drivers/usb/gadget/f_adb.c