Thread (7 messages) 7 messages, 5 authors, 2018-07-02

Re: [PATCH] fbcon: introduce for_each_registered_fb() helper

From: Daniel Vetter <hidden>
Date: 2018-07-02 07:30:50
Also in: dri-devel, lkml

On Fri, Jun 29, 2018 at 07:20:13PM +0300, Andy Shevchenko wrote:
On Fri, 2018-06-29 at 00:20 +0800, Yisheng Xie wrote:
quoted
Following pattern is often used:

 for (i = 0; i < FB_MAX; i++) {
        if (registered_fb[i]) {
                ...
        }
 }

Therefore, as Andy's suggestion, for_each_registered_fb() helper can
Suggested-by then ?
quoted
be introduced to make the code easier to read and write by reducing
indentation level. It also saves few lines of code in each occurrence.

This patch convert all part here at the same time.
LGTM except macro implementation. That's why I have mentioned
for_each_pci_bridge() to look at.
quoted
+#define for_each_registered_fb(i)		\
+	for (i = 0; i < FB_MAX; i++)		\
+		if (registered_fb[i])
+
This needs to be protected against nested conditionals.
Otherwise compiler issues a warning and even may generate wrong code.
See for_each_if() in include/drm/drmP.h ... we should probably lift that
into a general header. The for_each_if() is used all over drm in iterator
macros, exactly to avoid surprises.
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help