X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=drivers%2Fusb%2Fhost%2Fxhci-omap.c;h=d6c5744818404d30073bda0f3062b507c0284f9e;hb=711391131c84398d1b8256ab5a8cfa2969ad57c7;hp=3a5520838447d75102e383ffb771e5ab0cab6213;hpb=26473945ad6667183296e7edee2a65edf31bb6f7;p=u-boot diff --git a/drivers/usb/host/xhci-omap.c b/drivers/usb/host/xhci-omap.c index 3a55208384..d6c5744818 100644 --- a/drivers/usb/host/xhci-omap.c +++ b/drivers/usb/host/xhci-omap.c @@ -11,7 +11,7 @@ #include #include -#include +#include #include #include #include @@ -27,12 +27,27 @@ DECLARE_GLOBAL_DATA_PTR; static struct omap_xhci omap; -inline int __board_usb_init(int index, enum usb_init_type init) +__weak int omap_xhci_board_usb_init(int index, enum usb_init_type init) { + enable_usb_clocks(index); return 0; } + int board_usb_init(int index, enum usb_init_type init) - __attribute__((weak, alias("__board_usb_init"))); +{ + return omap_xhci_board_usb_init(index, init); +} + +__weak int omap_xhci_board_usb_cleanup(int index, enum usb_init_type init) +{ + disable_usb_clocks(index); + return 0; +} + +int board_usb_cleanup(int index, enum usb_init_type init) +{ + return omap_xhci_board_usb_cleanup(index, init); +} static int omap_xhci_core_init(struct omap_xhci *omap) { @@ -96,4 +111,5 @@ void xhci_hcd_stop(int index) struct omap_xhci *ctx = &omap; omap_xhci_core_exit(ctx); + board_usb_cleanup(index, USB_INIT_HOST); }