* [PATCH] i386: mark two more functions as __init
@ 2006-08-08 8:17 Magnus Damm
2006-08-08 9:15 ` Andi Kleen
2006-08-08 19:58 ` Andrew Morton
0 siblings, 2 replies; 4+ messages in thread
From: Magnus Damm @ 2006-08-08 8:17 UTC (permalink / raw)
To: linux-kernel; +Cc: Magnus Damm
i386: mark two more functions as __init
cyrix_identify() should be __init because transmeta_identify() is.
tsc_init() is only called from setup_arch() which is marked as __init.
These two section mismatches have been detected using running modpost on
a vmlinux image compiled with CONFIG_RELOCATABLE=y.
Signed-off-by: Magnus Damm <magnus@valinux.co.jp>
---
cpu/cyrix.c | 2 +-
tsc.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
--- 0001/arch/i386/kernel/cpu/cyrix.c
+++ work/arch/i386/kernel/cpu/cyrix.c 2006-08-07 17:02:58.000000000 +0900
@@ -394,7 +394,7 @@ static inline int test_cyrix_52div(void)
return (unsigned char) (test >> 8) == 0x02;
}
-static void cyrix_identify(struct cpuinfo_x86 * c)
+static void __init cyrix_identify(struct cpuinfo_x86 * c)
{
/* Detect Cyrix with disabled CPUID */
if ( c->x86 == 4 && test_cyrix_52div() ) {
--- 0001/arch/i386/kernel/tsc.c
+++ work/arch/i386/kernel/tsc.c 2006-08-07 17:02:58.000000000 +0900
@@ -192,7 +192,7 @@ int recalibrate_cpu_khz(void)
EXPORT_SYMBOL(recalibrate_cpu_khz);
-void tsc_init(void)
+void __init tsc_init(void)
{
if (!cpu_has_tsc || tsc_disable)
return;
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] i386: mark two more functions as __init
2006-08-08 8:17 [PATCH] i386: mark two more functions as __init Magnus Damm
@ 2006-08-08 9:15 ` Andi Kleen
2006-08-08 19:58 ` Andrew Morton
1 sibling, 0 replies; 4+ messages in thread
From: Andi Kleen @ 2006-08-08 9:15 UTC (permalink / raw)
To: Magnus Damm; +Cc: linux-kernel
Magnus Damm <magnus@valinux.co.jp> writes:
> i386: mark two more functions as __init
>
> cyrix_identify() should be __init because transmeta_identify() is.
> tsc_init() is only called from setup_arch() which is marked as __init.
>
> These two section mismatches have been detected using running modpost on
> a vmlinux image compiled with CONFIG_RELOCATABLE=y.
I queued both patches (topology and this one)
-Andi
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] i386: mark two more functions as __init
2006-08-08 8:17 [PATCH] i386: mark two more functions as __init Magnus Damm
2006-08-08 9:15 ` Andi Kleen
@ 2006-08-08 19:58 ` Andrew Morton
2006-08-09 0:14 ` Magnus Damm
1 sibling, 1 reply; 4+ messages in thread
From: Andrew Morton @ 2006-08-08 19:58 UTC (permalink / raw)
To: Magnus Damm; +Cc: linux-kernel
On Tue, 8 Aug 2006 17:17:00 +0900 (JST)
Magnus Damm <magnus@valinux.co.jp> wrote:
> i386: mark two more functions as __init
>
> cyrix_identify() should be __init because transmeta_identify() is.
> tsc_init() is only called from setup_arch() which is marked as __init.
>
> These two section mismatches have been detected using running modpost on
> a vmlinux image compiled with CONFIG_RELOCATABLE=y.
>
> -static void cyrix_identify(struct cpuinfo_x86 * c)
> +static void __init cyrix_identify(struct cpuinfo_x86 * c)
Are we sure? We end up putting a pointer to this into
arch/i386/kernel/cpu/common.c:cpu_devs[], and that gets used from __cpuinit
code.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] i386: mark two more functions as __init
2006-08-08 19:58 ` Andrew Morton
@ 2006-08-09 0:14 ` Magnus Damm
0 siblings, 0 replies; 4+ messages in thread
From: Magnus Damm @ 2006-08-09 0:14 UTC (permalink / raw)
To: Andrew Morton; +Cc: Magnus Damm, linux-kernel
On 8/9/06, Andrew Morton <akpm@osdl.org> wrote:
> On Tue, 8 Aug 2006 17:17:00 +0900 (JST)
> Magnus Damm <magnus@valinux.co.jp> wrote:
>
> > i386: mark two more functions as __init
> >
> > cyrix_identify() should be __init because transmeta_identify() is.
> > tsc_init() is only called from setup_arch() which is marked as __init.
> >
> > These two section mismatches have been detected using running modpost on
> > a vmlinux image compiled with CONFIG_RELOCATABLE=y.
> >
> > -static void cyrix_identify(struct cpuinfo_x86 * c)
> > +static void __init cyrix_identify(struct cpuinfo_x86 * c)
>
> Are we sure? We end up putting a pointer to this into
> arch/i386/kernel/cpu/common.c:cpu_devs[], and that gets used from __cpuinit
> code.
Uh, right. The problem is that almost all cpu code is put in the
__init section today. I'll break out and resend the tsc code, and on
top of that post a set of patches that puts cpu code and data into
__cpuinit and __cpuinitdata sections.
Thanks!
/ magnus
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2006-08-09 0:14 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-08-08 8:17 [PATCH] i386: mark two more functions as __init Magnus Damm
2006-08-08 9:15 ` Andi Kleen
2006-08-08 19:58 ` Andrew Morton
2006-08-09 0:14 ` Magnus Damm
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox