blob: c07edfe98b9899a4c81cf9e0f71e85b3a97df965 [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
Kent Yoder4726b7b2012-04-12 05:04:11 +000016#define PSERIES_UPDATE_PROPERTY 0x0005
17
18/**
19 * pSeries_reconfig_notify - Notifier value structure for OFDT property updates
20 *
21 * @node: Device tree node which owns the property being updated
22 * @property: Updated property
23 */
24struct pSeries_reconfig_prop_update {
25 struct device_node *node;
26 struct property *property;
27};
Paul Mackerras9b6b5632005-10-06 12:06:20 +100028
29#ifdef CONFIG_PPC_PSERIES
30extern int pSeries_reconfig_notifier_register(struct notifier_block *);
31extern void pSeries_reconfig_notifier_unregister(struct notifier_block *);
Akinobu Mita3aef19f2011-06-21 03:35:55 +000032extern int pSeries_reconfig_notify(unsigned long action, void *p);
Brian King9ee820f2011-05-04 16:01:20 +100033/* Not the best place to put this, will be fixed when we move some
34 * of the rtas suspend-me stuff to pseries */
35extern void pSeries_coalesce_init(void);
Paul Mackerras9b6b5632005-10-06 12:06:20 +100036#else /* !CONFIG_PPC_PSERIES */
37static inline int pSeries_reconfig_notifier_register(struct notifier_block *nb)
38{
39 return 0;
40}
41static inline void pSeries_reconfig_notifier_unregister(struct notifier_block *nb) { }
Brian King9ee820f2011-05-04 16:01:20 +100042static inline void pSeries_coalesce_init(void) { }
Paul Mackerras9b6b5632005-10-06 12:06:20 +100043#endif /* CONFIG_PPC_PSERIES */
44
Brian King9ee820f2011-05-04 16:01:20 +100045
Arnd Bergmann88ced032005-12-16 22:43:46 +010046#endif /* __KERNEL__ */
Paul Mackerras9b6b5632005-10-06 12:06:20 +100047#endif /* _PPC64_PSERIES_RECONFIG_H */