aboutsummaryrefslogtreecommitdiff
path: root/include/linux/property.h
diff options
context:
space:
mode:
authorGravatar Saravana Kannan <saravanak@google.com> 2020-11-20 18:02:25 -0800
committerGravatar Greg Kroah-Hartman <gregkh@linuxfoundation.org> 2020-12-09 19:10:21 +0100
commitb5d3e2fbcb10957521af14c4256cd0e5f68b9234 (patch)
treec40d818e24ef8da83ed6bd939ab2092d074967ed /include/linux/property.h
parentdriver core: Allow only unprobed consumers for SYNC_STATE_ONLY device links (diff)
downloadlinux-b5d3e2fbcb10957521af14c4256cd0e5f68b9234.tar.gz
linux-b5d3e2fbcb10957521af14c4256cd0e5f68b9234.tar.bz2
linux-b5d3e2fbcb10957521af14c4256cd0e5f68b9234.zip
device property: Add fwnode_is_ancestor_of() and fwnode_get_next_parent_dev()
Add fwnode_is_ancestor_of() helper function to check if a fwnode is an ancestor of another fwnode. Add fwnode_get_next_parent_dev() helper function that take as input a fwnode and finds the closest ancestor fwnode that has a corresponding struct device and returns that struct device. Signed-off-by: Saravana Kannan <saravanak@google.com> Link: https://lore.kernel.org/r/20201121020232.908850-11-saravanak@google.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'include/linux/property.h')
-rw-r--r--include/linux/property.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/include/linux/property.h b/include/linux/property.h
index 2d4542629d80..0a9001fe7aea 100644
--- a/include/linux/property.h
+++ b/include/linux/property.h
@@ -85,9 +85,12 @@ const char *fwnode_get_name_prefix(const struct fwnode_handle *fwnode);
struct fwnode_handle *fwnode_get_parent(const struct fwnode_handle *fwnode);
struct fwnode_handle *fwnode_get_next_parent(
struct fwnode_handle *fwnode);
+struct device *fwnode_get_next_parent_dev(struct fwnode_handle *fwnode);
unsigned int fwnode_count_parents(const struct fwnode_handle *fwn);
struct fwnode_handle *fwnode_get_nth_parent(struct fwnode_handle *fwn,
unsigned int depth);
+bool fwnode_is_ancestor_of(struct fwnode_handle *test_ancestor,
+ struct fwnode_handle *test_child);
struct fwnode_handle *fwnode_get_next_child_node(
const struct fwnode_handle *fwnode, struct fwnode_handle *child);
struct fwnode_handle *fwnode_get_next_available_child_node(