From: Satyam Sharma 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 Cc: Andi Kleen Cc: Venkatesh Pallipadi Signed-off-by: Andrew Morton --- arch/i386/kernel/cpu/intel_cacheinfo.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff -puN arch/i386/kernel/cpu/intel_cacheinfo.c~intel_cacheinfo-call-cache_add_dev-from-cache_sysfs_init arch/i386/kernel/cpu/intel_cacheinfo.c --- a/arch/i386/kernel/cpu/intel_cacheinfo.c~intel_cacheinfo-call-cache_add_dev-from-cache_sysfs_init +++ a/arch/i386/kernel/cpu/intel_cacheinfo.c @@ -794,8 +794,8 @@ static int __cpuinit cache_sysfs_init(vo 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; _