Linux IIO development
 help / color / mirror / Atom feed
* [PATCH] iio: dac: ad5755: fix unised of_match table
@ 2024-03-08 18:14 Ben Dooks
  2024-03-08 18:55 ` Ben Dooks
  0 siblings, 1 reply; 3+ messages in thread
From: Ben Dooks @ 2024-03-08 18:14 UTC (permalink / raw)
  To: linux-iio; +Cc: lars, jic23, Michael.Hennerich, Ben Dooks

If the ad5755 is not being built as a module, then we get an unused warning
about the ad5755_of_match[] array as this is only used by the macro
MODULE_DEVICE_TABLE. Fix this by adding an #ifdef MODULE around it to
silence:

drivers/iio/dac/ad5755.c:866:34: warning: ‘ad5755_of_match’ defined but not used [-Wunused-const-variable=]
  866 | static const struct of_device_id ad5755_of_match[] = {

Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
---
 drivers/iio/dac/ad5755.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/iio/dac/ad5755.c b/drivers/iio/dac/ad5755.c
index 404865e35460..fb99c8472788 100644
--- a/drivers/iio/dac/ad5755.c
+++ b/drivers/iio/dac/ad5755.c
@@ -863,6 +863,7 @@ static const struct spi_device_id ad5755_id[] = {
 };
 MODULE_DEVICE_TABLE(spi, ad5755_id);
 
+#ifndef MODULE
 static const struct of_device_id ad5755_of_match[] = {
 	{ .compatible = "adi,ad5755" },
 	{ .compatible = "adi,ad5755-1" },
@@ -872,6 +873,7 @@ static const struct of_device_id ad5755_of_match[] = {
 	{ }
 };
 MODULE_DEVICE_TABLE(of, ad5755_of_match);
+#endif
 
 static struct spi_driver ad5755_driver = {
 	.driver = {
-- 
2.37.2.352.g3c44437643


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

* Re: [PATCH] iio: dac: ad5755: fix unised of_match table
  2024-03-08 18:14 [PATCH] iio: dac: ad5755: fix unised of_match table Ben Dooks
@ 2024-03-08 18:55 ` Ben Dooks
  2024-03-09 17:26   ` Jonathan Cameron
  0 siblings, 1 reply; 3+ messages in thread
From: Ben Dooks @ 2024-03-08 18:55 UTC (permalink / raw)
  To: linux-iio; +Cc: lars, jic23, Michael.Hennerich

On 08/03/2024 18:14, Ben Dooks wrote:
> If the ad5755 is not being built as a module, then we get an unused warning
> about the ad5755_of_match[] array as this is only used by the macro
> MODULE_DEVICE_TABLE. Fix this by adding an #ifdef MODULE around it to
> silence:
> 
> drivers/iio/dac/ad5755.c:866:34: warning: ‘ad5755_of_match’ defined but not used [-Wunused-const-variable=]
>    866 | static const struct of_device_id ad5755_of_match[] = {
> 
> Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
> ---
>   drivers/iio/dac/ad5755.c | 2 ++
>   1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/iio/dac/ad5755.c b/drivers/iio/dac/ad5755.c
> index 404865e35460..fb99c8472788 100644
> --- a/drivers/iio/dac/ad5755.c
> +++ b/drivers/iio/dac/ad5755.c
> @@ -863,6 +863,7 @@ static const struct spi_device_id ad5755_id[] = {
>   };
>   MODULE_DEVICE_TABLE(spi, ad5755_id);
>   
> +#ifndef MODULE

Just noticed the use of ifnded instead of ifdef here. Will fix Monday.

>   static const struct of_device_id ad5755_of_match[] = {
>   	{ .compatible = "adi,ad5755" },
>   	{ .compatible = "adi,ad5755-1" },
> @@ -872,6 +873,7 @@ static const struct of_device_id ad5755_of_match[] = {
>   	{ }
>   };
>   MODULE_DEVICE_TABLE(of, ad5755_of_match);
> +#endif
>   
>   static struct spi_driver ad5755_driver = {
>   	.driver = {

-- 
Ben Dooks				http://www.codethink.co.uk/
Senior Engineer				Codethink - Providing Genius

https://www.codethink.co.uk/privacy.html


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

* Re: [PATCH] iio: dac: ad5755: fix unised of_match table
  2024-03-08 18:55 ` Ben Dooks
@ 2024-03-09 17:26   ` Jonathan Cameron
  0 siblings, 0 replies; 3+ messages in thread
From: Jonathan Cameron @ 2024-03-09 17:26 UTC (permalink / raw)
  To: Ben Dooks; +Cc: linux-iio, lars, Michael.Hennerich

On Fri, 8 Mar 2024 18:55:09 +0000
Ben Dooks <ben.dooks@codethink.co.uk> wrote:

> On 08/03/2024 18:14, Ben Dooks wrote:
> > If the ad5755 is not being built as a module, then we get an unused warning
> > about the ad5755_of_match[] array as this is only used by the macro
> > MODULE_DEVICE_TABLE. Fix this by adding an #ifdef MODULE around it to
> > silence:
> > 
> > drivers/iio/dac/ad5755.c:866:34: warning: ‘ad5755_of_match’ defined but not used [-Wunused-const-variable=]
> >    866 | static const struct of_device_id ad5755_of_match[] = {
> > 
> > Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
> > ---
> >   drivers/iio/dac/ad5755.c | 2 ++
> >   1 file changed, 2 insertions(+)
> > 
> > diff --git a/drivers/iio/dac/ad5755.c b/drivers/iio/dac/ad5755.c
> > index 404865e35460..fb99c8472788 100644
> > --- a/drivers/iio/dac/ad5755.c
> > +++ b/drivers/iio/dac/ad5755.c
> > @@ -863,6 +863,7 @@ static const struct spi_device_id ad5755_id[] = {
> >   };
> >   MODULE_DEVICE_TABLE(spi, ad5755_id);
> >   
> > +#ifndef MODULE  
> 
> Just noticed the use of ifnded instead of ifdef here. Will fix Monday.

Krzystof posted a different fix for this a while back but that had some issues.
https://lore.kernel.org/linux-iio/20240226192555.14aa178e@jic23-huawei/

The simple fix is just hook up the of_device_match pointer.
But to use the general data matching from spi_get_device_match_data()
the data needs to change to be pointers and not enums hammered into a pointer.
I'm really not keen on the horrible workaround of avoiding the enum value of 0.

So this needs a more complex fix in general - for now we can get away with
using the table and the fallback stuff that relies on the of_device_id
and spi_device_id table entries matching but that is fragile.



> 
> >   static const struct of_device_id ad5755_of_match[] = {
> >   	{ .compatible = "adi,ad5755" },
> >   	{ .compatible = "adi,ad5755-1" },
> > @@ -872,6 +873,7 @@ static const struct of_device_id ad5755_of_match[] = {
> >   	{ }
> >   };
> >   MODULE_DEVICE_TABLE(of, ad5755_of_match);
> > +#endif
> >   
> >   static struct spi_driver ad5755_driver = {
> >   	.driver = {  
> 


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

end of thread, other threads:[~2024-03-09 17:26 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-03-08 18:14 [PATCH] iio: dac: ad5755: fix unised of_match table Ben Dooks
2024-03-08 18:55 ` Ben Dooks
2024-03-09 17:26   ` Jonathan Cameron

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox