usb: host: xhci-omap: fix double weak board_usb_init functions
A weak version of the function board_usb_init is implemented in: common/usb.c drivers/usb/host/xhci-omap.c To fix the double implementations: * Convert the board_usb_init function in drivers/usb/host/xhci-omap.c normal (not weak). * The function board_usb_init in drivers/usb/host/xhci-omap.c calls to the weak function omap_xhci_board_usb_init. * Rename board version of the function board_usb_init to omap_xhci_board_usb_init. Done only for boards that defines CONFIG_USB_XHCI_OMAP. To achieve the same flexibility with the function board_usb_cleanup: * Add a normal (not weak) implementation of the function board_usb_cleanup in drivers/usb/host/xhci-omap.c * The function board_usb_cleanup in drivers/usb/host/xhci-omap.c calls to the weak function omap_xhci_board_usb_cleanup. * Rename board version of the function board_usb_cleanup to omap_xhci_board_usb_cleanup. Done only for boards that defines CONFIG_USB_XHCI_OMAP. Cc: Lokesh Vutla <lokeshvutla@ti.com> Signed-off-by: Uri Mashiach <uri.mashiach@compulab.co.il> Acked-by: Marek Vasut <marex@denx.de> Reviewed-by: Tom Rini <trini@konsulko.com> Reviewed-by: Roger Quadros <rogerq@ti.com>
This commit is contained in:
parent
ef3f3b8100
commit
1a9a5f7a39
@ -54,7 +54,7 @@ int board_mmc_init(bd_t *bis)
|
||||
#endif /* CONFIG_GENERIC_MMC */
|
||||
|
||||
#ifdef CONFIG_USB_XHCI_OMAP
|
||||
int board_usb_init(int index, enum usb_init_type init)
|
||||
int omap_xhci_board_usb_init(int index, enum usb_init_type init)
|
||||
{
|
||||
setbits_le32((*prcm)->cm_l3init_usb_otg_ss1_clkctrl,
|
||||
OTG_SS_CLKCTRL_MODULEMODE_HW | OPTFCLKEN_REFCLK960M);
|
||||
|
@ -694,7 +694,7 @@ int usb_gadget_handle_interrupts(int index)
|
||||
#endif /* CONFIG_USB_DWC3 */
|
||||
|
||||
#if defined(CONFIG_USB_DWC3) || defined(CONFIG_USB_XHCI_OMAP)
|
||||
int board_usb_init(int index, enum usb_init_type init)
|
||||
int omap_xhci_board_usb_init(int index, enum usb_init_type init)
|
||||
{
|
||||
enable_usb_clocks(index);
|
||||
#ifdef CONFIG_USB_DWC3
|
||||
@ -725,7 +725,7 @@ int board_usb_init(int index, enum usb_init_type init)
|
||||
return 0;
|
||||
}
|
||||
|
||||
int board_usb_cleanup(int index, enum usb_init_type init)
|
||||
int omap_xhci_board_usb_cleanup(int index, enum usb_init_type init)
|
||||
{
|
||||
#ifdef CONFIG_USB_DWC3
|
||||
switch (index) {
|
||||
|
@ -720,7 +720,7 @@ int usb_gadget_handle_interrupts(int index)
|
||||
#endif /* CONFIG_USB_DWC3 */
|
||||
|
||||
#if defined(CONFIG_USB_DWC3) || defined(CONFIG_USB_XHCI_OMAP)
|
||||
int board_usb_init(int index, enum usb_init_type init)
|
||||
int omap_xhci_board_usb_init(int index, enum usb_init_type init)
|
||||
{
|
||||
enable_usb_clocks(index);
|
||||
switch (index) {
|
||||
@ -754,7 +754,7 @@ int board_usb_init(int index, enum usb_init_type init)
|
||||
return 0;
|
||||
}
|
||||
|
||||
int board_usb_cleanup(int index, enum usb_init_type init)
|
||||
int omap_xhci_board_usb_cleanup(int index, enum usb_init_type init)
|
||||
{
|
||||
#ifdef CONFIG_USB_DWC3
|
||||
switch (index) {
|
||||
|
@ -750,7 +750,7 @@ static struct ti_usb_phy_device usb_phy2_device = {
|
||||
.index = 1,
|
||||
};
|
||||
|
||||
int board_usb_init(int index, enum usb_init_type init)
|
||||
int omap_xhci_board_usb_init(int index, enum usb_init_type init)
|
||||
{
|
||||
enable_usb_clocks(index);
|
||||
switch (index) {
|
||||
@ -787,7 +787,7 @@ int board_usb_init(int index, enum usb_init_type init)
|
||||
return 0;
|
||||
}
|
||||
|
||||
int board_usb_cleanup(int index, enum usb_init_type init)
|
||||
int omap_xhci_board_usb_cleanup(int index, enum usb_init_type init)
|
||||
{
|
||||
switch (index) {
|
||||
case 0:
|
||||
|
@ -27,12 +27,25 @@ DECLARE_GLOBAL_DATA_PTR;
|
||||
|
||||
static struct omap_xhci omap;
|
||||
|
||||
__weak 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)
|
||||
{
|
||||
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)
|
||||
{
|
||||
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)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user