diff options
author | Rob Herring <robh@kernel.org> | 2019-10-28 11:32:32 -0500 |
---|---|---|
committer | Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> | 2019-10-29 10:47:14 +0000 |
commit | 494f8b10d832456a96be4ee7317425f6936cabc8 (patch) | |
tree | db7af0599f5312da9742f5c8875d17162c7d2719 /include | |
parent | 54ecb8f7028c5eb3d740bb82b0f1d90f2df63c5c (diff) |
resource: Add a resource_list_first_type helper
A common pattern is looping over a resource_list just to get a matching
entry with a specific type. Add resource_list_first_type() helper which
implements this.
Signed-off-by: Rob Herring <robh@kernel.org>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/resource_ext.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/include/linux/resource_ext.h b/include/linux/resource_ext.h index 06da59b23b79..ff0339df56af 100644 --- a/include/linux/resource_ext.h +++ b/include/linux/resource_ext.h @@ -66,4 +66,16 @@ resource_list_destroy_entry(struct resource_entry *entry) #define resource_list_for_each_entry_safe(entry, tmp, list) \ list_for_each_entry_safe((entry), (tmp), (list), node) +static inline struct resource_entry * +resource_list_first_type(struct list_head *list, unsigned long type) +{ + struct resource_entry *entry; + + resource_list_for_each_entry(entry, list) { + if (resource_type(entry->res) == type) + return entry; + } + return NULL; +} + #endif /* _LINUX_RESOURCE_EXT_H */ |