linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Stephen Boyd <swboyd@chromium.org>
To: linux-kernel@vger.kernel.org
Cc: Arnd Bergmann <arnd@arndb.de>,
	Geert Uytterhoeven <geert@linux-m68k.org>,
	Rob Herring <robh+dt@kernel.org>,
	Frank Rowand <frowand.list@gmail.com>
Subject: [PATCH 10/10] of/device: Don't NULLify match table in of_match_device() with CONFIG_OF=n
Date: Fri,  4 Oct 2019 14:43:34 -0700	[thread overview]
Message-ID: <20191004214334.149976-11-swboyd@chromium.org> (raw)
In-Reply-To: <20191004214334.149976-1-swboyd@chromium.org>

This effectively reverts 1db73ae39a97 ("of/device: Nullify match table
in of_match_device() for CONFIG_OF=n") because that commit makes it more
surprising to users of this API that the arguments may never be
referenced by any code. This is because the pre-processor will replace
the argument with NULL and then the match table will be left unreferenced
by any code but the compiler optimizer doesn't know to drop it. This can
lead to compilers warning that match tables are unused, when we really
want to pass the match table to the API but have the compiler see that
it's all inlined and not used and then drop the match table while
silencing the warning. We're being too smart here and not giving the
compiler the chance to do dead code elimination.

Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Frank Rowand <frowand.list@gmail.com>
Signed-off-by: Stephen Boyd <swboyd@chromium.org>
---

Please ack or pick for immediate merge so the last patch can be merged.

 include/linux/of_device.h | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/include/linux/of_device.h b/include/linux/of_device.h
index 8d31e39dd564..3f8ca55bc693 100644
--- a/include/linux/of_device.h
+++ b/include/linux/of_device.h
@@ -93,13 +93,11 @@ static inline int of_device_uevent_modalias(struct device *dev,
 
 static inline void of_device_node_put(struct device *dev) { }
 
-static inline const struct of_device_id *__of_match_device(
+static inline const struct of_device_id *of_match_device(
 		const struct of_device_id *matches, const struct device *dev)
 {
 	return NULL;
 }
-#define of_match_device(matches, dev)	\
-	__of_match_device(of_match_ptr(matches), (dev))
 
 static inline struct device_node *of_cpu_device_node_get(int cpu)
 {
-- 
Sent by a computer through tubes


  parent reply	other threads:[~2019-10-04 21:43 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-04 21:43 [PATCH 00/10] Stop NULLifying match pointer in of_match_device() Stephen Boyd
2019-10-04 21:43 ` [PATCH 01/10] leds: pca953x: Use of_device_get_match_data() Stephen Boyd
2019-10-06 12:15   ` Jacek Anaszewski
2019-10-07  8:01   ` Geert Uytterhoeven
2019-10-13 12:10   ` Pavel Machek
2019-10-14 17:50   ` Andy Shevchenko
2019-10-14 20:54     ` Stephen Boyd
2019-10-15  9:02       ` Andy Shevchenko
2019-10-15 22:41         ` Stephen Boyd
2019-10-16 13:46           ` Andy Shevchenko
2019-11-04  9:09   ` Pavel Machek
2019-10-04 21:43 ` [PATCH 02/10] media: renesas-ceu: " Stephen Boyd
2019-10-09 12:54   ` Mauro Carvalho Chehab
2019-10-09 13:14     ` Jacopo Mondi
2019-10-04 21:43 ` [PATCH 03/10] rtc: armada38x: " Stephen Boyd
2019-10-07 13:53   ` Alexandre Belloni
2019-10-04 21:43 ` [PATCH 04/10] drivers: net: davinci_mdio: " Stephen Boyd
2019-10-04 21:43 ` [PATCH 05/10] serial: stm32: " Stephen Boyd
2019-10-05  6:53   ` Greg Kroah-Hartman
2019-10-04 21:43 ` [PATCH 06/10] usb: usb251xb: " Stephen Boyd
2019-10-05  6:53   ` Greg Kroah-Hartman
2019-10-04 21:43 ` [PATCH 07/10] ASoC: jz4740: " Stephen Boyd
2019-10-07 13:03   ` Applied "ASoC: jz4740: Use of_device_get_match_data()" to the asoc tree Mark Brown
2019-10-04 21:43 ` [PATCH 08/10] spi: gpio: Look for a device node instead of match Stephen Boyd
2019-10-07 13:03   ` Applied "spi: gpio: Look for a device node instead of match" to the spi tree Mark Brown
2019-10-04 21:43 ` [PATCH 09/10] hwmon: (lm70) Avoid undefined reference to match table Stephen Boyd
2019-10-04 23:03   ` Guenter Roeck
2019-10-04 21:43 ` Stephen Boyd [this message]
2019-10-17 17:47   ` [PATCH 10/10] of/device: Don't NULLify match table in of_match_device() with CONFIG_OF=n Frank Rowand
2019-10-17 20:24     ` Rob Herring
2019-10-17 20:48       ` Stephen Boyd

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=20191004214334.149976-11-swboyd@chromium.org \
    --to=swboyd@chromium.org \
    --cc=arnd@arndb.de \
    --cc=frowand.list@gmail.com \
    --cc=geert@linux-m68k.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=robh+dt@kernel.org \
    /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).