USB: gadget core: Issue ->disconnect() callback from usb_gadget_disconnect()
authorAlan Stern <stern@rowland.harvard.edu>
Fri, 10 Aug 2018 19:32:25 +0000 (15:32 -0400)
committerFelipe Balbi <felipe.balbi@linux.intel.com>
Tue, 2 Oct 2018 07:44:11 +0000 (10:44 +0300)
commit0a55187a1ec8c03d0619e7ce41d10fdc39cff036
tree64f9a84cb4712b6a6f949456f63767f7cbf411d9
parent6af19fd10595936abb02c9199cd9ea1ff0411490
USB: gadget core: Issue ->disconnect() callback from usb_gadget_disconnect()

The gadget documentation doesn't state clearly whether a gadget
driver's ->disconnect() callback should be invoked when the D+ pullup
is turned off.  Some UDC drivers do this and some don't.  This patch
settles the issue by making the core function usb_gadget_disconnect()
issue the callback, so that UDC drivers don't need to worry about it.

A description of the new behavior is added to the function's
kerneldoc.  Also, the patch removes a few superseded callbacks from
other core routines.

Future patches will remove the ->disconnect() calls from the UDC
drivers that make them, as they are now unnecessary.  Until all those
patches are merged gadget drivers may receive extra ->disconnect()
callbacks, but this should be harmless.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
drivers/usb/gadget/udc/core.c