Messages in this thread | | | Date | Tue, 18 Jun 2019 21:42:55 +0800 | From | Shawn Guo <> | Subject | Re: [PATCH] clk: imx6q: Annotate imx6q_obtain_fixed_clk_hw with __init |
| |
On Mon, Jun 17, 2019 at 07:24:05PM -0700, Nathan Chancellor wrote: > When building with clang, the following modpost warning occurs: > > WARNING: vmlinux.o(.text+0x974dbc): Section mismatch in reference from > the function imx6q_obtain_fixed_clk_hw() to the function > .init.text:imx_obtain_fixed_clock_hw() > The function imx6q_obtain_fixed_clk_hw() references > the function __init imx_obtain_fixed_clock_hw(). > This is often because imx6q_obtain_fixed_clk_hw lacks a __init > annotation or the annotation of imx_obtain_fixed_clock_hw is wrong. > > imx6q_obtain_fixed_clk_hw is only used in imx6q_clocks_init, which is > marked __init so do that to imx6q_obtain_fixed_clk_hw to avoid this > warning. > > Fixes: 992b703b5b38 ("clk: imx6q: Switch to clk_hw based API") > Link: https://github.com/ClangBuiltLinux/linux/issues/541 > Reported-by: Nick Desaulniers <ndesaulniers@google.com> > Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
Thanks for the patch, Nathan. But we already queued up a patch [1] from Arnd for that.
Shawn
[1] https://lkml.org/lkml/2019/6/17/317
> --- > drivers/clk/imx/clk-imx6q.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/drivers/clk/imx/clk-imx6q.c b/drivers/clk/imx/clk-imx6q.c > index 2caa71e91119..18914e0a1850 100644 > --- a/drivers/clk/imx/clk-imx6q.c > +++ b/drivers/clk/imx/clk-imx6q.c > @@ -418,8 +418,9 @@ static void disable_anatop_clocks(void __iomem *anatop_base) > writel_relaxed(reg, anatop_base + CCM_ANALOG_PLL_VIDEO); > } > > -static struct clk_hw *imx6q_obtain_fixed_clk_hw(struct device_node *np, > - const char *name, unsigned long rate) > +static struct clk_hw __init *imx6q_obtain_fixed_clk_hw(struct device_node *np, > + const char *name, > + unsigned long rate) > { > struct clk *clk = of_clk_get_by_name(np, name); > struct clk_hw *hw; > -- > 2.22.0 >
| |