diff options
author | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2016-07-24 09:27:27 +1000 |
---|---|---|
committer | Stewart Smith <stewart@linux.vnet.ibm.com> | 2016-10-14 16:41:40 +1100 |
commit | 8110b0595f0de2df18a06e8e9aff66db45872fa7 (patch) | |
tree | ff54e7925858b8eca4b87773247b54b34e0fa8bb | |
parent | bdd34cca13be8ac075657b3981f6db91f7dab0ae (diff) | |
download | skiboot-8110b0595f0de2df18a06e8e9aff66db45872fa7.zip skiboot-8110b0595f0de2df18a06e8e9aff66db45872fa7.tar.gz skiboot-8110b0595f0de2df18a06e8e9aff66db45872fa7.tar.bz2 |
device: Add helper to delete a property by name if it exists
This will be useful for fast reboot which needs to clean a few
things up.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
-rw-r--r-- | core/device.c | 8 | ||||
-rw-r--r-- | include/device.h | 2 |
2 files changed, 10 insertions, 0 deletions
diff --git a/core/device.c b/core/device.c index 4fa6a38..63b5df8 100644 --- a/core/device.c +++ b/core/device.c @@ -581,6 +581,14 @@ const struct dt_property *dt_find_property(const struct dt_node *node, return NULL; } +void dt_check_del_prop(struct dt_node *node, const char *name) +{ + struct dt_property *p; + + p = __dt_find_property(node, name); + if (p) + dt_del_property(node, p); +} const struct dt_property *dt_require_property(const struct dt_node *node, const char *name, int wanted_len) { diff --git a/include/device.h b/include/device.h index ed4fc46..4198a41 100644 --- a/include/device.h +++ b/include/device.h @@ -119,6 +119,8 @@ static inline struct dt_property *dt_add_property_u64(struct dt_node *node, void dt_del_property(struct dt_node *node, struct dt_property *prop); +void dt_check_del_prop(struct dt_node *node, const char *name); + /* Warning: moves *prop! */ void dt_resize_property(struct dt_property **prop, size_t len); |