[U-Boot] [PATCH v3 1/3] usb: hub: identify the hub-device to usb_hub_reset_devices

Marek Vasut marex at denx.de
Thu Nov 23 11:56:15 UTC 2017


On 11/22/2017 05:31 PM, Dr. Philipp Tomsich wrote:
> 
>> On 22 Nov 2017, at 17:23, Marek Vasut <marex at denx.de> wrote:
>>
>> On 11/22/2017 05:15 PM, Philipp Tomsich wrote:
>>> When usb_hub_reset_devices is called, it should be passed both an
>>> indicator which hub it should operate on and what port number (local
>>> to that hub) should be reset.
>>>
>>> Previously, the usb_hub.c code did not include such context and
>>> always started resets from port number 1, performing multiple
>>> reset-requests for the same devices:
>>>
>>>       /*
>>>        * 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);
>>>
>>> This adds an additional 'hub' parameter to usb_hub_reset_devices
>>> that provides the context to fully qualify the port-number in.
>>>
>>> Existing implementations are changed to accept and ignore the new
>>> parameter.
>>>
>>> Signed-off-by: Philipp Tomsich <philipp.tomsich at theobroma-systems.com>
>>> Tested-by: Jakob Unterwurzacher <jakob.unterwurzacher at theobroma-systems.com>
>>
>> Reviewed-by: Marek Vasut <marex at denx.de>
>>
>> This is part of a series, what;s the plan here. Pull it via usb or some
>> other tree ?
> 
> I’ll leave this decision to you:
> (a)	I move this through the rockchip tree, based on the change to the
> 	USB subsystem being trivial (and you having reviewed this patch)
> (b)	you apply the entire series through the USB tree … and if there’s any
> 	conflicts created in what I have sitting in the rockchip queue, then it’s
> 	my problem anyway
> 
> I certainly don’t want to tear the series apart, as I’ll have the later patches
> sit in my queue until the first one is merged onto master… 

OK, applied to u-boot-usb/master .

>>> ---
>>>
>>> Changes in v3:
>>> - updated commit message
>>>
>>> Changes in v2:
>>> - new in v2
>>>
>>> board/compulab/cm_t54/cm_t54.c | 2 +-
>>> board/ti/omap5_uevm/evm.c      | 2 +-
>>> common/usb_hub.c               | 4 ++--
>>> 3 files changed, 4 insertions(+), 4 deletions(-)
>>>
>>> diff --git a/board/compulab/cm_t54/cm_t54.c b/board/compulab/cm_t54/cm_t54.c
>>> index 31730a4..3e6235a 100644
>>> --- a/board/compulab/cm_t54/cm_t54.c
>>> +++ b/board/compulab/cm_t54/cm_t54.c
>>> @@ -246,7 +246,7 @@ int ehci_hcd_stop(void)
>>> 	return ret;
>>> }
>>>
>>> -void usb_hub_reset_devices(int port)
>>> +void usb_hub_reset_devices(struct usb_hub_device *hub, int port)
>>> {
>>> 	/* The LAN9730 needs to be reset after the port power has been set. */
>>> 	if (port == 3) {
>>> diff --git a/board/ti/omap5_uevm/evm.c b/board/ti/omap5_uevm/evm.c
>>> index 4b25cc2..67242f5 100644
>>> --- a/board/ti/omap5_uevm/evm.c
>>> +++ b/board/ti/omap5_uevm/evm.c
>>> @@ -249,7 +249,7 @@ int ehci_hcd_stop(void)
>>> 	return omap_ehci_hcd_stop();
>>> }
>>>
>>> -void usb_hub_reset_devices(int port)
>>> +void usb_hub_reset_devices(struct usb_hub_device *hub, int port)
>>> {
>>> 	/* The LAN9730 needs to be reset after the port power has been set. */
>>> 	if (port == 3) {
>>> diff --git a/common/usb_hub.c b/common/usb_hub.c
>>> index 325d16d..024dadb 100644
>>> --- a/common/usb_hub.c
>>> +++ b/common/usb_hub.c
>>> @@ -57,7 +57,7 @@ struct usb_device_scan {
>>>
>>> static LIST_HEAD(usb_scan_list);
>>>
>>> -__weak void usb_hub_reset_devices(int port)
>>> +__weak void usb_hub_reset_devices(struct usb_hub_device *hub, int port)
>>> {
>>> 	return;
>>> }
>>> @@ -853,7 +853,7 @@ static int usb_hub_configure(struct usb_device *dev)
>>> 	 * should occur in the board file of the device.
>>> 	 */
>>> 	for (i = 0; i < dev->maxchild; i++)
>>> -		usb_hub_reset_devices(i + 1);
>>> +		usb_hub_reset_devices(hub, i + 1);
>>>
>>> 	/*
>>> 	 * Only add the connected USB devices, including potential hubs,
>>>
>>
>>
>> -- 
>> Best regards,
>> Marek Vasut
> 


-- 
Best regards,
Marek Vasut


More information about the U-Boot mailing list