/* When a cpu is hot-plugged, do a check and initiate cache kobject if necessary  */
static int __cpuinit cache_cpu_callback(struct notifier_block *nfb, unsigned long action, void *hcpu)
/* When a cpu is hot-plugged, do a check and initiate cache kobject if necessary  */
static int __cpuinit cache_cpu_callback(struct notifier_block *nfb, unsigned long action, void *hcpu)
{
	unsigned int cpu = (unsigned long)hcpu;
	struct sys_device *sys_dev;
	sys_dev = get_cpu_sysdev(cpu);
	switch (action) {
	case CPU_ONLINE:
	case CPU_ONLINE_FROZEN:
		cache_add_dev(sys_dev);
		break;
	case CPU_DEAD:
	case CPU_DEAD_FROZEN:
		cache_remove_dev(sys_dev);
		break;
	}
	return NOTIFY_OK;
}