blob: d4b4bfa26fb3515f535a3fb857ad67db877641c5 [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 *);
Nathan Fontenotab519a02009-11-24 21:10:49 +000020extern struct blocking_notifier_head pSeries_reconfig_chain;
Paul Mackerras9b6b5632005-10-06 12:06:20 +100021#else /* !CONFIG_PPC_PSERIES */
22static inline int pSeries_reconfig_notifier_register(struct notifier_block *nb)
23{
24 return 0;
25}
26static inline void pSeries_reconfig_notifier_unregister(struct notifier_block *nb) { }
27#endif /* CONFIG_PPC_PSERIES */
28
Arnd Bergmann88ced032005-12-16 22:43:46 +010029#endif /* __KERNEL__ */
Paul Mackerras9b6b5632005-10-06 12:06:20 +100030#endif /* _PPC64_PSERIES_RECONFIG_H */