Messages in this thread | | | Date | Thu, 5 Dec 2013 11:33:53 +0100 | From | Hans-Christian Egtvedt <> | Subject | Re: [PATCH] cpufreq_ at32ap-cpufreq.c: Fix section mismatch |
| |
Around Thu 05 Dec 2013 10:59:57 +0100 or thereabout, Matthias Brugger wrote: > The function at32_cpufreq_driver_init was marked as __init but will be > called from inside the cpufreq framework. This lead to the following a > section mismatch during compilation: > > WARNING: drivers/built-in.o(.data+0x2448): Section mismatch in reference > from the variable at32_driver to the function > .init.text:at32_cpufreq_driver_init() > The variable at32_driver references > the function __init at32_cpufreq_driver_init() > If the reference is valid then annotate the > variable with __init* or __refdata (see linux/init.h) or name the > variable: > *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console
You're right, it is added in struct cpufreq_driver, and AFAICT the cpufreq core might call init every now and then.
Added to my for-linus branch.
> Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
Acked-by: Hans-Christian Egtvedt <egtvedt@samfundet.no>
> --- > drivers/cpufreq/at32ap-cpufreq.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/cpufreq/at32ap-cpufreq.c b/drivers/cpufreq/at32ap-cpufreq.c > index e0c38d9..372c426 100644 > --- a/drivers/cpufreq/at32ap-cpufreq.c > +++ b/drivers/cpufreq/at32ap-cpufreq.c > @@ -83,7 +83,7 @@ static int at32_set_target(struct cpufreq_policy *policy, > return 0; > } > > -static int __init at32_cpufreq_driver_init(struct cpufreq_policy *policy) > +static int at32_cpufreq_driver_init(struct cpufreq_policy *policy) > { > if (policy->cpu != 0) > return -EINVAL; -- mvh Hans-Christian Egtvedt
| |