From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Thu, 15 Oct 2015 17:08:11 -0400 From: Jon Mason To: Scott Branden CC: Michael Turquette , Stephen Boyd , Florian Fainelli , "Hauke Mehrtens" , Ray Jui , , , , , , Arnd Bergmann Subject: Re: [PATCH v3 01/10] ARM: cygnus: fix link failures when CONFIG_COMMON_CLK_IPROC is disabled Message-ID: <20151015210810.GO32089@broadcom.com> References: <1444938513-10758-1-git-send-email-jonmason@broadcom.com> <1444938513-10758-2-git-send-email-jonmason@broadcom.com> <56200C82.1070508@broadcom.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" In-Reply-To: <56200C82.1070508@broadcom.com> Return-Path: jonmason@broadcom.com List-ID: On Thu, Oct 15, 2015 at 01:28:50PM -0700, Scott Branden wrote: > Jon, > > One question below for others to comment on. > > On 15-10-15 12:48 PM, Jon Mason wrote: > >From: Arnd Bergmann > > > >When CONFIG_CYGNUS is set but CONFIG_COMMON_CLK_IPROC is disabled, the > >following link failures are caused: > > > >drivers/built-in.o: In function `cygnus_armpll_init': > >:(.init.text+0x1d290): undefined reference to `iproc_armpll_setup' > >drivers/built-in.o: In function `cygnus_genpll_clk_init': > >:(.init.text+0x1d2c4): undefined reference to `iproc_pll_clk_setup' > >drivers/built-in.o: In function `cygnus_lcpll0_clk_init': > >:(.init.text+0x1d304): undefined reference to `iproc_pll_clk_setup' > >drivers/built-in.o: In function `cygnus_mipipll_clk_init': > >:(.init.text+0x1d344): undefined reference to `iproc_pll_clk_setup' > >drivers/built-in.o: In function `cygnus_asiu_init': > >:(.init.text+0x1d370): undefined reference to `iproc_asiu_setup' > > > >It is fixed it by always selecting COMMON_CLK_IPROC from > >ARCH_BCM_IPROC, and making COMMON_CLK_IPROC a silent option (thus > >preventing it from being erroneously disabled by a user). > > > >Signed-off-by: Arnd Bergmann > >Signed-off-by: Jon Mason > >--- > > arch/arm/mach-bcm/Kconfig | 2 +- > > drivers/clk/bcm/Kconfig | 4 +--- > > 2 files changed, 2 insertions(+), 4 deletions(-) > > > >diff --git a/arch/arm/mach-bcm/Kconfig b/arch/arm/mach-bcm/Kconfig > >index 1319c3c..84bd265 100644 > >--- a/arch/arm/mach-bcm/Kconfig > >+++ b/arch/arm/mach-bcm/Kconfig > >@@ -14,7 +14,7 @@ config ARCH_BCM_IPROC > > select HAVE_ARM_SCU if SMP > > select HAVE_ARM_TWD if SMP > > select ARM_GLOBAL_TIMER > >- > >+ select COMMON_CLK_IPROC > > select CLKSRC_MMIO > > select ARCH_REQUIRE_GPIOLIB > > select ARM_AMBA > >diff --git a/drivers/clk/bcm/Kconfig b/drivers/clk/bcm/Kconfig > >index 88febf5..46ee475 100644 > >--- a/drivers/clk/bcm/Kconfig > >+++ b/drivers/clk/bcm/Kconfig > >@@ -9,10 +9,8 @@ config CLK_BCM_KONA > > in the BCM281xx and BCM21664 families. > > > > config COMMON_CLK_IPROC > >- bool "Broadcom iProc clock support" > >- depends on ARCH_BCM_IPROC > >+ bool > > depends on COMMON_CLK > Should these depends on remain? I think COMMON_CLK_IPROC won't work > without them. The ones that were removed were not necessary (as ARCH_BCM_IPROC now selects it). I left the "depends on COMMON_CLK" in the off chance that the dependency chain gets broken some how (as ARCH_BCM_IPROC is not selecting COMMON_CLK directly, but it is being selected by ARCH_MULTIPLATFORM). Thanks, Jon > >- default ARCH_BCM_IPROC > > help > > Enable common clock framework support for Broadcom SoCs > > based on the iProc architecture > > >