linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Daniel Vetter <daniel.vetter@ffwll.ch>
To: LKML <linux-kernel@vger.kernel.org>
Cc: DRI Development <dri-devel@lists.freedesktop.org>,
	Intel Graphics Development <intel-gfx@lists.freedesktop.org>,
	Daniel Vetter <daniel.vetter@ffwll.ch>,
	Daniel Vetter <daniel.vetter@intel.com>,
	Gustavo Padovan <gustavo@padovan.org>,
	Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
	Sean Paul <seanpaul@chromium.org>,
	David Airlie <airlied@linux.ie>,
	Andrew Morton <akpm@linux-foundation.org>,
	Kees Cook <keescook@chromium.org>, Ingo Molnar <mingo@kernel.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	NeilBrown <neilb@suse.com>, Wei Wang <wvw@google.com>,
	Stefan Agner <stefan@agner.ch>, Andrei Vagin <avagin@openvz.org>,
	Randy Dunlap <rdunlap@infradead.org>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Yisheng Xie <ysxie@foxmail.com>
Subject: [PATCH 01/12] kernel.h: Add for_each_if()
Date: Mon,  9 Jul 2018 10:36:39 +0200	[thread overview]
Message-ID: <20180709083650.23549-1-daniel.vetter@ffwll.ch> (raw)

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.

Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Cc: Gustavo Padovan <gustavo@padovan.org>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Sean Paul <seanpaul@chromium.org>
Cc: David Airlie <airlied@linux.ie>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Kees Cook <keescook@chromium.org>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: NeilBrown <neilb@suse.com>
Cc: Wei Wang <wvw@google.com>
Cc: Stefan Agner <stefan@agner.ch>
Cc: Andrei Vagin <avagin@openvz.org>
Cc: Randy Dunlap <rdunlap@infradead.org>
Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Cc: Yisheng Xie <ysxie@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);		\
-- 
2.18.0


             reply	other threads:[~2018-07-09  8:37 UTC|newest]

Thread overview: 58+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-07-09  8:36 Daniel Vetter [this message]
2018-07-09  8:36 ` [PATCH 02/12] blk: use for_each_if Daniel Vetter
2018-07-11 16:40   ` Tejun Heo
2018-07-11 16:45     ` Tejun Heo
2018-07-11 18:30       ` Jens Axboe
2018-07-11 18:50         ` Daniel Vetter
2018-07-11 19:31           ` Jens Axboe
2018-07-11 20:06             ` Tejun Heo
2018-07-11 21:08               ` Daniel Vetter
2018-07-11 21:13                 ` Jens Axboe
2018-07-12  6:41                   ` Daniel Vetter
2018-07-12  6:45           ` Joe Perches
2018-07-12 13:54             ` Jens Axboe
2018-07-12 15:32               ` Joe Perches
2018-07-13  9:28             ` Vlastimil Babka
2018-07-09  8:36 ` [PATCH 03/12] cgroup: " Daniel Vetter
2018-07-11 16:46   ` Tejun Heo
2018-07-09  8:36 ` [PATCH 04/12] cpufreq: " Daniel Vetter
2018-07-09  9:28   ` Eric Engestrom
2018-07-09 16:11   ` [PATCH] " Daniel Vetter
2018-07-09 21:36     ` Rafael J. Wysocki
2018-07-09  8:36 ` [PATCH 05/12] dmar: Use for_each_If Daniel Vetter
2018-07-20 12:50   ` Joerg Roedel
2018-07-09  8:36 ` [PATCH 06/12] mm: use for_each_if Daniel Vetter
2018-07-09 18:00   ` Pavel Tatashin
2018-07-09  8:36 ` [PATCH 07/12] ide: " Daniel Vetter
2018-07-09  8:36 ` [PATCH 08/12] netdev: " Daniel Vetter
2018-07-09  8:36 ` [PATCH 09/12] nubus: " Daniel Vetter
2018-07-09 10:17   ` Finn Thain
2018-07-17 15:26   ` Geert Uytterhoeven
2018-07-09  8:36 ` [PATCH 10/12] pci: " Daniel Vetter
2018-07-09 22:48   ` Bjorn Helgaas
2018-07-09  8:36 ` [PATCH 11/12] sched: use for_each_if in topology.h Daniel Vetter
2018-07-09 10:36   ` Peter Zijlstra
2018-07-09 15:00     ` Daniel Vetter
2018-07-09 15:12       ` Peter Zijlstra
2018-07-09 15:52         ` Daniel Vetter
2018-07-09 16:03           ` Peter Zijlstra
2018-07-09 16:06             ` Daniel Vetter
2018-07-09 16:12             ` Mark Rutland
2018-07-09 17:55               ` [Intel-gfx] " Daniel Vetter
2018-07-11 16:51                 ` Mark Rutland
2018-07-09 16:30           ` Peter Zijlstra
2018-07-09  8:36 ` [PATCH 12/12] usb: use for_each_if Daniel Vetter
2018-07-09 11:50 ` [PATCH 01/12] kernel.h: Add for_each_if() Andy Shevchenko
2018-07-09 16:25 ` [PATCH] " Daniel Vetter
2018-07-09 18:30   ` Andy Shevchenko
2018-07-09 23:30   ` Andrew Morton
2018-07-10  7:53     ` Daniel Vetter
2018-07-10 10:32       ` NeilBrown
2018-07-11 11:51         ` Daniel Vetter
2018-07-11 23:05           ` Andrew Morton
2018-07-12  6:39             ` Daniel Vetter
2018-07-13 23:37             ` NeilBrown
2018-07-13 23:42               ` Randy Dunlap
2018-07-16  8:11                 ` Andy Shevchenko
2018-07-16 15:41                   ` Randy Dunlap
2018-07-16 22:16                   ` NeilBrown

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180709083650.23549-1-daniel.vetter@ffwll.ch \
    --to=daniel.vetter@ffwll.ch \
    --cc=airlied@linux.ie \
    --cc=akpm@linux-foundation.org \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=avagin@openvz.org \
    --cc=daniel.vetter@intel.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=gustavo@padovan.org \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=keescook@chromium.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=maarten.lankhorst@linux.intel.com \
    --cc=mingo@kernel.org \
    --cc=neilb@suse.com \
    --cc=rdunlap@infradead.org \
    --cc=seanpaul@chromium.org \
    --cc=stefan@agner.ch \
    --cc=wvw@google.com \
    --cc=ysxie@foxmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).