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)
committerJohn Stultz <john.stultz@linaro.org>
Tue, 16 Feb 2016 21:51:54 +0000 (13:51 -0800)
commitb3479c8467733c27fed142bcd43f50da4357188f
tree21cdc9c847b0e0eab75215de702583ac92781d77
parent3daf0db436a9d96f5d3ac43f5e6d315178e3184a
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/f_adb.c