ARM: OMAP: build mach-omap code only if needed
If we build a kernel with CONFIG_ARCH_OMAP2PLUS enabled but all of the individual SoCs disabled, we run into a large number of link errors because if incorrect dependencies: arch/arm/mach-omap2/built-in.o: In function `_add_initiator_dep': arch/arm/mach-omap2/omap_hwmod.c:691: undefined reference to `clkdm_add_sleepdep' arch/arm/mach-omap2/built-in.o: In function `_del_initiator_dep': arch/arm/mach-omap2/omap_hwmod.c:720: undefined reference to `clkdm_del_sleepdep' arch/arm/mach-omap2/built-in.o: In function `_enable': arch/arm/mach-omap2/omap_hwmod.c:2145: undefined reference to `clkdm_in_hwsup' arch/arm/mach-omap2/omap_hwmod.c:2147: undefined reference to `clkdm_hwmod_enable' arch/arm/mach-omap2/omap_hwmod.c:2191: undefined reference to `clkdm_hwmod_disable' arch/arm/mach-omap2/omap_hwmod.c:2146: undefined reference to `clkdm_missing_idle_reporting' arch/arm/mach-omap2/built-in.o: In function `_idle': arch/arm/mach-omap2/omap_hwmod.c:2235: undefined reference to `clkdm_hwmod_disable' arch/arm/mach-omap2/built-in.o: In function `_shutdown': arch/arm/mach-omap2/omap_hwmod.c:2338: undefined reference to `clkdm_hwmod_disable' arch/arm/mach-omap2/built-in.o: In function `omap_hwmod_get_context_loss_count': arch/arm/mach-omap2/omap_hwmod.c:4071: undefined reference to `pwrdm_get_context_loss_count' arch/arm/mach-omap2/built-in.o: In function `omap_pm_clkdms_setup': arch/arm/mach-omap2/pm.c:114: undefined reference to `clkdm_allow_idle' arch/arm/mach-omap2/pm.c:117: undefined reference to `clkdm_sleep' arch/arm/mach-omap2/built-in.o: In function `omap2_common_pm_late_init': arch/arm/mach-omap2/pm.c:294: undefined reference to `omap_voltage_late_init' arch/arm/mach-omap2/built-in.o: In function `omap2_gpio_dev_init': arch/arm/mach-omap2/gpio.c:133: undefined reference to `pwrdm_can_ever_lose_context' We can avoid this if we make CONFIG_ARCH_OMAP2PLUS a silent option that gets enabled any time that one of the SoC versions is enabled. Cc: Tony Lindgren <tony@atomide.com> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
		
							parent
							
								
									514a590847
								
							
						
					
					
						commit
						59d92875a6
					
				| @ -22,6 +22,10 @@ CONFIG_MODULE_SRCVERSION_ALL=y | ||||
| # CONFIG_BLK_DEV_BSG is not set | ||||
| CONFIG_ARCH_MULTI_V6=y | ||||
| CONFIG_ARCH_OMAP2PLUS=y | ||||
| CONFIG_ARCH_OMAP2=y | ||||
| CONFIG_ARCH_OMAP3=y | ||||
| CONFIG_ARCH_OMAP4=y | ||||
| CONFIG_SOC_AM33XX=y | ||||
| CONFIG_OMAP_RESET_CLOCKS=y | ||||
| CONFIG_OMAP_MUX_DEBUG=y | ||||
| CONFIG_ARCH_VEXPRESS_CA9X4=y | ||||
|  | ||||
| @ -1,8 +1,90 @@ | ||||
| config ARCH_OMAP | ||||
| 	bool | ||||
| 
 | ||||
| config ARCH_OMAP2 | ||||
| 	bool "TI OMAP2" | ||||
| 	depends on ARCH_MULTI_V6 | ||||
| 	select ARCH_OMAP2PLUS | ||||
| 	select CPU_V6 | ||||
| 	select MULTI_IRQ_HANDLER | ||||
| 	select SOC_HAS_OMAP2_SDRC | ||||
| 	select COMMON_CLK | ||||
| 
 | ||||
| config ARCH_OMAP3 | ||||
| 	bool "TI OMAP3" | ||||
| 	depends on ARCH_MULTI_V7 | ||||
| 	select ARCH_OMAP2PLUS | ||||
| 	select ARCH_HAS_OPP | ||||
| 	select ARM_CPU_SUSPEND if PM | ||||
| 	select CPU_V7 | ||||
| 	select MULTI_IRQ_HANDLER | ||||
| 	select OMAP_INTERCONNECT | ||||
| 	select PM_OPP if PM | ||||
| 	select PM_RUNTIME if CPU_IDLE | ||||
| 	select SOC_HAS_OMAP2_SDRC | ||||
| 	select COMMON_CLK | ||||
| 	select USB_ARCH_HAS_EHCI if USB_SUPPORT | ||||
| 
 | ||||
| config ARCH_OMAP4 | ||||
| 	bool "TI OMAP4" | ||||
| 	depends on ARCH_MULTI_V7 | ||||
| 	select ARCH_OMAP2PLUS | ||||
| 	select ARCH_HAS_OPP | ||||
| 	select ARCH_NEEDS_CPU_IDLE_COUPLED if SMP | ||||
| 	select ARM_CPU_SUSPEND if PM | ||||
| 	select ARM_ERRATA_720789 | ||||
| 	select ARM_GIC | ||||
| 	select CACHE_L2X0 | ||||
| 	select CPU_V7 | ||||
| 	select HAVE_ARM_SCU if SMP | ||||
| 	select HAVE_ARM_TWD if LOCAL_TIMERS | ||||
| 	select HAVE_SMP | ||||
| 	select LOCAL_TIMERS if SMP | ||||
| 	select OMAP_INTERCONNECT | ||||
| 	select PL310_ERRATA_588369 | ||||
| 	select PL310_ERRATA_727915 | ||||
| 	select PM_OPP if PM | ||||
| 	select PM_RUNTIME if CPU_IDLE | ||||
| 	select USB_ARCH_HAS_EHCI if USB_SUPPORT | ||||
| 	select COMMON_CLK | ||||
| 	select ARM_ERRATA_754322 | ||||
| 	select ARM_ERRATA_775420 | ||||
| 
 | ||||
| config SOC_OMAP5 | ||||
| 	bool "TI OMAP5" | ||||
| 	depends on ARCH_MULTI_V7 | ||||
| 	select ARCH_OMAP2PLUS | ||||
| 	select ARM_CPU_SUSPEND if PM | ||||
| 	select ARM_GIC | ||||
| 	select CPU_V7 | ||||
| 	select HAVE_ARM_SCU if SMP | ||||
| 	select HAVE_ARM_TWD if LOCAL_TIMERS | ||||
| 	select HAVE_SMP | ||||
| 	select COMMON_CLK | ||||
| 	select HAVE_ARM_ARCH_TIMER | ||||
| 
 | ||||
| config SOC_AM33XX | ||||
| 	bool "AM33XX support" | ||||
| 	depends on ARCH_MULTI_V7 | ||||
| 	select ARCH_OMAP2PLUS | ||||
| 	select ARM_CPU_SUSPEND if PM | ||||
| 	select CPU_V7 | ||||
| 	select MULTI_IRQ_HANDLER | ||||
| 	select COMMON_CLK | ||||
| 
 | ||||
| config SOC_AM43XX | ||||
| 	bool "TI AM43x" | ||||
| 	depends on ARCH_MULTI_V7 | ||||
| 	select CPU_V7 | ||||
| 	select ARCH_OMAP2PLUS | ||||
| 	select MULTI_IRQ_HANDLER | ||||
| 	select ARM_GIC | ||||
| 	select COMMON_CLK | ||||
| 	select MACH_OMAP_GENERIC | ||||
| 
 | ||||
| config ARCH_OMAP2PLUS | ||||
| 	bool "TI OMAP2/3/4/5 SoCs with device tree support" if (ARCH_MULTI_V6 || ARCH_MULTI_V7) | ||||
| 	bool | ||||
| 	select ARCH_HAS_BANDGAP | ||||
| 	select ARCH_HAS_CPUFREQ | ||||
| 	select ARCH_HAS_HOLES_MEMORYMODEL | ||||
| 	select ARCH_OMAP | ||||
| @ -17,7 +99,6 @@ config ARCH_OMAP2PLUS | ||||
| 	select PROC_DEVICETREE if PROC_FS | ||||
| 	select SOC_BUS | ||||
| 	select SPARSE_IRQ | ||||
| 	select TI_PRIV_EDMA | ||||
| 	select USE_OF | ||||
| 	help | ||||
| 	  Systems based on OMAP2, OMAP3, OMAP4 or OMAP5 | ||||
| @ -52,70 +133,6 @@ config SOC_HAS_REALTIME_COUNTER | ||||
| 	depends on SOC_OMAP5 | ||||
| 	default y | ||||
| 
 | ||||
| config ARCH_OMAP2 | ||||
| 	bool "TI OMAP2" | ||||
| 	depends on ARCH_OMAP2PLUS | ||||
| 	depends on ARCH_MULTI_V6 | ||||
| 	default y | ||||
| 	select CPU_V6 | ||||
| 	select MULTI_IRQ_HANDLER | ||||
| 	select SOC_HAS_OMAP2_SDRC | ||||
| 	select COMMON_CLK | ||||
| 
 | ||||
| config ARCH_OMAP3 | ||||
| 	bool "TI OMAP3" | ||||
| 	depends on ARCH_OMAP2PLUS | ||||
| 	depends on ARCH_MULTI_V7 | ||||
| 	default y | ||||
| 	select ARCH_HAS_OPP | ||||
| 	select ARM_CPU_SUSPEND if PM | ||||
| 	select CPU_V7 | ||||
| 	select MULTI_IRQ_HANDLER | ||||
| 	select OMAP_INTERCONNECT | ||||
| 	select PM_OPP if PM | ||||
| 	select PM_RUNTIME if CPU_IDLE | ||||
| 	select SOC_HAS_OMAP2_SDRC | ||||
| 	select COMMON_CLK | ||||
| 	select USB_ARCH_HAS_EHCI if USB_SUPPORT | ||||
| 
 | ||||
| config ARCH_OMAP4 | ||||
| 	bool "TI OMAP4" | ||||
| 	default y | ||||
| 	depends on ARCH_OMAP2PLUS | ||||
| 	depends on ARCH_MULTI_V7 | ||||
| 	select ARCH_HAS_OPP | ||||
| 	select ARCH_NEEDS_CPU_IDLE_COUPLED if SMP | ||||
| 	select ARM_CPU_SUSPEND if PM | ||||
| 	select ARM_ERRATA_720789 | ||||
| 	select ARM_GIC | ||||
| 	select CACHE_L2X0 | ||||
| 	select CPU_V7 | ||||
| 	select HAVE_ARM_SCU if SMP | ||||
| 	select HAVE_ARM_TWD if LOCAL_TIMERS | ||||
| 	select HAVE_SMP | ||||
| 	select LOCAL_TIMERS if SMP | ||||
| 	select OMAP_INTERCONNECT | ||||
| 	select PL310_ERRATA_588369 | ||||
| 	select PL310_ERRATA_727915 | ||||
| 	select PM_OPP if PM | ||||
| 	select PM_RUNTIME if CPU_IDLE | ||||
| 	select USB_ARCH_HAS_EHCI if USB_SUPPORT | ||||
| 	select COMMON_CLK | ||||
| 	select ARM_ERRATA_754322 | ||||
| 	select ARM_ERRATA_775420 | ||||
| 
 | ||||
| config SOC_OMAP5 | ||||
| 	bool "TI OMAP5" | ||||
| 	depends on ARCH_MULTI_V7 | ||||
| 	select ARM_CPU_SUSPEND if PM | ||||
| 	select ARM_GIC | ||||
| 	select CPU_V7 | ||||
| 	select HAVE_ARM_SCU if SMP | ||||
| 	select HAVE_ARM_TWD if LOCAL_TIMERS | ||||
| 	select HAVE_SMP | ||||
| 	select COMMON_CLK | ||||
| 	select HAVE_ARM_ARCH_TIMER | ||||
| 
 | ||||
| comment "OMAP Core Type" | ||||
| 	depends on ARCH_OMAP2 | ||||
| 
 | ||||
| @ -143,23 +160,6 @@ config SOC_TI81XX | ||||
| 	depends on ARCH_OMAP3 | ||||
| 	default y | ||||
| 
 | ||||
| config SOC_AM33XX | ||||
| 	bool "AM33XX support" | ||||
| 	depends on ARCH_MULTI_V7 | ||||
| 	default y | ||||
| 	select ARM_CPU_SUSPEND if PM | ||||
| 	select CPU_V7 | ||||
| 	select MULTI_IRQ_HANDLER | ||||
| 	select COMMON_CLK | ||||
| 
 | ||||
| config SOC_AM43XX | ||||
| 	bool "TI AM43x" | ||||
| 	select CPU_V7 | ||||
| 	select MULTI_IRQ_HANDLER | ||||
| 	select ARM_GIC | ||||
| 	select COMMON_CLK | ||||
| 	select MACH_OMAP_GENERIC | ||||
| 
 | ||||
| config OMAP_PACKAGE_ZAF | ||||
|        bool | ||||
| 
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user