X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=include%2Flinux%2Fcpu.h;h=08d50c53aab401ef79c20e85213027d854e5d199;hb=9464c7cf61b9433057924c36e6e02f303a00e768;hp=3fef7d67aedcdb301fcd00309824605315f37d85;hpb=41689045f6a3cbe0550e1d34e9cc20d2e8c432ba;p=linux-2.6.git diff --git a/include/linux/cpu.h b/include/linux/cpu.h index 3fef7d67a..08d50c53a 100644 --- a/include/linux/cpu.h +++ b/include/linux/cpu.h @@ -31,23 +31,18 @@ struct cpu { struct sys_device sysdev; }; -extern int register_cpu(struct cpu *cpu, int num); +extern int register_cpu(struct cpu *, int, struct node *); extern struct sys_device *get_cpu_sysdev(unsigned cpu); #ifdef CONFIG_HOTPLUG_CPU -extern void unregister_cpu(struct cpu *cpu); +extern void unregister_cpu(struct cpu *, struct node *); #endif struct notifier_block; #ifdef CONFIG_SMP /* Need to know about CPUs going up/down? */ extern int register_cpu_notifier(struct notifier_block *nb); -#ifdef CONFIG_HOTPLUG_CPU extern void unregister_cpu_notifier(struct notifier_block *nb); -#else -static inline void unregister_cpu_notifier(struct notifier_block *nb) -{ -} -#endif +extern int current_in_cpu_hotplug(void); int cpu_up(unsigned int cpu); @@ -60,6 +55,10 @@ static inline int register_cpu_notifier(struct notifier_block *nb) static inline void unregister_cpu_notifier(struct notifier_block *nb) { } +static inline int current_in_cpu_hotplug(void) +{ + return 0; +} #endif /* CONFIG_SMP */ extern struct sysdev_class cpu_sysdev_class; @@ -68,33 +67,22 @@ extern struct sysdev_class cpu_sysdev_class; /* Stop CPUs going up and down. */ extern void lock_cpu_hotplug(void); extern void unlock_cpu_hotplug(void); +extern int lock_cpu_hotplug_interruptible(void); #define hotcpu_notifier(fn, pri) { \ static struct notifier_block fn##_nb = \ { .notifier_call = fn, .priority = pri }; \ register_cpu_notifier(&fn##_nb); \ } -#define register_hotcpu_notifier(nb) register_cpu_notifier(nb) -#define unregister_hotcpu_notifier(nb) unregister_cpu_notifier(nb) int cpu_down(unsigned int cpu); #define cpu_is_offline(cpu) unlikely(!cpu_online(cpu)) #else #define lock_cpu_hotplug() do { } while (0) #define unlock_cpu_hotplug() do { } while (0) #define lock_cpu_hotplug_interruptible() 0 -#define hotcpu_notifier(fn, pri) do { } while (0) -#define register_hotcpu_notifier(nb) do { } while (0) -#define unregister_hotcpu_notifier(nb) do { } while (0) +#define hotcpu_notifier(fn, pri) /* CPUs don't go offline once they're online w/o CONFIG_HOTPLUG_CPU */ static inline int cpu_is_offline(int cpu) { return 0; } #endif -#ifdef CONFIG_SUSPEND_SMP -extern int disable_nonboot_cpus(void); -extern void enable_nonboot_cpus(void); -#else -static inline int disable_nonboot_cpus(void) { return 0; } -static inline void enable_nonboot_cpus(void) {} -#endif - #endif /* _LINUX_CPU_H_ */