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

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

From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Date: 2018-07-02 10:07:00
Also in: dri-devel, lkml

On Mon, 2018-07-02 at 09:30 +0200, Daniel Vetter wrote:
On Fri, Jun 29, 2018 at 07:20:13PM +0300, Andy Shevchenko wrote:
quoted
On Fri, 2018-06-29 at 00:20 +0800, Yisheng Xie wrote:
quoted
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.
Wow, didn't know we have a such. It's a good idea to forelift it for
wider use.

Yisheng, it seems you may use it in your patch directly.

-- 
Andy Shevchenko [off-list ref]
Intel Finland Oy
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help