diff options
| author | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2012-11-15 15:02:44 +1100 |
|---|---|---|
| committer | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2012-11-15 15:02:44 +1100 |
| commit | de1bb03af7f4dde8e0e823629909d179fed4beff (patch) | |
| tree | 4ea86f8e160b8ea5c9689883c7f7da1536f5294b /include | |
| parent | 11ee7e99f35ecb15f59b21da6a82d96d2cd3fcc8 (diff) | |
| parent | f459d63e1689b16a2f5a965557e19b25bad5dbdc (diff) | |
Merge branch 'dt' into next
Diffstat (limited to 'include')
| -rw-r--r-- | include/linux/of.h | 29 |
1 files changed, 21 insertions, 8 deletions
diff --git a/include/linux/of.h b/include/linux/of.h index 72843b72a2b2..a093b2fe5dfb 100644 --- a/include/linux/of.h +++ b/include/linux/of.h @@ -22,6 +22,7 @@ #include <linux/mod_devicetable.h> #include <linux/spinlock.h> #include <linux/topology.h> +#include <linux/notifier.h> #include <asm/byteorder.h> #include <asm/errno.h> @@ -267,16 +268,28 @@ extern int of_alias_get_id(struct device_node *np, const char *stem); extern int of_machine_is_compatible(const char *compat); -extern int prom_add_property(struct device_node* np, struct property* prop); -extern int prom_remove_property(struct device_node *np, struct property *prop); -extern int prom_update_property(struct device_node *np, - struct property *newprop); +extern int of_add_property(struct device_node *np, struct property *prop); +extern int of_remove_property(struct device_node *np, struct property *prop); +extern int of_update_property(struct device_node *np, struct property *newprop); -#if defined(CONFIG_OF_DYNAMIC) /* For updating the device tree at runtime */ -extern void of_attach_node(struct device_node *); -extern void of_detach_node(struct device_node *); -#endif +#define OF_RECONFIG_ATTACH_NODE 0x0001 +#define OF_RECONFIG_DETACH_NODE 0x0002 +#define OF_RECONFIG_ADD_PROPERTY 0x0003 +#define OF_RECONFIG_REMOVE_PROPERTY 0x0004 +#define OF_RECONFIG_UPDATE_PROPERTY 0x0005 + +struct of_prop_reconfig { + struct device_node *dn; + struct property *prop; +}; + +extern int of_reconfig_notifier_register(struct notifier_block *); +extern int of_reconfig_notifier_unregister(struct notifier_block *); +extern int of_reconfig_notify(unsigned long, void *); + +extern int of_attach_node(struct device_node *); +extern int of_detach_node(struct device_node *); #define of_match_ptr(_ptr) (_ptr) |
