[PATCH 01/12] kernel.h: Add for_each_if()
Andy Shevchenko
andriy.shevchenko at linux.intel.com
Mon Jul 9 11:50:51 UTC 2018
On Mon, 2018-07-09 at 10:36 +0200, Daniel Vetter wrote:
> To avoid compilers complainig about ambigious else blocks when putting
> an if condition into a for_each macro one needs to invert the
> condition and add a dummy else. We have a nice little convenience
> macro for that in drm headers, let's move it out. Subsequent patches
> will roll it out to other places.
>
> Motivated by a discussion with Andy and Yisheng, who want to add
> another for_each_macro which would benefit from for_each_if() instead
> of hand-rolling it.
>
Thanks, Daniel!
Reviewed-by: Andy Shevchenko <andriy.shevchenko at linux.intel.com>
> Signed-off-by: Daniel Vetter <daniel.vetter at intel.com>
> Cc: Gustavo Padovan <gustavo at padovan.org>
> Cc: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>
> Cc: Sean Paul <seanpaul at chromium.org>
> Cc: David Airlie <airlied at linux.ie>
> Cc: Andrew Morton <akpm at linux-foundation.org>
> Cc: Kees Cook <keescook at chromium.org>
> Cc: Ingo Molnar <mingo at kernel.org>
> Cc: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
> Cc: NeilBrown <neilb at suse.com>
> Cc: Wei Wang <wvw at google.com>
> Cc: Stefan Agner <stefan at agner.ch>
> Cc: Andrei Vagin <avagin at openvz.org>
> Cc: Randy Dunlap <rdunlap at infradead.org>
> Cc: Andy Shevchenko <andriy.shevchenko at linux.intel.com>
> Cc: Yisheng Xie <ysxie at foxmail.com>
> ---
> include/drm/drmP.h | 3 ---
> include/linux/kernel.h | 3 +++
> 2 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/include/drm/drmP.h b/include/drm/drmP.h
> index f7a19c2a7a80..05350424a4d3 100644
> --- a/include/drm/drmP.h
> +++ b/include/drm/drmP.h
> @@ -110,7 +110,4 @@ static inline bool drm_can_sleep(void)
> return true;
> }
>
> -/* helper for handling conditionals in various for_each macros */
> -#define for_each_if(condition) if (!(condition)) {} else
> -
> #endif
> diff --git a/include/linux/kernel.h b/include/linux/kernel.h
> index 941dc0a5a877..4cb95ab9a5bc 100644
> --- a/include/linux/kernel.h
> +++ b/include/linux/kernel.h
> @@ -71,6 +71,9 @@
> */
> #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) +
> __must_be_array(arr))
>
> +/* helper for handling conditionals in various for_each macros */
> +#define for_each_if(condition) if (!(condition)) {} else
> +
> #define u64_to_user_ptr(x) ( \
> { \
> typecheck(u64, x); \
--
Andy Shevchenko <andriy.shevchenko at linux.intel.com>
Intel Finland Oy
More information about the dri-devel
mailing list