* [PATCH 00/10] Stop NULLifying match pointer in of_match_device()
@ 2019-10-04 21:43 Stephen Boyd
2019-10-04 21:43 ` [PATCH 03/10] rtc: armada38x: Use of_device_get_match_data() Stephen Boyd
0 siblings, 1 reply; 3+ messages in thread
From: Stephen Boyd @ 2019-10-04 21:43 UTC (permalink / raw)
To: linux-kernel
Cc: Alessandro Zummo, Alexandre Belloni, Alexandre Torgue,
alsa-devel, Andrew Lunn, Arnd Bergmann, Dan Murphy,
David S. Miller, Frank Rowand, Geert Uytterhoeven,
Greg Kroah-Hartman, Gregory Clement, Grygorii Strashko,
Guenter Roeck, Jacek Anaszewski, Jacopo Mondi, Jaroslav Kysela,
Jason Cooper, Jean Delvare, Jiri Slaby, Liam Girdwood,
linux-hwmon, linux-leds, linux-media, linux-omap,
linux-renesas-soc, linux-rtc, linux-serial, linux-spi, linux-usb,
Mark Brown, Mauro Carvalho Chehab, Maxime Coquelin,
Paul Cercueil, Pavel Machek, Richard Leitner, Riku Voipio,
Rob Herring, Sebastian Hesselbarth, Takashi Iwai
of_match_device() uses of_match_ptr() to make the match table argument
NULL via the pre-processor when CONFIG_OF=n. This makes life harder for
compilers who think that match tables are never used and warn about
unused variables when CONFIG_OF=n. This series changes various callers
to use of_device_get_match_data() instead, which doesn't have this
problem, and removes the of_match_ptr() usage from of_match_device() so
that the compiler can stop complaining about unused variables. It will
do dead code elimination instead and remove the match table if it isn't
actually used.
Huge Cc list!
Cc: Alessandro Zummo <a.zummo@towertech.it>
Cc: Alexandre Belloni <alexandre.belloni@bootlin.com>
Cc: Alexandre Torgue <alexandre.torgue@st.com>
Cc: <alsa-devel@alsa-project.org>
Cc: Andrew Lunn <andrew@lunn.ch>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Dan Murphy <dmurphy@ti.com>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Frank Rowand <frowand.list@gmail.com>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Gregory Clement <gregory.clement@bootlin.com>
Cc: Grygorii Strashko <grygorii.strashko@ti.com>
Cc: Guenter Roeck <linux@roeck-us.net>
Cc: Jacek Anaszewski <jacek.anaszewski@gmail.com>
Cc: Jacopo Mondi <jacopo@jmondi.org>
Cc: Jaroslav Kysela <perex@perex.cz>
Cc: Jason Cooper <jason@lakedaemon.net>
Cc: Jean Delvare <jdelvare@suse.com>
Cc: Jiri Slaby <jslaby@suse.com>
Cc: Liam Girdwood <lgirdwood@gmail.com>
Cc: <linux-hwmon@vger.kernel.org>
Cc: <linux-leds@vger.kernel.org>
Cc: <linux-media@vger.kernel.org>
Cc: <linux-omap@vger.kernel.org>
Cc: <linux-renesas-soc@vger.kernel.org>
Cc: <linux-rtc@vger.kernel.org>
Cc: <linux-serial@vger.kernel.org>
Cc: <linux-spi@vger.kernel.org>
Cc: <linux-usb@vger.kernel.org>
Cc: Mark Brown <broonie@kernel.org>
Cc: Mauro Carvalho Chehab <mchehab@kernel.org>
Cc: Maxime Coquelin <mcoquelin.stm32@gmail.com>
Cc: Paul Cercueil <paul@crapouillou.net>
Cc: Pavel Machek <pavel@ucw.cz>
Cc: Richard Leitner <richard.leitner@skidata.com>
Cc: Riku Voipio <riku.voipio@iki.fi>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Cc: Takashi Iwai <tiwai@suse.com>
Stephen Boyd (10):
leds: pca953x: Use of_device_get_match_data()
media: renesas-ceu: Use of_device_get_match_data()
rtc: armada38x: Use of_device_get_match_data()
drivers: net: davinci_mdio: Use of_device_get_match_data()
serial: stm32: Use of_device_get_match_data()
usb: usb251xb: Use of_device_get_match_data()
ASoC: jz4740: Use of_device_get_match_data()
spi: gpio: Look for a device node instead of match
hwmon: (lm70) Avoid undefined reference to match table
of/device: Don't NULLify match table in of_match_device() with
CONFIG_OF=n
drivers/hwmon/lm70.c | 2 +-
drivers/leds/leds-pca9532.c | 14 +----
drivers/media/platform/renesas-ceu.c | 2 +-
drivers/net/ethernet/ti/davinci_mdio.c | 12 ++---
drivers/rtc/rtc-armada38x.c | 10 ++--
drivers/spi/spi-gpio.c | 5 +-
drivers/tty/serial/stm32-usart.c | 71 ++++++++++++--------------
drivers/tty/serial/stm32-usart.h | 2 +-
drivers/usb/misc/usb251xb.c | 12 ++---
include/linux/of_device.h | 4 +-
sound/soc/jz4740/jz4740-i2s.c | 5 +-
11 files changed, 55 insertions(+), 84 deletions(-)
base-commit: 54ecb8f7028c5eb3d740bb82b0f1d90f2df63c5c
--
Sent by a computer through tubes
^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH 03/10] rtc: armada38x: Use of_device_get_match_data()
2019-10-04 21:43 [PATCH 00/10] Stop NULLifying match pointer in of_match_device() Stephen Boyd
@ 2019-10-04 21:43 ` Stephen Boyd
2019-10-07 13:53 ` Alexandre Belloni
0 siblings, 1 reply; 3+ messages in thread
From: Stephen Boyd @ 2019-10-04 21:43 UTC (permalink / raw)
To: linux-kernel
Cc: Arnd Bergmann, Geert Uytterhoeven, Jason Cooper, Andrew Lunn,
Gregory Clement, Sebastian Hesselbarth, Alessandro Zummo,
Alexandre Belloni, Rob Herring, Frank Rowand, linux-rtc
Use the more modern API to get the match data out of the of match table.
This saves some code, lines, and nicely avoids referencing the match
table when it is undefined with configurations where CONFIG_OF=n.
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Jason Cooper <jason@lakedaemon.net>
Cc: Andrew Lunn <andrew@lunn.ch>
Cc: Gregory Clement <gregory.clement@bootlin.com>
Cc: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Cc: Alessandro Zummo <a.zummo@towertech.it>
Cc: Alexandre Belloni <alexandre.belloni@bootlin.com>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Frank Rowand <frowand.list@gmail.com>
Cc: <linux-rtc@vger.kernel.org>
Signed-off-by: Stephen Boyd <swboyd@chromium.org>
---
Please ack or pick for immediate merge so the last patch can be merged.
drivers/rtc/rtc-armada38x.c | 10 +++-------
1 file changed, 3 insertions(+), 7 deletions(-)
diff --git a/drivers/rtc/rtc-armada38x.c b/drivers/rtc/rtc-armada38x.c
index 9351bd52477e..94d7c22fc4f3 100644
--- a/drivers/rtc/rtc-armada38x.c
+++ b/drivers/rtc/rtc-armada38x.c
@@ -74,7 +74,7 @@ struct armada38x_rtc {
int irq;
bool initialized;
struct value_to_freq *val_to_freq;
- struct armada38x_rtc_data *data;
+ const struct armada38x_rtc_data *data;
};
#define ALARM1 0
@@ -501,17 +501,14 @@ static __init int armada38x_rtc_probe(struct platform_device *pdev)
{
struct resource *res;
struct armada38x_rtc *rtc;
- const struct of_device_id *match;
-
- match = of_match_device(armada38x_rtc_of_match_table, &pdev->dev);
- if (!match)
- return -ENODEV;
rtc = devm_kzalloc(&pdev->dev, sizeof(struct armada38x_rtc),
GFP_KERNEL);
if (!rtc)
return -ENOMEM;
+ rtc->data = of_device_get_match_data(&pdev->dev);
+
rtc->val_to_freq = devm_kcalloc(&pdev->dev, SAMPLE_NR,
sizeof(struct value_to_freq), GFP_KERNEL);
if (!rtc->val_to_freq)
@@ -553,7 +550,6 @@ static __init int armada38x_rtc_probe(struct platform_device *pdev)
*/
rtc->rtc_dev->ops = &armada38x_rtc_ops_noirq;
}
- rtc->data = (struct armada38x_rtc_data *)match->data;
/* Update RTC-MBUS bridge timing parameters */
rtc->data->update_mbus_timing(rtc);
--
Sent by a computer through tubes
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH 03/10] rtc: armada38x: Use of_device_get_match_data()
2019-10-04 21:43 ` [PATCH 03/10] rtc: armada38x: Use of_device_get_match_data() Stephen Boyd
@ 2019-10-07 13:53 ` Alexandre Belloni
0 siblings, 0 replies; 3+ messages in thread
From: Alexandre Belloni @ 2019-10-07 13:53 UTC (permalink / raw)
To: Stephen Boyd
Cc: linux-kernel, Arnd Bergmann, Geert Uytterhoeven, Jason Cooper,
Andrew Lunn, Gregory Clement, Sebastian Hesselbarth,
Alessandro Zummo, Rob Herring, Frank Rowand, linux-rtc
On 04/10/2019 14:43:27-0700, Stephen Boyd wrote:
> Use the more modern API to get the match data out of the of match table.
> This saves some code, lines, and nicely avoids referencing the match
> table when it is undefined with configurations where CONFIG_OF=n.
>
> Cc: Arnd Bergmann <arnd@arndb.de>
> Cc: Geert Uytterhoeven <geert@linux-m68k.org>
> Cc: Jason Cooper <jason@lakedaemon.net>
> Cc: Andrew Lunn <andrew@lunn.ch>
> Cc: Gregory Clement <gregory.clement@bootlin.com>
> Cc: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
> Cc: Alessandro Zummo <a.zummo@towertech.it>
> Cc: Alexandre Belloni <alexandre.belloni@bootlin.com>
> Cc: Rob Herring <robh+dt@kernel.org>
> Cc: Frank Rowand <frowand.list@gmail.com>
> Cc: <linux-rtc@vger.kernel.org>
> Signed-off-by: Stephen Boyd <swboyd@chromium.org>
Acked-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
> ---
>
> Please ack or pick for immediate merge so the last patch can be merged.
>
> drivers/rtc/rtc-armada38x.c | 10 +++-------
> 1 file changed, 3 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/rtc/rtc-armada38x.c b/drivers/rtc/rtc-armada38x.c
> index 9351bd52477e..94d7c22fc4f3 100644
> --- a/drivers/rtc/rtc-armada38x.c
> +++ b/drivers/rtc/rtc-armada38x.c
> @@ -74,7 +74,7 @@ struct armada38x_rtc {
> int irq;
> bool initialized;
> struct value_to_freq *val_to_freq;
> - struct armada38x_rtc_data *data;
> + const struct armada38x_rtc_data *data;
> };
>
> #define ALARM1 0
> @@ -501,17 +501,14 @@ static __init int armada38x_rtc_probe(struct platform_device *pdev)
> {
> struct resource *res;
> struct armada38x_rtc *rtc;
> - const struct of_device_id *match;
> -
> - match = of_match_device(armada38x_rtc_of_match_table, &pdev->dev);
> - if (!match)
> - return -ENODEV;
>
> rtc = devm_kzalloc(&pdev->dev, sizeof(struct armada38x_rtc),
> GFP_KERNEL);
> if (!rtc)
> return -ENOMEM;
>
> + rtc->data = of_device_get_match_data(&pdev->dev);
> +
> rtc->val_to_freq = devm_kcalloc(&pdev->dev, SAMPLE_NR,
> sizeof(struct value_to_freq), GFP_KERNEL);
> if (!rtc->val_to_freq)
> @@ -553,7 +550,6 @@ static __init int armada38x_rtc_probe(struct platform_device *pdev)
> */
> rtc->rtc_dev->ops = &armada38x_rtc_ops_noirq;
> }
> - rtc->data = (struct armada38x_rtc_data *)match->data;
>
> /* Update RTC-MBUS bridge timing parameters */
> rtc->data->update_mbus_timing(rtc);
> --
> Sent by a computer through tubes
>
--
Alexandre Belloni, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2019-10-07 13:53 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-10-04 21:43 [PATCH 00/10] Stop NULLifying match pointer in of_match_device() Stephen Boyd
2019-10-04 21:43 ` [PATCH 03/10] rtc: armada38x: Use of_device_get_match_data() Stephen Boyd
2019-10-07 13:53 ` Alexandre Belloni
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).