Re: [PATCH] powerpc/via-pmu: Fix section mismatch warning
From: Mathieu Malaterre <hidden>
Date: 2018-02-14 21:17:04
Also in:
lkml
On Tue, Feb 13, 2018 at 7:54 PM, Laurent Vivier [off-list ref] wrote:
quoted hunk ↗ jump to hunk
On 07/02/2018 20:44, Mathieu Malaterre wrote:quoted
Remove the __init annotation from pmu_init() to avoid the following warning. WARNING: vmlinux.o(.data+0x4739c): Section mismatch in reference from the variable via_pmu_driver to the function .init.text:pmu_init() The variable via_pmu_driver references the function __init pmu_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: Mathieu Malaterre <redacted> --- drivers/macintosh/via-pmu.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)diff --git a/drivers/macintosh/via-pmu.c b/drivers/macintosh/via-pmu.c index 08849e33c567..5f378272d5b2 100644 --- a/drivers/macintosh/via-pmu.c +++ b/drivers/macintosh/via-pmu.c@@ -378,7 +378,7 @@ static int pmu_probe(void) return vias == NULL? -ENODEV: 0; } -static int __init pmu_init(void) +static int pmu_init(void) { if (vias == NULL) return -ENODEV;pmu_init() is really an init function only called by another init function (adb_init()). So I think it could be good to let the __init marker. Did you try:--- a/drivers/macintosh/via-pmu.c +++ b/drivers/macintosh/via-pmu.c@@ -198,7 +198,7 @@ static const struct file_operationspmu_battery_proc_fops; static const struct file_operations pmu_options_proc_fops; #ifdef CONFIG_ADB -struct adb_driver via_pmu_driver = { +const struct adb_driver via_pmu_driver = { "PMU", pmu_probe, pmu_init,
Indeed much better ! Thanks