mirror of
https://github.com/u-boot/u-boot.git
synced 2024-11-27 06:04:40 +08:00
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 */
|
#endif /* CONFIG_GENERIC_MMC */
|
||||||
|
|
||||||
#ifdef CONFIG_USB_XHCI_OMAP
|
#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,
|
setbits_le32((*prcm)->cm_l3init_usb_otg_ss1_clkctrl,
|
||||||
OTG_SS_CLKCTRL_MODULEMODE_HW | OPTFCLKEN_REFCLK960M);
|
OTG_SS_CLKCTRL_MODULEMODE_HW | OPTFCLKEN_REFCLK960M);
|
||||||
|
@ -694,7 +694,7 @@ int usb_gadget_handle_interrupts(int index)
|
|||||||
#endif /* CONFIG_USB_DWC3 */
|
#endif /* CONFIG_USB_DWC3 */
|
||||||
|
|
||||||
#if defined(CONFIG_USB_DWC3) || defined(CONFIG_USB_XHCI_OMAP)
|
#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);
|
enable_usb_clocks(index);
|
||||||
#ifdef CONFIG_USB_DWC3
|
#ifdef CONFIG_USB_DWC3
|
||||||
@ -725,7 +725,7 @@ int board_usb_init(int index, enum usb_init_type init)
|
|||||||
return 0;
|
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
|
#ifdef CONFIG_USB_DWC3
|
||||||
switch (index) {
|
switch (index) {
|
||||||
|
@ -720,7 +720,7 @@ int usb_gadget_handle_interrupts(int index)
|
|||||||
#endif /* CONFIG_USB_DWC3 */
|
#endif /* CONFIG_USB_DWC3 */
|
||||||
|
|
||||||
#if defined(CONFIG_USB_DWC3) || defined(CONFIG_USB_XHCI_OMAP)
|
#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);
|
enable_usb_clocks(index);
|
||||||
switch (index) {
|
switch (index) {
|
||||||
@ -754,7 +754,7 @@ int board_usb_init(int index, enum usb_init_type init)
|
|||||||
return 0;
|
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
|
#ifdef CONFIG_USB_DWC3
|
||||||
switch (index) {
|
switch (index) {
|
||||||
|
@ -750,7 +750,7 @@ static struct ti_usb_phy_device usb_phy2_device = {
|
|||||||
.index = 1,
|
.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);
|
enable_usb_clocks(index);
|
||||||
switch (index) {
|
switch (index) {
|
||||||
@ -787,7 +787,7 @@ int board_usb_init(int index, enum usb_init_type init)
|
|||||||
return 0;
|
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) {
|
switch (index) {
|
||||||
case 0:
|
case 0:
|
||||||
|
@ -27,12 +27,25 @@ DECLARE_GLOBAL_DATA_PTR;
|
|||||||
|
|
||||||
static struct omap_xhci omap;
|
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;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int board_usb_init(int index, enum usb_init_type init)
|
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)
|
static int omap_xhci_core_init(struct omap_xhci *omap)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user