From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alexandru Gagniuc Date: Mon, 6 Feb 2017 19:17:33 -0800 Subject: [U-Boot] [PATCH v2 2/6] am33xx: board: Refactor USB initialization into separate function In-Reply-To: <20170203234220.28589-1-alex.g@adaptrum.com> References: <20170203234220.28589-1-alex.g@adaptrum.com> Message-ID: <20170207031737.2680-3-alex.g@adaptrum.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de The declaration of otg*_plat and otg*_board_data is guarded by CONFIG_USB_MUSB_*, but their use in arch_misc_init is not. The ifdef flow goes something like: if (CONFIG_USB_MUSB_* && other_conditions) declare usb_data if (other_conditions) use usb_data Thus when CONFIG_USB_MUSB_* is not declared, we try to use the data structures, but these structures aren't defined. To fix this, move the USB initialization code into the same #ifdef which guards the declaration of the data structures. Since the DM_USB vs legacy cases are completely different, use two versions of arch_misc_init(), for readability. Signed-off-by: Alexandru Gagniuc --- arch/arm/mach-omap2/am33xx/board.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/arch/arm/mach-omap2/am33xx/board.c b/arch/arm/mach-omap2/am33xx/board.c index 190310f..422b1a5 100644 --- a/arch/arm/mach-omap2/am33xx/board.c +++ b/arch/arm/mach-omap2/am33xx/board.c @@ -190,11 +190,9 @@ static struct musb_hdrc_platform_data otg1_plat = { .board_data = &otg1_board_data, }; #endif -#endif int arch_misc_init(void) { -#ifndef CONFIG_DM_USB #ifdef CONFIG_AM335X_USB0 musb_register(&otg0_plat, &otg0_board_data, (void *)USB0_OTG_BASE); @@ -203,7 +201,13 @@ int arch_misc_init(void) musb_register(&otg1_plat, &otg1_board_data, (void *)USB1_OTG_BASE); #endif -#else + return 0; +} + +#else /* CONFIG_USB_MUSB_* && CONFIG_AM335X_USB* && !CONFIG_DM_USB */ + +int arch_misc_init(void) +{ struct udevice *dev; int ret; @@ -218,10 +222,12 @@ int arch_misc_init(void) return ret; } #endif -#endif + return 0; } +#endif /* CONFIG_USB_MUSB_* && CONFIG_AM335X_USB* && !CONFIG_DM_USB */ + #ifndef CONFIG_SKIP_LOWLEVEL_INIT /* * In the case of non-SPL based booting we'll want to call these -- 2.9.3