From: Rob Herring Date: Mon, 28 Oct 2019 16:32:32 +0000 (-0500) Subject: resource: Add a resource_list_first_type helper X-Git-Tag: accepted/tizen/unified/20200709.164653~772 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=233fd9ce8cef09b78f86addaba4e16a053a0932e;p=platform%2Fkernel%2Flinux-rpi.git resource: Add a resource_list_first_type helper commit 494f8b10d832456a96be4ee7317425f6936cabc8 upstream. 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 Signed-off-by: Lorenzo Pieralisi --- diff --git a/include/linux/resource_ext.h b/include/linux/resource_ext.h index 06da59b..ff0339d 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 */