Linux IIO development
 help / color / mirror / Atom feed
From: Jonathan Cameron <jic23@kernel.org>
To: Ben Dooks <ben.dooks@codethink.co.uk>
Cc: linux-iio@vger.kernel.org, lars@metafoo.de, Michael.Hennerich@analog.com
Subject: Re: [PATCH] iio: dac: ad5755: fix unised of_match table
Date: Sat, 9 Mar 2024 17:26:45 +0000	[thread overview]
Message-ID: <20240309172645.2273b8fb@jic23-huawei> (raw)
In-Reply-To: <e0bee548-9a62-469a-8c2c-9548626616d6@codethink.co.uk>

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 = {  
> 


      reply	other threads:[~2024-03-09 17:26 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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 message]

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=20240309172645.2273b8fb@jic23-huawei \
    --to=jic23@kernel.org \
    --cc=Michael.Hennerich@analog.com \
    --cc=ben.dooks@codethink.co.uk \
    --cc=lars@metafoo.de \
    --cc=linux-iio@vger.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