blob: f49253d75710e90bd31a86956d941b0cfb289940 [file] [log] [blame]
H. Peter Anvin1965aae2008-10-22 22:26:29 -07001#ifndef _ASM_X86_IDLE_H
2#define _ASM_X86_IDLE_H
Andi Kleen95833c82006-01-11 22:44:36 +01003
4#define IDLE_START 1
5#define IDLE_END 2
6
7struct notifier_block;
8void idle_notifier_register(struct notifier_block *n);
Linus Torvalds5b346532008-10-23 10:22:01 -07009void idle_notifier_unregister(struct notifier_block *n);
Andi Kleen95833c82006-01-11 22:44:36 +010010
Hiroshi Shimamoto8f2466f2008-12-08 19:19:07 -080011#ifdef CONFIG_X86_64
Andi Kleen95833c82006-01-11 22:44:36 +010012void enter_idle(void);
13void exit_idle(void);
Hiroshi Shimamoto8f2466f2008-12-08 19:19:07 -080014#else /* !CONFIG_X86_64 */
15static inline void enter_idle(void) { }
16static inline void exit_idle(void) { }
17#endif /* CONFIG_X86_64 */
Andi Kleen95833c82006-01-11 22:44:36 +010018
Len Brown02c68a02011-04-01 16:59:53 -040019void amd_e400_remove_cpu(int cpu);
Thomas Gleixner4faac972008-09-22 18:54:29 +020020
H. Peter Anvin1965aae2008-10-22 22:26:29 -070021#endif /* _ASM_X86_IDLE_H */