x86: call cache_add_dev() from cache_sysfs_init() explicitly
authorSatyam Sharma <satyam@infradead.org>
Wed, 17 Oct 2007 16:04:40 +0000 (18:04 +0200)
committerThomas Gleixner <tglx@inhelltoy.tec.linutronix.de>
Wed, 17 Oct 2007 18:16:49 +0000 (20:16 +0200)
Call cache_add_dev() from cache_sysfs_init() explicitly, instead of
referencing the CPU notifier callback directly from generic startup
code. Looks cleaner (to me at least) this way, and also makes it
possible to use other tricks to replace __cpuinit{data} annotations, as
recently discussed on this list.

Signed-off-by: Satyam Sharma <satyam@infradead.org>
Cc: Andi Kleen <ak@suse.de>
Cc: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
arch/x86/kernel/cpu/intel_cacheinfo.c

index 6f9dd38029bda066e41c9a3fba82248ec31554b7..1826395ebeeb48235e2a51382ce9e426073d769d 100644 (file)
@@ -794,8 +794,9 @@ static int __cpuinit cache_sysfs_init(void)
        register_hotcpu_notifier(&cacheinfo_cpu_notifier);
 
        for_each_online_cpu(i) {
-               cacheinfo_cpu_callback(&cacheinfo_cpu_notifier, CPU_ONLINE,
-                       (void *)(long)i);
+               struct sys_device *sys_dev = get_cpu_sysdev((unsigned int)i);
+
+               cache_add_dev(sys_dev);
        }
 
        return 0;