Hi Arjan,

Please find the patch that fixes this, thanks.


>From 0fa3f051da35f148605a29ca5cc15eac33c08697 Mon Sep 17 00:00:00 2001
From: Illyas Mansoor <[email protected]>
Date: Tue, 23 Nov 2010 00:43:01 +0530
Subject: [PATCH] fix for section mismatch warnings

sfi_processor_register_performance() was not
annotated with __init fixed this.

Signed-off-by: Illyas Mansoor <[email protected]>
---
 arch/x86/kernel/cpu/cpufreq/sfi-cpufreq.c |   18 +++++++++---------
 1 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/arch/x86/kernel/cpu/cpufreq/sfi-cpufreq.c 
b/arch/x86/kernel/cpu/cpufreq/sfi-cpufreq.c
index 11d1438..390ff3f 100644
--- a/arch/x86/kernel/cpu/cpufreq/sfi-cpufreq.c
+++ b/arch/x86/kernel/cpu/cpufreq/sfi-cpufreq.c
@@ -96,7 +96,7 @@ static struct sfi_cpu_table_entry sfi_cpu_array[SFI_CPU_MAX];
 /* sfi_perf_data is a pointer to percpu data. */
 static struct sfi_processor_performance *sfi_perf_data;
 
-static struct cpufreq_driver sfi_cpufreq_driver;
+static struct cpufreq_driver sfi_cpufreq_driver_ops;
 
 static unsigned int sfi_pstate_strict;
 
@@ -179,7 +179,7 @@ void set_cpu_to_gfm(void)
        wrmsr(MSR_IA32_PERF_CTL, l, h);
 }
 
-int
+int __init
 sfi_processor_register_performance(struct sfi_processor_performance
                                    *performance, unsigned int cpu)
 {
@@ -558,7 +558,7 @@ static int __init sfi_cpufreq_early_init(void)
 }
 
 
-static int sfi_cpufreq_cpu_init(struct cpufreq_policy *policy)
+static int __init sfi_cpufreq_cpu_init(struct cpufreq_policy *policy)
 {
        unsigned int i;
        unsigned int valid_states = 0;
@@ -578,7 +578,7 @@ static int sfi_cpufreq_cpu_init(struct cpufreq_policy 
*policy)
        per_cpu(drv_data, cpu) = data;
 
        if (cpu_has(c, X86_FEATURE_CONSTANT_TSC))
-               sfi_cpufreq_driver.flags |= CPUFREQ_CONST_LOOPS;
+               sfi_cpufreq_driver_ops.flags |= CPUFREQ_CONST_LOOPS;
 
 
        result = sfi_processor_register_performance(data->sfi_data, cpu);
@@ -647,7 +647,7 @@ static int sfi_cpufreq_cpu_init(struct cpufreq_policy 
*policy)
        if (result)
                goto err_freqfree;
 
-       sfi_cpufreq_driver.get = get_cur_freq_on_cpu;
+       sfi_cpufreq_driver_ops.get = get_cur_freq_on_cpu;
        policy->cur = get_cur_freq_on_cpu(cpu);
 
        /* Check for APERF/MPERF support in hardware */
@@ -655,7 +655,7 @@ static int sfi_cpufreq_cpu_init(struct cpufreq_policy 
*policy)
                unsigned int ecx;
                ecx = cpuid_ecx(6);
                if (ecx & CPUID_6_ECX_APERFMPERF_CAPABILITY)
-                       sfi_cpufreq_driver.getavg = get_measured_perf;
+                       sfi_cpufreq_driver_ops.getavg = get_measured_perf;
        }
 
        dprintk("CPU%u - SFI performance management activated.\n", cpu);
@@ -719,7 +719,7 @@ static struct freq_attr *sfi_cpufreq_attr[] = {
        NULL,
 };
 
-static struct cpufreq_driver sfi_cpufreq_driver = {
+static struct cpufreq_driver sfi_cpufreq_driver_ops = {
        .verify = sfi_cpufreq_verify,
        .target = sfi_cpufreq_target,
        .init = sfi_cpufreq_cpu_init,
@@ -790,7 +790,7 @@ static int __init sfi_cpufreq_init(void)
        if (ret)
                return ret;
 
-       return cpufreq_register_driver(&sfi_cpufreq_driver);
+       return cpufreq_register_driver(&sfi_cpufreq_driver_ops);
 }
 
 static void __exit sfi_cpufreq_exit(void)
@@ -803,7 +803,7 @@ static void __exit sfi_cpufreq_exit(void)
        pr = per_cpu(sfi_processors, 0);
        kfree(pr);
 
-       cpufreq_unregister_driver(&sfi_cpufreq_driver);
+       cpufreq_unregister_driver(&sfi_cpufreq_driver_ops);
 
        free_percpu(sfi_perf_data);
 
-- 
1.7.2.3

-----Original Message-----
From: Arjan van de Ven [mailto:[email protected]] 
Sent: Saturday, November 20, 2010 2:40 AM
To: Mansoor, Illyas
Cc: [email protected]
Subject: Re: [Meego-kernel] [PATCH 2/2] SFI P state driver

On 10/14/2010 12:28 PM, Mansoor, Illyas wrote:
> Hi Arjan,
>
> This submission is for MeeGo kernel.
>


WARNING: arch/x86/kernel/cpu/built-in.o(.text+0x8fc9): Section mismatch 
in reference from the function sfi_processor_register_performance() to 
the function .init.text:parse_freq()
The function sfi_processor_register_performance() references
the function __init parse_freq().
This is often because sfi_processor_register_performance lacks a __init
annotation or the annotation of parse_freq is wrong.


can you take a look at this please?


Attachment: 0001-fix-for-section-mismatch-warnings.patch
Description: 0001-fix-for-section-mismatch-warnings.patch

_______________________________________________
MeeGo-kernel mailing list
[email protected]
http://lists.meego.com/listinfo/meego-kernel

Reply via email to