Re: [PATCH] cpufreq: pxa2xx: remove incorrect __init annotation
On Thursday, March 7, 2019 11:22:41 AM CET Arnd Bergmann wrote: > pxa_cpufreq_init_voltages() is marked __init but usually inlined into > the non-__init pxa_cpufreq_init() function. When building with clang, > it can stay as a standalone function in a discarded section, and produce > this warning: > > WARNING: vmlinux.o(.text+0x616a00): Section mismatch in reference from the > function pxa_cpufreq_init() to the function > .init.text:pxa_cpufreq_init_voltages() > The function pxa_cpufreq_init() references > the function __init pxa_cpufreq_init_voltages(). > This is often because pxa_cpufreq_init lacks a __init > annotation or the annotation of pxa_cpufreq_init_voltages is wrong. > > Fixes: 50e77fcd790e ("ARM: pxa: remove __init from cpufreq_driver->init()") > Signed-off-by: Arnd Bergmann > --- > drivers/cpufreq/pxa2xx-cpufreq.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/cpufreq/pxa2xx-cpufreq.c > b/drivers/cpufreq/pxa2xx-cpufreq.c > index 46254e583982..74e0e0c20c46 100644 > --- a/drivers/cpufreq/pxa2xx-cpufreq.c > +++ b/drivers/cpufreq/pxa2xx-cpufreq.c > @@ -143,7 +143,7 @@ static int pxa_cpufreq_change_voltage(const struct > pxa_freqs *pxa_freq) > return ret; > } > > -static void __init pxa_cpufreq_init_voltages(void) > +static void pxa_cpufreq_init_voltages(void) > { > vcc_core = regulator_get(NULL, "vcc_core"); > if (IS_ERR(vcc_core)) { > @@ -159,7 +159,7 @@ static int pxa_cpufreq_change_voltage(const struct > pxa_freqs *pxa_freq) > return 0; > } > > -static void __init pxa_cpufreq_init_voltages(void) { } > +static void pxa_cpufreq_init_voltages(void) { } > #endif > > static void find_freq_tables(struct cpufreq_frequency_table **freq_table, > Applied, thanks!
Re: [PATCH] cpufreq: pxa2xx: remove incorrect __init annotation
Arnd Bergmann writes: > pxa_cpufreq_init_voltages() is marked __init but usually inlined into > the non-__init pxa_cpufreq_init() function. When building with clang, > it can stay as a standalone function in a discarded section, and produce > this warning: > > WARNING: vmlinux.o(.text+0x616a00): Section mismatch in reference from the > function pxa_cpufreq_init() to the function > .init.text:pxa_cpufreq_init_voltages() > The function pxa_cpufreq_init() references > the function __init pxa_cpufreq_init_voltages(). > This is often because pxa_cpufreq_init lacks a __init > annotation or the annotation of pxa_cpufreq_init_voltages is wrong. > > Fixes: 50e77fcd790e ("ARM: pxa: remove __init from cpufreq_driver->init()") > Signed-off-by: Arnd Bergmann Acked-by: Robert Jarzmik Cheers. -- Robert
Re: [PATCH] cpufreq: pxa2xx: remove incorrect __init annotation
On Thu, Mar 07, 2019 at 11:22:41AM +0100, Arnd Bergmann wrote: > pxa_cpufreq_init_voltages() is marked __init but usually inlined into > the non-__init pxa_cpufreq_init() function. When building with clang, > it can stay as a standalone function in a discarded section, and produce > this warning: > > WARNING: vmlinux.o(.text+0x616a00): Section mismatch in reference from the > function pxa_cpufreq_init() to the function > .init.text:pxa_cpufreq_init_voltages() > The function pxa_cpufreq_init() references > the function __init pxa_cpufreq_init_voltages(). > This is often because pxa_cpufreq_init lacks a __init > annotation or the annotation of pxa_cpufreq_init_voltages is wrong. > > Fixes: 50e77fcd790e ("ARM: pxa: remove __init from cpufreq_driver->init()") > Signed-off-by: Arnd Bergmann Reviewed-by: Nathan Chancellor > --- > drivers/cpufreq/pxa2xx-cpufreq.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/cpufreq/pxa2xx-cpufreq.c > b/drivers/cpufreq/pxa2xx-cpufreq.c > index 46254e583982..74e0e0c20c46 100644 > --- a/drivers/cpufreq/pxa2xx-cpufreq.c > +++ b/drivers/cpufreq/pxa2xx-cpufreq.c > @@ -143,7 +143,7 @@ static int pxa_cpufreq_change_voltage(const struct > pxa_freqs *pxa_freq) > return ret; > } > > -static void __init pxa_cpufreq_init_voltages(void) > +static void pxa_cpufreq_init_voltages(void) > { > vcc_core = regulator_get(NULL, "vcc_core"); > if (IS_ERR(vcc_core)) { > @@ -159,7 +159,7 @@ static int pxa_cpufreq_change_voltage(const struct > pxa_freqs *pxa_freq) > return 0; > } > > -static void __init pxa_cpufreq_init_voltages(void) { } > +static void pxa_cpufreq_init_voltages(void) { } > #endif > > static void find_freq_tables(struct cpufreq_frequency_table **freq_table, > -- > 2.20.0 >
Re: [PATCH] cpufreq: pxa2xx: remove incorrect __init annotation
On 07-03-19, 11:22, Arnd Bergmann wrote: > pxa_cpufreq_init_voltages() is marked __init but usually inlined into > the non-__init pxa_cpufreq_init() function. When building with clang, > it can stay as a standalone function in a discarded section, and produce > this warning: > > WARNING: vmlinux.o(.text+0x616a00): Section mismatch in reference from the > function pxa_cpufreq_init() to the function > .init.text:pxa_cpufreq_init_voltages() > The function pxa_cpufreq_init() references > the function __init pxa_cpufreq_init_voltages(). > This is often because pxa_cpufreq_init lacks a __init > annotation or the annotation of pxa_cpufreq_init_voltages is wrong. > > Fixes: 50e77fcd790e ("ARM: pxa: remove __init from cpufreq_driver->init()") > Signed-off-by: Arnd Bergmann > --- > drivers/cpufreq/pxa2xx-cpufreq.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/cpufreq/pxa2xx-cpufreq.c > b/drivers/cpufreq/pxa2xx-cpufreq.c > index 46254e583982..74e0e0c20c46 100644 > --- a/drivers/cpufreq/pxa2xx-cpufreq.c > +++ b/drivers/cpufreq/pxa2xx-cpufreq.c > @@ -143,7 +143,7 @@ static int pxa_cpufreq_change_voltage(const struct > pxa_freqs *pxa_freq) > return ret; > } > > -static void __init pxa_cpufreq_init_voltages(void) > +static void pxa_cpufreq_init_voltages(void) > { > vcc_core = regulator_get(NULL, "vcc_core"); > if (IS_ERR(vcc_core)) { > @@ -159,7 +159,7 @@ static int pxa_cpufreq_change_voltage(const struct > pxa_freqs *pxa_freq) > return 0; > } > > -static void __init pxa_cpufreq_init_voltages(void) { } > +static void pxa_cpufreq_init_voltages(void) { } > #endif > > static void find_freq_tables(struct cpufreq_frequency_table **freq_table, Acked-by: Viresh Kumar -- viresh