On 11/22/2017 05:31 PM, Dr. Philipp Tomsich wrote: > >> On 22 Nov 2017, at 17:23, Marek Vasut <ma...@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.toms...@theobroma-systems.com> >>> Tested-by: Jakob Unterwurzacher <jakob.unterwurzac...@theobroma-systems.com> >> >> Reviewed-by: Marek Vasut <ma...@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 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot