* [PATCH] cpufreq_ at32ap-cpufreq.c: Fix section mismatch
@ 2013-12-05 9:59 Matthias Brugger
2013-12-05 10:33 ` Hans-Christian Egtvedt
0 siblings, 1 reply; 2+ messages in thread
From: Matthias Brugger @ 2013-12-05 9:59 UTC (permalink / raw)
To: Rafael J. Wysocki, Viresh Kumar, cpufreq, linux-pm, linux-kernel,
hskinnemoen, egtvedt, heiko
Cc: Matthias Brugger
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
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
---
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;
--
1.8.1.2
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] cpufreq_ at32ap-cpufreq.c: Fix section mismatch
2013-12-05 9:59 [PATCH] cpufreq_ at32ap-cpufreq.c: Fix section mismatch Matthias Brugger
@ 2013-12-05 10:33 ` Hans-Christian Egtvedt
0 siblings, 0 replies; 2+ messages in thread
From: Hans-Christian Egtvedt @ 2013-12-05 10:33 UTC (permalink / raw)
To: Matthias Brugger
Cc: Rafael J. Wysocki, Viresh Kumar, cpufreq, linux-pm, linux-kernel,
hskinnemoen, heiko
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
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2013-12-05 10:33 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-12-05 9:59 [PATCH] cpufreq_ at32ap-cpufreq.c: Fix section mismatch Matthias Brugger
2013-12-05 10:33 ` Hans-Christian Egtvedt
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox