blob: 23cd6cc30bcf8fa54ed2b48faa530e495f611bb4 [file] [log] [blame]
Paul Mackerras9b6b5632005-10-06 12:06:20 +10001#ifndef _PPC64_PSERIES_RECONFIG_H
2#define _PPC64_PSERIES_RECONFIG_H
Arnd Bergmann88ced032005-12-16 22:43:46 +01003#ifdef __KERNEL__
Paul Mackerras9b6b5632005-10-06 12:06:20 +10004
5#include <linux/notifier.h>
6
7/*
8 * Use this API if your code needs to know about OF device nodes being
9 * added or removed on pSeries systems.
10 */
11
Nathan Fontenot3c3f67e2008-07-03 13:22:39 +100012#define PSERIES_RECONFIG_ADD 0x0001
13#define PSERIES_RECONFIG_REMOVE 0x0002
14#define PSERIES_DRCONF_MEM_ADD 0x0003
15#define PSERIES_DRCONF_MEM_REMOVE 0x0004
Paul Mackerras9b6b5632005-10-06 12:06:20 +100016
17#ifdef CONFIG_PPC_PSERIES
18extern int pSeries_reconfig_notifier_register(struct notifier_block *);
19extern void pSeries_reconfig_notifier_unregister(struct notifier_block *);
Akinobu Mita3aef19f2011-06-21 03:35:55 +000020extern int pSeries_reconfig_notify(unsigned long action, void *p);
Brian King9ee820f2011-05-04 16:01:20 +100021/* Not the best place to put this, will be fixed when we move some
22 * of the rtas suspend-me stuff to pseries */
23extern void pSeries_coalesce_init(void);
Paul Mackerras9b6b5632005-10-06 12:06:20 +100024#else /* !CONFIG_PPC_PSERIES */
25static inline int pSeries_reconfig_notifier_register(struct notifier_block *nb)
26{
27 return 0;
28}
29static inline void pSeries_reconfig_notifier_unregister(struct notifier_block *nb) { }
Brian King9ee820f2011-05-04 16:01:20 +100030static inline void pSeries_coalesce_init(void) { }
Paul Mackerras9b6b5632005-10-06 12:06:20 +100031#endif /* CONFIG_PPC_PSERIES */
32
Brian King9ee820f2011-05-04 16:01:20 +100033
Arnd Bergmann88ced032005-12-16 22:43:46 +010034#endif /* __KERNEL__ */
Paul Mackerras9b6b5632005-10-06 12:06:20 +100035#endif /* _PPC64_PSERIES_RECONFIG_H */