pSeries_reconfig.h 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. #ifndef _PPC64_PSERIES_RECONFIG_H
  2. #define _PPC64_PSERIES_RECONFIG_H
  3. #ifdef __KERNEL__
  4. #include <linux/notifier.h>
  5. /*
  6. * Use this API if your code needs to know about OF device nodes being
  7. * added or removed on pSeries systems.
  8. */
  9. #define PSERIES_RECONFIG_ADD 0x0001
  10. #define PSERIES_RECONFIG_REMOVE 0x0002
  11. #define PSERIES_DRCONF_MEM_ADD 0x0003
  12. #define PSERIES_DRCONF_MEM_REMOVE 0x0004
  13. #define PSERIES_UPDATE_PROPERTY 0x0005
  14. /**
  15. * pSeries_reconfig_notify - Notifier value structure for OFDT property updates
  16. *
  17. * @node: Device tree node which owns the property being updated
  18. * @property: Updated property
  19. */
  20. struct pSeries_reconfig_prop_update {
  21. struct device_node *node;
  22. struct property *property;
  23. };
  24. #ifdef CONFIG_PPC_PSERIES
  25. extern int pSeries_reconfig_notifier_register(struct notifier_block *);
  26. extern void pSeries_reconfig_notifier_unregister(struct notifier_block *);
  27. extern int pSeries_reconfig_notify(unsigned long action, void *p);
  28. /* Not the best place to put this, will be fixed when we move some
  29. * of the rtas suspend-me stuff to pseries */
  30. extern void pSeries_coalesce_init(void);
  31. #else /* !CONFIG_PPC_PSERIES */
  32. static inline int pSeries_reconfig_notifier_register(struct notifier_block *nb)
  33. {
  34. return 0;
  35. }
  36. static inline void pSeries_reconfig_notifier_unregister(struct notifier_block *nb) { }
  37. static inline void pSeries_coalesce_init(void) { }
  38. #endif /* CONFIG_PPC_PSERIES */
  39. #endif /* __KERNEL__ */
  40. #endif /* _PPC64_PSERIES_RECONFIG_H */