linux-omap.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/6]  Stop NULLifying match pointer in of_match_device()
@ 2021-01-23  3:44 Stephen Boyd
  2021-01-23  3:44 ` [PATCH v2 2/6] drivers: net: davinci_mdio: Use of_device_get_match_data() Stephen Boyd
  2021-01-26 18:21 ` [PATCH v2 0/6] Stop NULLifying match pointer in of_match_device() Rob Herring
  0 siblings, 2 replies; 4+ messages in thread
From: Stephen Boyd @ 2021-01-23  3:44 UTC (permalink / raw)
  To: Rob Herring
  Cc: linux-kernel, devicetree, Alexandre Torgue, Arnd Bergmann,
	David S. Miller, Frank Rowand, Geert Uytterhoeven,
	Greg Kroah-Hartman, Grygorii Strashko, Guenter Roeck,
	Jacopo Mondi, Jean Delvare, Jiri Slaby, linux-hwmon, linux-media,
	linux-omap, linux-renesas-soc, linux-serial, linux-usb,
	Mauro Carvalho Chehab, Maxime Coquelin, Richard Leitner,
	Rob Herring

(This is a continuation of this series[1] per Rob's request. I've picked
up the acks, etc. with b4 and compile tested the patches along with an
arm64 allmodconfig build. Presumably Rob will pick these up directly.)

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.

[1] https://lore.kernel.org/r/20191004214334.149976-1-swboyd@chromium.org

Cc: Alexandre Torgue <alexandre.torgue@st.com>
Cc: Arnd Bergmann <arnd@arndb.de>
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: Grygorii Strashko <grygorii.strashko@ti.com>
Cc: Guenter Roeck <linux@roeck-us.net>
Cc: Jacopo Mondi <jacopo@jmondi.org>
Cc: Jean Delvare <jdelvare@suse.com>
Cc: Jiri Slaby <jslaby@suse.com>
Cc: <linux-hwmon@vger.kernel.org>
Cc: <linux-kernel@vger.kernel.org>,
Cc: <linux-media@vger.kernel.org>
Cc: <linux-omap@vger.kernel.org>
Cc: <linux-renesas-soc@vger.kernel.org>
Cc: <linux-serial@vger.kernel.org>
Cc: <linux-usb@vger.kernel.org>
Cc: Mauro Carvalho Chehab <mchehab@kernel.org>
Cc: Maxime Coquelin <mcoquelin.stm32@gmail.com>
Cc: Richard Leitner <richard.leitner@skidata.com>
Cc: Rob Herring <robh+dt@kernel.org>

Stephen Boyd (6):
  media: renesas-ceu: 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()
  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/media/platform/renesas-ceu.c   |  2 +-
 drivers/net/ethernet/ti/davinci_mdio.c | 12 ++---
 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 +-
 7 files changed, 47 insertions(+), 58 deletions(-)


base-commit: 19c329f6808995b142b3966301f217c831e7cf31
-- 
https://chromeos.dev


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH v2 2/6] drivers: net: davinci_mdio: Use of_device_get_match_data()
  2021-01-23  3:44 [PATCH v2 0/6] Stop NULLifying match pointer in of_match_device() Stephen Boyd
