> >
> > > hmm slightly confused
> > >
> > > you can call non-init stuff from init functions, but not the other
> > way
> > > around...
> >
> > Okay I got your point, I guess it's all because of the following
> > function,
> > Called from sfi_processor_register_performance that is causing this
> > mess.
> >
> >         /* parse the freq table from sfi */
> >         sfi_cpufreq_num = 0;
> >         sfi_table_parse(SFI_SIG_FREQ, NULL, NULL, parse_freq);
> >
> > will see how this function call can be avoided from
> > sfi_processor_register_performance
> 
> Arjan, found the issue parse_freq() is annotated with __init which is
> not required,
> Once I removed this annotation all warnings go away. I will test this
> fix tomorrow
> And resubmit this patch.
> 
> Thanks a lot for your comments.

Arjan, resubmitting the patch, just one change of removing
Unwanted __init annotation in parse_freq fixed the compiler warnings.

>From 05d441575fe375748913ae13a3e8e77bd78cb9be Mon Sep 17 00:00:00 2001
From: Illyas Mansoor <[email protected]>
Date: Wed, 24 Nov 2010 22:12:15 +0530
Subject: [PATCH] fix for section mismatch warnings

parse_freq() was annotated with __init this is not required,
fixed this.

fixed the following compiler warning:

WARNING: vmlinux.o(.text+0x12d4e): 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.

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

diff --git a/arch/x86/kernel/cpu/cpufreq/sfi-cpufreq.c 
b/arch/x86/kernel/cpu/cpufreq/sfi-cpufreq.c
index 11d1438..ed1d912 100644
--- a/arch/x86/kernel/cpu/cpufreq/sfi-cpufreq.c
+++ b/arch/x86/kernel/cpu/cpufreq/sfi-cpufreq.c
@@ -100,7 +100,7 @@ static struct cpufreq_driver sfi_cpufreq_driver;
 
 static unsigned int sfi_pstate_strict;
 
-static int __init parse_freq(struct sfi_table_header *table)
+static int parse_freq(struct sfi_table_header *table)
 {
        struct sfi_table_simple *sb;
        struct sfi_freq_table_entry *pentry;
-- 
1.7.2.3

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