diff options
author | Simon Glass <sjg@chromium.org> | 2015-03-25 21:22:22 +0300 |
---|---|---|
committer | Simon Glass <sjg@chromium.org> | 2015-04-18 20:11:23 +0300 |
commit | 56d4273045e607ddac7c1e3acd809748a8d5e7c0 (patch) | |
tree | f2ff9da6289ecab5d007a0a5e0e94841a4981245 /drivers | |
parent | 727fce369ee84e664d2a1d215cb48137837c6f8b (diff) | |
download | u-boot-56d4273045e607ddac7c1e3acd809748a8d5e7c0.tar.xz |
dm: usb: tegra: Drop use of global controller variable
We don't need this anymore, so adjust the code to avoid using it.
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Marek Vasut <marex@denx.de>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/usb/host/ehci-tegra.c | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/drivers/usb/host/ehci-tegra.c b/drivers/usb/host/ehci-tegra.c index d39c34ce71..17f8be1de9 100644 --- a/drivers/usb/host/ehci-tegra.c +++ b/drivers/usb/host/ehci-tegra.c @@ -189,8 +189,6 @@ static struct fdt_usb_controller fdt_usb_controllers[USB_CTRL_COUNT] = { }, }; -static struct fdt_usb_controller *controller; - /* * A known hardware issue where Connect Status Change bit of PORTSC register * of USB1 controller will be set after Port Reset. @@ -201,6 +199,10 @@ static struct fdt_usb_controller *controller; void ehci_powerup_fixup(struct ehci_ctrl *ctrl, uint32_t *status_reg, uint32_t *reg) { + struct fdt_usb *config = ctrl->priv; + struct fdt_usb_controller *controller; + + controller = &fdt_usb_controllers[config->type]; mdelay(50); /* This is to avoid PORT_ENABLE bit to be cleared in "ehci-hcd.c". */ if (controller->has_hostpc) @@ -237,9 +239,12 @@ void ehci_set_usbmode(int index) */ int ehci_get_port_speed(struct ehci_ctrl *ctrl, uint32_t reg) { + struct fdt_usb *config = ctrl->priv; + struct fdt_usb_controller *controller; uint32_t tmp; uint32_t *reg_ptr; + controller = &fdt_usb_controllers[config->type]; if (controller->has_hostpc) { reg_ptr = (uint32_t *)((u8 *)&ctrl->hcor->or_usbcmd + HOSTPC1_DEVLC); @@ -766,10 +771,9 @@ int usb_process_devicetree(const void *blob) int i; for (i = 0; i < ARRAY_SIZE(fdt_usb_controllers); i++) { - controller = &fdt_usb_controllers[i]; - count = fdtdec_find_aliases_for_id(blob, "usb", - controller->compat, node_list, USB_PORTS_MAX); + fdt_usb_controllers[i].compat, node_list, + USB_PORTS_MAX); if (count) { err = process_usb_nodes(blob, node_list, count, i); if (err) @@ -778,8 +782,6 @@ int usb_process_devicetree(const void *blob) return err; } } - if (i == ARRAY_SIZE(fdt_usb_controllers)) - controller = NULL; return err; } |