@ 2021-01-23  3:44 ` Stephen Boyd
  2021-01-26 13:11   ` Grygorii Strashko
  2021-01-26 18:21 ` [PATCH v2 0/6] Stop NULLifying match pointer in of_match_device() Rob Herring
  1 sibling, 1 reply; 4+ messages in thread
From: Stephen Boyd @ 2021-01-23  3:44 UTC (permalink / raw)
  To: Rob Herring
  Cc: linux-kernel, devicetree, Arnd Bergmann, Geert Uytterhoeven,
	Grygorii Strashko, David S. Miller, Rob Herring, Frank Rowand,
	linux-omap

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.

Signed-off-by: Stephen Boyd <swboyd@chromium.org>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Grygorii Strashko <grygorii.strashko@ti.com>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Frank Rowand <frowand.list@gmail.com>
Cc: <linux-omap@vger.kernel.org>
---

Please ack so Rob can apply.

 drivers/net/ethernet/ti/davinci_mdio.c | 12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)

diff --git a/drivers/net/ethernet/ti/davinci_mdio.c b/drivers/net/ethernet/ti/davinci_mdio.c
index cfff3d48807a..a4efd5e35158 100644
--- a/drivers/net/ethernet/ti/davinci_mdio.c
+++ b/drivers/net/ethernet/ti/davinci_mdio.c
@@ -358,20 +358,16 @@ static int davinci_mdio_probe(struct platform_device *pdev)
 	}
 
 	if (IS_ENABLED(CONFIG_OF) && dev->of_node) {
-		const struct of_device_id	*of_id;
+		const struct davinci_mdio_of_param *of_mdio_data;
 
 		ret = davinci_mdio_probe_dt(&data->pdata, pdev);
 		if (ret)
 			return ret;
 		snprintf(data->bus->id, MII_BUS_ID_SIZE, "%s", pdev->name);
 
-		of_id = of_match_device(davinci_mdio_of_mtable, &pdev->dev);
-		if (of_id) {
-			const struct davinci_mdio_of_param *of_mdio_data;
-
-			of_mdio_data = of_id->data;
-			if (of_mdio_data)
-				autosuspend_delay_ms =
+		of_mdio_data = of_device_get_match_data(&pdev->dev);
+		if (of_mdio_data) {
+			autosuspend_delay_ms =
 					of_mdio_data->autosuspend_delay_ms;
 		}
 	} else {
-- 
https://chromeos.dev


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH v2 2/6] drivers: net: davinci_mdio: Use of_device_get_match_data()
  2021-01-23  3:44 ` [PATCH v2 2/6] drivers: net: davinci_mdio: Use of_device_get_match_data() Stephen Boyd
@ 2021-01-26 13:11   ` Grygorii Strashko
  0 siblings, 0 replies; 4+ messages in thread
From: Grygorii Strashko @ 2021-01-26 13:11 UTC (permalink / raw)
  To: Stephen Boyd, Rob Herring
  Cc: linux-kernel, devicetree, Arnd Bergmann, Geert Uytterhoeven,
	David S. Miller, Rob Herring, Frank Rowand, linux-omap



On 23/01/2021 05:44, 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.
> 
> Signed-off-by: Stephen Boyd <swboyd@chromium.org>
> Cc: Arnd Bergmann <arnd@arndb.de>
> Cc: Geert Uytterhoeven <geert@linux-m68k.org>
> Cc: Grygorii Strashko <grygorii.strashko@ti.com>
> Cc: "David S. Miller" <davem@davemloft.net>
> Cc: Rob Herring <robh+dt@kernel.org>
> Cc: Frank Rowand <frowand.list@gmail.com>
> Cc: <linux-omap@vger.kernel.org>
> ---
> 
> Please ack so Rob can apply.
> 
>   drivers/net/ethernet/ti/davinci_mdio.c | 12 ++++--------
>   1 file changed, 4 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/net/ethernet/ti/davinci_mdio.c b/drivers/net/ethernet/ti/davinci_mdio.c
> index cfff3d48807a..a4efd5e35158 100644
> --- a/drivers/net/ethernet/ti/davinci_mdio.c
> +++ b/drivers/net/ethernet/ti/davinci_mdio.c
> @@ -358,20 +358,16 @@ static int davinci_mdio_probe(struct platform_device *pdev)
>   	}
>   
>   	if (IS_ENABLED(CONFIG_OF) && dev->of_node) {
> -		const struct of_device_id	*of_id;
> +		const struct davinci_mdio_of_param *of_mdio_data;
>   
>   		ret = davinci_mdio_probe_dt(&data->pdata, pdev);
>   		if (ret)
>   			return ret;
>   		snprintf(data->bus->id, MII_BUS_ID_SIZE, "%s", pdev->name);
>   
> -		of_id = of_match_device(davinci_mdio_of_mtable, &pdev->dev);
> -		if (of_id) {
> -			const struct davinci_mdio_of_param *of_mdio_data;
> -
> -			of_mdio_data = of_id->data;
> -			if (of_mdio_data)
> -				autosuspend_delay_ms =
> +		of_mdio_data = of_device_get_match_data(&pdev->dev);
> +		if (of_mdio_data) {
> +			autosuspend_delay_ms =
>   					of_mdio_data->autosuspend_delay_ms;
>   		}
>   	} else {
> 

Thank you.
Reviewed-by: Grygorii Strashko <grygorii.strashko@ti.com>

-- 
Best regards,
grygorii

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH v2 0/6] Stop NULLifying match pointer in of_match_device()
  2021-01-23  3:44 [PATCH v2 0/6] Stop NULLifying match pointer in of_match_device() Stephen Boyd
  2021-01-23  3:44 ` [PATCH v2 2/6] drivers: net: davinci_mdio: Use of_device_get_match_data() Stephen Boyd
