USB: usb-hub: Add a weak function for resetting devices

Add a __weak function that can be overridden to reset devices
attached to an ehci devices after the FEAT_POWER has been submitted

Signed-off-by: Dan Murphy <dmurphy@ti.com>
This commit is contained in:
Dan Murphy 2013-08-01 14:06:01 -05:00 committed by Marek Vasut
parent 04025b42dc
commit 3615a996ab

View File

@ -44,6 +44,10 @@
static struct usb_hub_device hub_dev[USB_MAX_HUB];
static int usb_hub_index;
__weak void usb_hub_reset_devices(int port)
{
return;
}
static int usb_get_hub_descriptor(struct usb_device *dev, void *data, int size)
{
@ -426,6 +430,14 @@ static int usb_hub_configure(struct usb_device *dev)
"" : "no ");
usb_hub_power_on(hub);
/*
* Reset any devices that may be in a bad state when applying
* the power. This is a __weak function. Resetting of the devices
* should occur in the board file of the device.
*/
for (i = 0; i < dev->maxchild; i++)
usb_hub_reset_devices(i + 1);
for (i = 0; i < dev->maxchild; i++) {
ALLOC_CACHE_ALIGN_BUFFER(struct usb_port_status, portsts, 1);
unsigned short portstatus, portchange;