> +
> +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 [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to