@ 2021-01-26 18:21 ` Rob Herring
  1 sibling, 0 replies; 4+ messages in thread
From: Rob Herring @ 2021-01-26 18:21 UTC (permalink / raw)
  To: Stephen Boyd
  Cc: linux-kernel, devicetree, Alexandre Torgue, Arnd Bergmann,
	David S. Miller, Frank Rowand, Geert Uytterhoeven,
	Greg Kroah-Hartman, Grygorii Strashko, Guenter Roeck,
	Jacopo Mondi, Jean Delvare, Jiri Slaby, Linux HWMON List,
	Linux Media Mailing List, linux-omap,
	open list:MEDIA DRIVERS FOR RENESAS - FCP,
	open list:SERIAL DRIVERS, Linux USB List, Mauro Carvalho Chehab,
	Maxime Coquelin, Richard Leitner

On Fri, Jan 22, 2021 at 9:44 PM Stephen Boyd <swboyd@chromium.org> wrote:
>
> (This is a continuation of this series[1] per Rob's request. I've picked
> up the acks, etc. with b4 and compile tested the patches along with an
> arm64 allmodconfig build. Presumably Rob will pick these up directly.)
>
> 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.
>
> [1] https://lore.kernel.org/r/20191004214334.149976-1-swboyd@chromium.org
>
> Cc: Alexandre Torgue <alexandre.torgue@st.com>
> Cc: Arnd Bergmann <arnd@arndb.de>
> 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: Grygorii Strashko <grygorii.strashko@ti.com>
> Cc: Guenter Roeck <linux@roeck-us.net>
> Cc: Jacopo Mondi <jacopo@jmondi.org>
> Cc: Jean Delvare <jdelvare@suse.com>
> Cc: Jiri Slaby <jslaby@suse.com>
> Cc: <linux-hwmon@vger.kernel.org>
> Cc: <linux-kernel@vger.kernel.org>,
> Cc: <linux-media@vger.kernel.org>
> Cc: <linux-omap@vger.kernel.org>
> Cc: <linux-renesas-soc@vger.kernel.org>
> Cc: <linux-serial@vger.kernel.org>
> Cc: <linux-usb@vger.kernel.org>
> Cc: Mauro Carvalho Chehab <mchehab@kernel.org>
> Cc: Maxime Coquelin <mcoquelin.stm32@gmail.com>
> Cc: Richard Leitner <richard.leitner@skidata.com>
> Cc: Rob Herring <robh+dt@kernel.org>
>
> Stephen Boyd (6):
>   media: renesas-ceu: 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()
>   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/media/platform/renesas-ceu.c   |  2 +-
>  drivers/net/ethernet/ti/davinci_mdio.c | 12 ++---
>  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 +-
>  7 files changed, 47 insertions(+), 58 deletions(-)

Series applied.


Rob

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2021-01-27  7:35 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-01-23  3:44 [PATCH v2 0/6] Stop NULLifying match pointer in of_match_device() Stephen Boyd
2021-01-23  3:44 ` [PATCH v2 2/6] drivers: net: davinci_mdio: Use of_device_get_match_data() Stephen Boyd
2021-01-26 13:11   ` Grygorii Strashko
2021-01-26 18:21 ` [PATCH v2 0/6] Stop NULLifying match pointer in of_match_device() Rob Herring

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