On Wed, Jun 21, 2017 at 5:04 AM, Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote: > Hi all, > > After merging the clk tree, today's linux-next build (x86_64 allmodconfig) > produced these warnings: > > WARNING: drivers/clk/bcm/built-in.o(.text+0x4022): Section mismatch in reference from the function sr_genpll3_clk_init() to the function .init.text:iproc_pll_clk_setup() > The function sr_genpll3_clk_init() references > the function __init iproc_pll_clk_setup(). > This is often because sr_genpll3_clk_init lacks a __init > annotation or the annotation of iproc_pll_clk_setup is wrong. > > WARNING: drivers/clk/bcm/built-in.o(.text+0x4069): Section mismatch in reference from the function sr_lcpll_pcie_clk_init() to the function .init.text:iproc_pll_clk_setup() > The function sr_lcpll_pcie_clk_init() references > the function __init iproc_pll_clk_setup(). > This is often because sr_lcpll_pcie_clk_init lacks a __init > annotation or the annotation of iproc_pll_clk_setup is wrong. > > WARNING: drivers/clk/bcm/built-in.o(.text+0x40b9): Section mismatch in reference from the function sr_lcpll1_clk_init() to the function .init.text:iproc_pll_clk_setup() > The function sr_lcpll1_clk_init() references > the function __init iproc_pll_clk_setup(). > This is often because sr_lcpll1_clk_init lacks a __init > annotation or the annotation of iproc_pll_clk_setup is wrong. > > WARNING: drivers/clk/bcm/built-in.o(.text+0x4109): Section mismatch in reference from the function sr_lcpll0_clk_init() to the function .init.text:iproc_pll_clk_setup() > The function sr_lcpll0_clk_init() references > the function __init iproc_pll_clk_setup(). > This is often because sr_lcpll0_clk_init lacks a __init > annotation or the annotation of iproc_pll_clk_setup is wrong. > > WARNING: drivers/clk/bcm/built-in.o(.text+0x4159): Section mismatch in reference from the function sr_genpll5_clk_init() to the function .init.text:iproc_pll_clk_setup() > The function sr_genpll5_clk_init() references > the function __init iproc_pll_clk_setup(). > This is often because sr_genpll5_clk_init lacks a __init > annotation or the annotation of iproc_pll_clk_setup is wrong. > > WARNING: drivers/clk/bcm/built-in.o(.text+0x41a9): Section mismatch in reference from the function sr_genpll4_clk_init() to the function .init.text:iproc_pll_clk_setup() > The function sr_genpll4_clk_init() references > the function __init iproc_pll_clk_setup(). > This is often because sr_genpll4_clk_init lacks a __init > annotation or the annotation of iproc_pll_clk_setup is wrong. > > WARNING: drivers/clk/bcm/built-in.o(.text+0x41f9): Section mismatch in reference from the function sr_genpll0_clk_init() to the function .init.text:iproc_pll_clk_setup() > The function sr_genpll0_clk_init() references > the function __init iproc_pll_clk_setup(). > This is often because sr_genpll0_clk_init lacks a __init > annotation or the annotation of iproc_pll_clk_setup is wrong. > > WARNING: drivers/clk/built-in.o(.text+0x14bf2): Section mismatch in reference from the function sr_genpll3_clk_init() to the function .init.text:iproc_pll_clk_setup() > The function sr_genpll3_clk_init() references > the function __init iproc_pll_clk_setup(). > This is often because sr_genpll3_clk_init lacks a __init > annotation or the annotation of iproc_pll_clk_setup is wrong. > > WARNING: drivers/clk/built-in.o(.text+0x14c39): Section mismatch in reference from the function sr_lcpll_pcie_clk_init() to the function .init.text:iproc_pll_clk_setup() > The function sr_lcpll_pcie_clk_init() references > the function __init iproc_pll_clk_setup(). > This is often because sr_lcpll_pcie_clk_init lacks a __init > annotation or the annotation of iproc_pll_clk_setup is wrong. > > WARNING: drivers/clk/built-in.o(.text+0x14c89): Section mismatch in reference from the function sr_lcpll1_clk_init() to the function .init.text:iproc_pll_clk_setup() > The function sr_lcpll1_clk_init() references > the function __init iproc_pll_clk_setup(). > This is often because sr_lcpll1_clk_init lacks a __init > annotation or the annotation of iproc_pll_clk_setup is wrong. > > WARNING: drivers/clk/built-in.o(.text+0x14cd9): Section mismatch in reference from the function sr_lcpll0_clk_init() to the function .init.text:iproc_pll_clk_setup() > The function sr_lcpll0_clk_init() references > the function __init iproc_pll_clk_setup(). > This is often because sr_lcpll0_clk_init lacks a __init > annotation or the annotation of iproc_pll_clk_setup is wrong. > > WARNING: drivers/clk/built-in.o(.text+0x14d29): Section mismatch in reference from the function sr_genpll5_clk_init() to the function .init.text:iproc_pll_clk_setup() > The function sr_genpll5_clk_init() references > the function __init iproc_pll_clk_setup(). > This is often because sr_genpll5_clk_init lacks a __init > annotation or the annotation of iproc_pll_clk_setup is wrong. > > WARNING: drivers/clk/built-in.o(.text+0x14d79): Section mismatch in reference from the function sr_genpll4_clk_init() to the function .init.text:iproc_pll_clk_setup() > The function sr_genpll4_clk_init() references > the function __init iproc_pll_clk_setup(). > This is often because sr_genpll4_clk_init lacks a __init > annotation or the annotation of iproc_pll_clk_setup is wrong. > > WARNING: drivers/clk/built-in.o(.text+0x14dc9): Section mismatch in reference from the function sr_genpll0_clk_init() to the function .init.text:iproc_pll_clk_setup() > The function sr_genpll0_clk_init() references > the function __init iproc_pll_clk_setup(). > This is often because sr_genpll0_clk_init lacks a __init > annotation or the annotation of iproc_pll_clk_setup is wrong. > > WARNING: drivers/built-in.o(.text+0x13e3a2): Section mismatch in reference from the function sr_genpll3_clk_init() to the function .init.text:iproc_pll_clk_setup() > The function sr_genpll3_clk_init() references > the function __init iproc_pll_clk_setup(). > This is often because sr_genpll3_clk_init lacks a __init > annotation or the annotation of iproc_pll_clk_setup is wrong. > > WARNING: drivers/built-in.o(.text+0x13e3e9): Section mismatch in reference from the function sr_lcpll_pcie_clk_init() to the function .init.text:iproc_pll_clk_setup() > The function sr_lcpll_pcie_clk_init() references > the function __init iproc_pll_clk_setup(). > This is often because sr_lcpll_pcie_clk_init lacks a __init > annotation or the annotation of iproc_pll_clk_setup is wrong. > > WARNING: drivers/built-in.o(.text+0x13e439): Section mismatch in reference from the function sr_lcpll1_clk_init() to the function .init.text:iproc_pll_clk_setup() > The function sr_lcpll1_clk_init() references > the function __init iproc_pll_clk_setup(). > This is often because sr_lcpll1_clk_init lacks a __init > annotation or the annotation of iproc_pll_clk_setup is wrong. > > WARNING: drivers/built-in.o(.text+0x13e489): Section mismatch in reference from the function sr_lcpll0_clk_init() to the function .init.text:iproc_pll_clk_setup() > The function sr_lcpll0_clk_init() references > the function __init iproc_pll_clk_setup(). > This is often because sr_lcpll0_clk_init lacks a __init > annotation or the annotation of iproc_pll_clk_setup is wrong. > > WARNING: drivers/built-in.o(.text+0x13e4d9): Section mismatch in reference from the function sr_genpll5_clk_init() to the function .init.text:iproc_pll_clk_setup() > The function sr_genpll5_clk_init() references > the function __init iproc_pll_clk_setup(). > This is often because sr_genpll5_clk_init lacks a __init > annotation or the annotation of iproc_pll_clk_setup is wrong. > > WARNING: drivers/built-in.o(.text+0x13e529): Section mismatch in reference from the function sr_genpll4_clk_init() to the function .init.text:iproc_pll_clk_setup() > The function sr_genpll4_clk_init() references > the function __init iproc_pll_clk_setup(). > This is often because sr_genpll4_clk_init lacks a __init > annotation or the annotation of iproc_pll_clk_setup is wrong. > > WARNING: drivers/built-in.o(.text+0x13e579): Section mismatch in reference from the function sr_genpll0_clk_init() to the function .init.text:iproc_pll_clk_setup() > The function sr_genpll0_clk_init() references > the function __init iproc_pll_clk_setup(). > This is often because sr_genpll0_clk_init lacks a __init > annotation or the annotation of iproc_pll_clk_setup is wrong. > > WARNING: vmlinux.o(.text+0x819132): Section mismatch in reference from the function sr_genpll3_clk_init() to the function .init.text:iproc_pll_clk_setup() > The function sr_genpll3_clk_init() references > the function __init iproc_pll_clk_setup(). > This is often because sr_genpll3_clk_init lacks a __init > annotation or the annotation of iproc_pll_clk_setup is wrong. > > WARNING: vmlinux.o(.text+0x819179): Section mismatch in reference from the function sr_lcpll_pcie_clk_init() to the function .init.text:iproc_pll_clk_setup() > The function sr_lcpll_pcie_clk_init() references > the function __init iproc_pll_clk_setup(). > This is often because sr_lcpll_pcie_clk_init lacks a __init > annotation or the annotation of iproc_pll_clk_setup is wrong. > > WARNING: vmlinux.o(.text+0x8191c9): Section mismatch in reference from the function sr_lcpll1_clk_init() to the function .init.text:iproc_pll_clk_setup() > The function sr_lcpll1_clk_init() references > the function __init iproc_pll_clk_setup(). > This is often because sr_lcpll1_clk_init lacks a __init > annotation or the annotation of iproc_pll_clk_setup is wrong. > > WARNING: vmlinux.o(.text+0x819219): Section mismatch in reference from the function sr_lcpll0_clk_init() to the function .init.text:iproc_pll_clk_setup() > The function sr_lcpll0_clk_init() references > the function __init iproc_pll_clk_setup(). > This is often because sr_lcpll0_clk_init lacks a __init > annotation or the annotation of iproc_pll_clk_setup is wrong. > > WARNING: vmlinux.o(.text+0x819269): Section mismatch in reference from the function sr_genpll5_clk_init() to the function .init.text:iproc_pll_clk_setup() > The function sr_genpll5_clk_init() references > the function __init iproc_pll_clk_setup(). > This is often because sr_genpll5_clk_init lacks a __init > annotation or the annotation of iproc_pll_clk_setup is wrong. > > WARNING: vmlinux.o(.text+0x8192b9): Section mismatch in reference from the function sr_genpll4_clk_init() to the function .init.text:iproc_pll_clk_setup() > The function sr_genpll4_clk_init() references > the function __init iproc_pll_clk_setup(). > This is often because sr_genpll4_clk_init lacks a __init > annotation or the annotation of iproc_pll_clk_setup is wrong. > > WARNING: vmlinux.o(.text+0x819309): Section mismatch in reference from the function sr_genpll0_clk_init() to the function .init.text:iproc_pll_clk_setup() > The function sr_genpll0_clk_init() references > the function __init iproc_pll_clk_setup(). > This is often because sr_genpll0_clk_init lacks a __init > annotation or the annotation of iproc_pll_clk_setup is wrong. > > Introduced by commit > > 654cdd3229cd ("clk: bcm: Add clocks for Stingray SOC") All sr_xxx_init() had __init attribute but we had removed it based on review comments. The iproc_pll_xxx() APIs are shared across various clk drivers of iproc SoCs. I suggest we bring back __init attribute for all sr_xxx_init() in sr_clk.c ?? Regards, Anup -- To unsubscribe from this list: send the line "unsubscribe linux-next" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html