Message ID | 20210123034428.2841052-1-swboyd@chromium.org |
---|---|
Headers | show |
Series | Stop NULLifying match pointer in of_match_device() | expand |
On 1/22/21 7:44 PM, Stephen Boyd wrote: > We're going to remove of_match_ptr() from the definition of > of_match_device() when CONFIG_OF=n. This way we can always be certain > that of_match_device() acts the same when CONFIG_OF is set and when it > isn't. Add of_match_ptr() here so that this doesn't break when that > change is made to the of_match_device() API. > > Signed-off-by: Stephen Boyd <swboyd@chromium.org> > Acked-by: Guenter Roeck <linux@roeck-us.net> > Cc: Arnd Bergmann <arnd@arndb.de> > Cc: Geert Uytterhoeven <geert@linux-m68k.org> > Cc: Jean Delvare <jdelvare@suse.com> > Cc: Guenter Roeck <linux@roeck-us.net> > Cc: Rob Herring <robh+dt@kernel.org> > Cc: Frank Rowand <frowand.list@gmail.com> > Cc: <linux-hwmon@vger.kernel.org> > --- > > Please ack so Rob can apply. > This patch already has my Acked-by: above. Guenter > drivers/hwmon/lm70.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/hwmon/lm70.c b/drivers/hwmon/lm70.c > index ae2b84263a44..e3153ae80634 100644 > --- a/drivers/hwmon/lm70.c > +++ b/drivers/hwmon/lm70.c > @@ -178,7 +178,7 @@ static int lm70_probe(struct spi_device *spi) > struct lm70 *p_lm70; > int chip; > > - of_match = of_match_device(lm70_of_ids, &spi->dev); > + of_match = of_match_device(of_match_ptr(lm70_of_ids), &spi->dev); > if (of_match) > chip = (int)(uintptr_t)of_match->data; > else { >
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