3c3f67eafa
This updates the device tree manipulation routines so that memory add/remove of lmbs represented under the ibm,dynamic-reconfiguration-memory node of the device tree invokes the hotplug notifier chain. This change is needed because of the change in the way memory is represented under the ibm,dynamic-reconfiguration-memory node. All lmbs are described in the ibm,dynamic-memory property instead of having a separate node for each lmb as in previous device tree layouts. This requires the update_node() routine to check for updates to the ibm,dynamic-memory property and invoke the hotplug notifier chain. This also updates the pseries hotplug notifier to be able to gather information for lmbs represented under the ibm,dynamic-reconfiguration-memory node and have the lmbs added/removed. Signed-off-by: Nathan Fontenot <nfont@austin.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
30 lines
876 B
C
30 lines
876 B
C
#ifndef _PPC64_PSERIES_RECONFIG_H
|
|
#define _PPC64_PSERIES_RECONFIG_H
|
|
#ifdef __KERNEL__
|
|
|
|
#include <linux/notifier.h>
|
|
|
|
/*
|
|
* Use this API if your code needs to know about OF device nodes being
|
|
* added or removed on pSeries systems.
|
|
*/
|
|
|
|
#define PSERIES_RECONFIG_ADD 0x0001
|
|
#define PSERIES_RECONFIG_REMOVE 0x0002
|
|
#define PSERIES_DRCONF_MEM_ADD 0x0003
|
|
#define PSERIES_DRCONF_MEM_REMOVE 0x0004
|
|
|
|
#ifdef CONFIG_PPC_PSERIES
|
|
extern int pSeries_reconfig_notifier_register(struct notifier_block *);
|
|
extern void pSeries_reconfig_notifier_unregister(struct notifier_block *);
|
|
#else /* !CONFIG_PPC_PSERIES */
|
|
static inline int pSeries_reconfig_notifier_register(struct notifier_block *nb)
|
|
{
|
|
return 0;
|
|
}
|
|
static inline void pSeries_reconfig_notifier_unregister(struct notifier_block *nb) { }
|
|
#endif /* CONFIG_PPC_PSERIES */
|
|
|
|
#endif /* __KERNEL__ */
|
|
#endif /* _PPC64_PSERIES_RECONFIG_H */
|