Message ID | 20191016200647.32050-2-robh@kernel.org (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Geert Uytterhoeven |
Headers | show |
Series | PCI host resource consolidation | expand |
On Wed, Oct 16, 2019 at 03:06:23PM -0500, Rob Herring wrote: > +static inline struct resource_entry *resource_list_get_entry_of_type(struct list_head *list, > + unsigned long type) This adds a way too long line. Part of that is that the name just seems way too long as well, any good shorter name? resourse_list_first_type?
On Thu, Oct 17, 2019 at 12:25:19AM -0700, Christoph Hellwig wrote: > On Wed, Oct 16, 2019 at 03:06:23PM -0500, Rob Herring wrote: > > +static inline struct resource_entry *resource_list_get_entry_of_type(struct list_head *list, > > + unsigned long type) > > This adds a way too long line. > > Part of that is that the name just seems way too long as well, any > good shorter name? resourse_list_first_type? I think it's really helpful to use the word 'first' in there somewhere, it makes it a little clearer on what happens if there are multiple of the same type of resource. Thanks, Andrew Murray
diff --git a/include/linux/resource_ext.h b/include/linux/resource_ext.h index 06da59b23b79..9f52183fab8b 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_get_entry_of_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 */
A common pattern is looping over a resource_list just to get a matching entry with a specific type. Add resource_list_get_entry_of_type() helper which implements this. Signed-off-by: Rob Herring <robh@kernel.org> --- v2: - New patch include/linux/resource_ext.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) -- 2.20.1