Messages in this thread | | | Date | Wed, 9 Aug 2006 09:14:17 +0900 | From | "Magnus Damm" <> | Subject | Re: [PATCH] i386: mark two more functions as __init |
| |
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 - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |