[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20080129084435.GA8962@uranus.ravnborg.org>
Date: Tue, 29 Jan 2008 09:44:35 +0100
From: Sam Ravnborg <sam@...nborg.org>
To: Yi Yang <yi.y.yang@...el.com>
Cc: tglx@...utronix.de, hpa@...or.com, mingo@...hat.com,
linux-kernel@...r.kernel.org, akpm@...ux-foundation.org
Subject: Re: [PATCH 2.6.24] x86: add sysfs interface for cpuid module
> +
> +static struct notifier_block __cpuinitdata cpuid_sysfs_cpu_notifier = {
> + .notifier_call = cpuid_sysfs_cpu_callback,
> +};
Data is annotated _cpuintidata
but
> +
Data is annotated _cpuintidata
> @@ -217,11 +445,14 @@ static void __exit cpuid_exit(void)
> {
> int cpu = 0;
>
> - for_each_online_cpu(cpu)
> + for_each_online_cpu(cpu) {
> cpuid_device_destroy(cpu);
> + remove_cpuid_sysfs(cpu);
> + }
> class_destroy(cpuid_class);
> unregister_chrdev(CPUID_MAJOR, "cpu/cpuid");
> unregister_hotcpu_notifier(&cpuid_class_cpu_notifier);
> + unregister_hotcpu_notifier(&cpuid_sysfs_cpu_notifier);
used in an __exit function.
You should have seen a Section mismatch warning for this.
The right fix is to annotate the cpuid_sysfs_cpu_notifier
with __initdata_refok (soon to be named __refdata)
Or even better to declare it const and use _refconst.
Sam
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists