summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2015-03-25 12:22:28 -0600
committerSimon Glass <sjg@chromium.org>2015-04-18 11:11:24 -0600
commitaeca43e3883e2a25a8ecb183555df9ac2da311a7 (patch)
treefd46dcc7917ca325e836a04495ac948923927f4e
parentdeb8508c518b8e49f2cd3199861e639d9eeebd9f (diff)
downloadu-boot-imx-aeca43e3883e2a25a8ecb183555df9ac2da311a7.zip
u-boot-imx-aeca43e3883e2a25a8ecb183555df9ac2da311a7.tar.gz
u-boot-imx-aeca43e3883e2a25a8ecb183555df9ac2da311a7.tar.bz2
dm: usb: Change ehci_reset() to use a pointer
The index cannot be used with driver model, and isn't needed anyway. Change the parameter to a pointer. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Marek Vasut <marex@denx.de>
-rw-r--r--drivers/usb/host/ehci-hcd.c17
1 files changed, 8 insertions, 9 deletions
diff --git a/drivers/usb/host/ehci-hcd.c b/drivers/usb/host/ehci-hcd.c
index c6696aa..65d08a1 100644
--- a/drivers/usb/host/ehci-hcd.c
+++ b/drivers/usb/host/ehci-hcd.c
@@ -176,16 +176,15 @@ static int handshake(uint32_t *ptr, uint32_t mask, uint32_t done, int usec)
return -1;
}
-static int ehci_reset(int index)
+static int ehci_reset(struct ehci_ctrl *ctrl)
{
- struct ehci_ctrl *ctrl = &ehcic[index];
uint32_t cmd;
int ret = 0;
- cmd = ehci_readl(&ehcic[index].hcor->or_usbcmd);
+ cmd = ehci_readl(&ctrl->hcor->or_usbcmd);
cmd = (cmd & ~CMD_RUN) | CMD_RESET;
- ehci_writel(&ehcic[index].hcor->or_usbcmd, cmd);
- ret = handshake((uint32_t *)&ehcic[index].hcor->or_usbcmd,
+ ehci_writel(&ctrl->hcor->or_usbcmd, cmd);
+ ret = handshake((uint32_t *)&ctrl->hcor->or_usbcmd,
CMD_RESET, 0, 250 * 1000);
if (ret < 0) {
printf("EHCI fail to reset\n");
@@ -193,13 +192,13 @@ static int ehci_reset(int index)
}
if (ehci_is_TDI())
- ctrl->ops.set_usb_mode(&ehcic[index]);
+ ctrl->ops.set_usb_mode(ctrl);
#ifdef CONFIG_USB_EHCI_TXFIFO_THRESH
- cmd = ehci_readl(&ehcic[index].hcor->or_txfilltuning);
+ cmd = ehci_readl(&ctrl->hcor->or_txfilltuning);
cmd &= ~TXFIFO_THRESH_MASK;
cmd |= TXFIFO_THRESH(CONFIG_USB_EHCI_TXFIFO_THRESH);
- ehci_writel(&ehcic[index].hcor->or_txfilltuning, cmd);
+ ehci_writel(&ctrl->hcor->or_txfilltuning, cmd);
#endif
out:
return ret;
@@ -1108,7 +1107,7 @@ int usb_lowlevel_init(int index, enum usb_init_type init, void **controller)
goto done;
/* EHCI spec section 4.1 */
- if (ehci_reset(index))
+ if (ehci_reset(ctrl))
return -1;
#if defined(CONFIG_EHCI_HCD_INIT_AFTER_RESET)