blob: c5d1785373ed38c25f1096467d103cd6440c1b66 [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) { }
Richard Weinberger90e24012012-03-25 23:00:04 +020017static inline void __exit_idle(void) { }
Hiroshi Shimamoto8f2466f2008-12-08 19:19:07 -080018#endif /* CONFIG_X86_64 */
Andi Kleen95833c82006-01-11 22:44:36 +010019
Len Brown02c68a02011-04-01 16:59:53 -040020void amd_e400_remove_cpu(int cpu);
Thomas Gleixner4faac972008-09-22 18:54:29 +020021
H. Peter Anvin1965aae2008-10-22 22:26:29 -070022#endif /* _ASM_X86_IDLE_H */