From 1a9b1c957aa72f75225f822a1ea5e62109835b05 Mon Sep 17 00:00:00 2001 From: Anson Huang Date: Mon, 18 Apr 2016 14:40:47 +0800 Subject: [PATCH] MLK-12671 ARM: imx: support single soc config Need to make sure build pass with single SOC config, in current build for single SOC config, if both SOC_IMX7D and SOC_IMX6SX are NOT selected, below build error will occur, add MU module config to fix this build issue. LD init/built-in.o arch/arm/mach-imx/built-in.o: In function `busfreq_probe': :(.text+0x5370): undefined reference to `imx_mu_lpm_ready' arch/arm/mach-imx/built-in.o: In function `bus_freq_pm_notify': :(.text+0x5d50): undefined reference to `imx_mu_lpm_ready' :(.text+0x5d68): undefined reference to `imx_mu_lpm_ready' make: *** [vmlinux] Error 1 Signed-off-by: Anson Huang --- arch/arm/mach-imx/Kconfig | 5 +++++ arch/arm/mach-imx/Makefile | 5 +++-- arch/arm/mach-imx/common.h | 4 ++++ 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/arch/arm/mach-imx/Kconfig b/arch/arm/mach-imx/Kconfig index cf19d538db51..38ca2a34764b 100644 --- a/arch/arm/mach-imx/Kconfig +++ b/arch/arm/mach-imx/Kconfig @@ -67,6 +67,9 @@ config HAVE_IMX_AMP config HAVE_IMX_DDRC bool +config HAVE_IMX_MU + bool + config HAVE_IMX_RPMSG select RPMSG_VIRTIO bool @@ -539,6 +542,7 @@ config SOC_IMX6SX select PINCTRL_IMX6SX select HAVE_IMX_AMP select SOC_IMX6 + select HAVE_IMX_MU select HAVE_IMX_RPMSG select RPMSG select IMX_SEMA4 @@ -575,6 +579,7 @@ config SOC_IMX7D select HAVE_IMX_MMDC select HAVE_IMX_DDRC select HAVE_IMX_SRC + select HAVE_IMX_MU select HAVE_IMX_RPMSG select RPMSG select KEYBOARD_SNVS_PWRKEY diff --git a/arch/arm/mach-imx/Makefile b/arch/arm/mach-imx/Makefile index cdbb4100528d..1b1b921a9031 100644 --- a/arch/arm/mach-imx/Makefile +++ b/arch/arm/mach-imx/Makefile @@ -77,6 +77,7 @@ obj-$(CONFIG_HAVE_IMX_GPCV2) += gpcv2.o obj-$(CONFIG_HAVE_IMX_MMDC) += mmdc.o obj-$(CONFIG_HAVE_IMX_DDRC) += ddrc.o obj-$(CONFIG_HAVE_IMX_SRC) += src.o +obj-$(CONFIG_HAVE_IMX_MU) += mu.o obj-$(CONFIG_HAVE_IMX_RPMSG) += imx_rpmsg.o ifneq ($(CONFIG_SOC_IMX6)$(CONFIG_SOC_IMX7)$(CONFIG_SOC_LS1021A),) AFLAGS_headsmp.o :=-Wa,-march=armv7-a @@ -94,10 +95,10 @@ obj-$(CONFIG_SOC_IMX6SL) += mach-imx6sl.o lpddr2_freq_imx6.o AFLAGS_ddr3_freq_imx6sx.o :=-Wa,-march=armv7-a AFLAGS_lpddr2_freq_imx6sx.o :=-Wa,-march=armv7-a obj-$(CONFIG_SOC_IMX6SX) += mach-imx6sx.o ddr3_freq_imx6sx.o \ - lpddr2_freq_imx6sx.o mu.o + lpddr2_freq_imx6sx.o obj-$(CONFIG_SOC_IMX6UL) += mach-imx6ul.o ddr3_freq_imx6sx.o \ lpddr2_freq_imx6sx.o -obj-$(CONFIG_SOC_IMX7D) += mach-imx7d.o mu.o +obj-$(CONFIG_SOC_IMX7D) += mach-imx7d.o ifeq ($(CONFIG_SUSPEND),y) AFLAGS_suspend-imx6.o :=-Wa,-march=armv7-a diff --git a/arch/arm/mach-imx/common.h b/arch/arm/mach-imx/common.h index 0722650b6b3f..e749b6f46315 100644 --- a/arch/arm/mach-imx/common.h +++ b/arch/arm/mach-imx/common.h @@ -82,7 +82,11 @@ void mcc_send_via_mu_buffer(unsigned int index, unsigned int data); bool imx_mu_is_m4_in_low_freq(void); bool imx_mu_is_m4_in_stop(void); void imx_mu_set_m4_run_mode(void); +#ifdef CONFIG_HAVE_IMX_MU int imx_mu_lpm_ready(bool ready); +#else +static inline int imx_mu_lpm_ready(bool ready) { return 0; } +#endif enum mxc_cpu_pwr_mode { WAIT_CLOCKED, /* wfi only */ -- 2.17.1