# Re: \[PATCH\] fbcon: introduce for\_each\_registered\_fb() helper

- From: Andy Shevchenko \<andriy.shevchenko@linux.intel.com\>
- Date: 2018-06-29 16:20:38 
- List: linux-fbdev
- Page: https://ratatoskr.run/linux-fbdev/2018/06/5320063
- Thread: https://ratatoskr.run/dri-devel/2018/06/5319258/t.md

```text
On Fri, 2018-06-29 at 00:20 +0800, Yisheng Xie wrote:
> 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 ?

> 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.

> +#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.

-- 
Andy Shevchenko [ref]
Intel Finland Oy
```
