diff options
author | Simon Glass <sjg@chromium.org> | 2015-03-25 12:22:17 -0600 |
---|---|---|
committer | Simon Glass <sjg@chromium.org> | 2015-04-18 11:11:23 -0600 |
commit | aac064f76bf53dfb21bc5d96bdc3a884d3eb2620 (patch) | |
tree | 35aca757462f8963b7a086d3fd436ba943f4b38c | |
parent | acf277af682ea8aa104f78d3fe2b19b7af916687 (diff) | |
download | u-boot-imx-aac064f76bf53dfb21bc5d96bdc3a884d3eb2620.zip u-boot-imx-aac064f76bf53dfb21bc5d96bdc3a884d3eb2620.tar.gz u-boot-imx-aac064f76bf53dfb21bc5d96bdc3a884d3eb2620.tar.bz2 |
dm: usb: Move all the EHCI weak functions together and declare them
Put these at the top of the file so they are in one place. Also add function
prototypes to the header file to avoid call site mismatches.
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Marek Vasut <marex@denx.de>
-rw-r--r-- | drivers/usb/host/ehci-hcd.c | 22 | ||||
-rw-r--r-- | drivers/usb/host/ehci.h | 6 |
2 files changed, 17 insertions, 11 deletions
diff --git a/drivers/usb/host/ehci-hcd.c b/drivers/usb/host/ehci-hcd.c index 86f1646..9b7e7e7 100644 --- a/drivers/usb/host/ehci-hcd.c +++ b/drivers/usb/host/ehci-hcd.c @@ -143,6 +143,17 @@ __weak void ehci_powerup_fixup(uint32_t *status_reg, uint32_t *reg) mdelay(50); } +__weak uint32_t *ehci_get_portsc_register(struct ehci_hcor *hcor, int port) +{ + if (port < 0 || port >= CONFIG_SYS_USB_EHCI_MAX_ROOT_PORTS) { + /* Printing the message would cause a scan failure! */ + debug("The request port(%u) is not configured\n", port); + return NULL; + } + + return (uint32_t *)&hcor->or_portsc[port]; +} + static int handshake(uint32_t *ptr, uint32_t mask, uint32_t done, int usec) { uint32_t result; @@ -649,17 +660,6 @@ fail: return -1; } -__weak uint32_t *ehci_get_portsc_register(struct ehci_hcor *hcor, int port) -{ - if (port < 0 || port >= CONFIG_SYS_USB_EHCI_MAX_ROOT_PORTS) { - /* Printing the message would cause a scan failure! */ - debug("The request port(%u) is not configured\n", port); - return NULL; - } - - return (uint32_t *)&hcor->or_portsc[port]; -} - int ehci_submit_root(struct usb_device *dev, unsigned long pipe, void *buffer, int length, struct devrequest *req) diff --git a/drivers/usb/host/ehci.h b/drivers/usb/host/ehci.h index 79aecd4..3e5427a 100644 --- a/drivers/usb/host/ehci.h +++ b/drivers/usb/host/ehci.h @@ -250,6 +250,12 @@ struct ehci_ctrl { int ntds; }; +/* Weak functions that drivers can override */ +int ehci_get_port_speed(struct ehci_hcor *hcor, uint32_t reg); +void ehci_set_usbmode(int index); +void ehci_powerup_fixup(uint32_t *status_reg, uint32_t *reg); +uint32_t *ehci_get_portsc_register(struct ehci_hcor *hcor, int port); + /* Low level init functions */ int ehci_hcd_init(int index, enum usb_init_type init, struct ehci_hccr **hccr, struct ehci_hcor **hcor); |