From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Wolfram Sang <wsa@kernel.org>
Cc: Jonathan Cameron <jic23@kernel.org>,
linux-iio@vger.kernel.org, Lars-Peter Clausen <lars@metafoo.de>,
Rob Herring <robh+dt@kernel.org>, Sean Nyekjaer <sean@geanix.com>,
devicetree@vger.kernel.org, Jose Cazarin <joseespiriki@gmail.com>,
linux-i2c@vger.kernel.org
Subject: Re: [PATCH v1.1 2/2] iio: dac: dac5571: Fix chip id detection for OF devices
Date: Tue, 17 Aug 2021 23:52:10 +0300 [thread overview]
Message-ID: <YRwhej9Hz00qnvlQ@pendragon.ideasonboard.com> (raw)
In-Reply-To: <YRwfpOuyVEstwsza@kunai>
Hi Wolfram,
On Tue, Aug 17, 2021 at 10:44:20PM +0200, Wolfram Sang wrote:
>
> > > When matching an OF device, the match mechanism tries all components of
> > > the compatible property. This can result with a device matched with a
> > > compatible string that isn't the first in the compatible list. For
> > > instance, with a compatible property set to
> > >
> > > compatible = "ti,dac081c081", "ti,dac5571";
> > >
> > > the driver will match the second compatible string, as the first one
> > > isn't listed in the of_device_id table. The device will however be named
> > > "dac081c081" by the I2C core.
> > >
> > > This causes an issue when identifying the chip. The probe function
> > > receives a i2c_device_id that comes from the module's I2C device ID
> > > table. There is no entry in that table for "dac081c081", which results
> > > in a NULL pointer passed to the probe function.
> > >
> > > To fix this, add chip_id information in the data field of the OF device
> > > ID table, and retrieve it with of_device_get_match_data() for OF
> > > devices.
> > >
> > > Signed-off-by: Jose Cazarin <joseespiriki@gmail.com>
> > > Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> > > Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> >
> > Interesting problem that I hadn't previously realised could happen.
> >
> > One request though, can we use device_get_match_data() here rather than
> > the of specific version? Include property.h as well for that.
> >
> > That should allow the same issue with compatible to work correctly when
> > using PRP0001 based ACPI methods.
> > https://elixir.bootlin.com/linux/v5.14-rc1/source/drivers/acpi/bus.c#L891
> > Will result in acpi_of_device_get_match_data() being called which will
> > match to the of_device_id table.
>
> Couldn't you use the "new" probe_new() callback instead which will drop
> the i2c_device_id? Kieran was interested in such conversions IIRC.
It's a bit unrelated to this patch, but I can add another patch to the
series.
While I have your attention, there's a question for you in the cover
letter :-) Could you please have a look ?
--
Regards,
Laurent Pinchart
next prev parent reply other threads:[~2021-08-17 20:52 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-07-23 18:31 [PATCH 0/2] iio: ti-dac5571: Add TI DAC081C081 support Laurent Pinchart
2021-07-23 18:31 ` [PATCH 1/2] dt-bindings: iio: dac: ti,dac5571: " Laurent Pinchart
2021-07-29 21:26 ` Rob Herring
2021-07-23 18:31 ` [PATCH 2/2] iio: dac: dac5571: Fix chip id detection for OF devices Laurent Pinchart
2021-07-23 23:06 ` kernel test robot
2021-07-23 23:06 ` kernel test robot
2021-07-23 23:06 ` kernel test robot
2021-07-23 23:06 ` kernel test robot
2021-07-24 0:06 ` [PATCH v1.1 " Laurent Pinchart
2021-07-24 14:43 ` Jonathan Cameron
2021-07-24 23:14 ` Laurent Pinchart
2021-08-17 20:44 ` Wolfram Sang
2021-08-17 20:52 ` Laurent Pinchart [this message]
2021-08-17 20:58 ` Wolfram Sang
2021-08-17 21:20 ` Laurent Pinchart
2022-03-24 23:25 ` Laurent Pinchart
2022-03-28 9:20 ` Wolfram Sang
2022-03-28 10:04 ` Laurent Pinchart
2022-03-28 12:22 ` Wolfram Sang
2022-03-29 0:44 ` Laurent Pinchart
2022-03-29 8:59 ` Wolfram Sang
2021-07-24 14:44 ` Jonathan Cameron
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=YRwhej9Hz00qnvlQ@pendragon.ideasonboard.com \
--to=laurent.pinchart@ideasonboard.com \
--cc=devicetree@vger.kernel.org \
--cc=jic23@kernel.org \
--cc=joseespiriki@gmail.com \
--cc=lars@metafoo.de \
--cc=linux-i2c@vger.kernel.org \
--cc=linux-iio@vger.kernel.org \
--cc=robh+dt@kernel.org \
--cc=sean@geanix.com \
--cc=wsa@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.