All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kaustabh Chakraborty <kauschluss@disroot.org>
To: Jonathan Cameron <jic23@kernel.org>
Cc: Conor Dooley <conor@kernel.org>,
	linux-iio@vger.kernel.org, denis.ciocca@st.com,
	devicetree@vger.kernel.org, linus.walleij@linaro.org,
	robh+dt@kernel.org
Subject: Re: [PATCH v3] iio: accel: st_accel: add LIS2DS12
Date: Mon, 10 Jun 2024 16:02:40 +0000	[thread overview]
Message-ID: <db376ece42e4eee823212ca3700f3d57@disroot.org> (raw)

On 2024-06-06 20:05, Jonathan Cameron wrote:
> On Thu, 06 Jun 2024 10:12:11 +0000
> kauschluss <kauschluss@disroot.org> wrote:
> 
>> On 2024-06-02 08:54, Jonathan Cameron wrote:
>> > On Sat, 1 Jun 2024 20:49:25 +0100
>> > Conor Dooley <conor@kernel.org> wrote:
>> >
>> >> On Sun, Jun 02, 2024 at 12:56:41AM +0530, Kaustabh Chakraborty wrote:
>> >> > diff --git a/drivers/iio/accel/st_accel_i2c.c b/drivers/iio/accel/st_accel_i2c.c
>> >> > index fd3749871121..329a4d6fb2ec 100644
>> >> > --- a/drivers/iio/accel/st_accel_i2c.c
>> >> > +++ b/drivers/iio/accel/st_accel_i2c.c
>> >> > @@ -102,6 +102,10 @@ static const struct of_device_id st_accel_of_match[] = {
>> >> >  		.compatible = "st,lis2de12",
>> >> >  		.data = LIS2DE12_ACCEL_DEV_NAME,
>> >> >  	},
>> >> > +	{
>> >> > +		.compatible = "st,lis2ds12",
>> >> > +		.data = LIS2DS12_ACCEL_DEV_NAME,
>> >> > +	},
>> >> >  	{
>> >> >  		.compatible = "st,lis2hh12",
>> >> >  		.data = LIS2HH12_ACCEL_DEV_NAME,
>> >>
>> >> > diff --git a/drivers/iio/accel/st_accel_spi.c b/drivers/iio/accel/st_accel_spi.c
>> >> > index f72a24f45322..825adab37105 100644
>> >> > --- a/drivers/iio/accel/st_accel_spi.c
>> >> > +++ b/drivers/iio/accel/st_accel_spi.c
>> >> > @@ -64,6 +64,10 @@ static const struct of_device_id st_accel_of_match[] = {
>> >> >  		.compatible = "st,lis2dh12-accel",
>> >> >  		.data = LIS2DH12_ACCEL_DEV_NAME,
>> >> >  	},
>> >> > +	{
>> >> > +		.compatible = "st,lis2ds12",
>> >> > +		.data = LIS2DS12_ACCEL_DEV_NAME,
>> >> > +	},
>> >> >  	{
>> >> >  		.compatible = "st,lis3l02dq",
>> >> >  		.data = LIS3L02DQ_ACCEL_DEV_NAME,
>> >>
>> >> Any new compatibles need to be documented in st,st-sensors.yaml
>> >
>> > At the moment the st_sensors core is doing hard matching against whoami values
>> > which isn't good.  That should ideally be fixed and the binding for this
>> > device should use a fallback compatible if the statement about compatibility
>> > is accurate.
>> 
>> I apologize for not wording the description accurately. By 
>> "compatibility",
>> I mean that the sensor settings of LIS2DE12 (such as the gain values) 
>> seem
>> to be well-suited for LIS2DS12, as per my experimentation. Both 
>> devices are
>> manufactured by ST and have no correlation regarding compatibility 
>> whatsoever.
>> In that case, a fallback compatible isn't required, right?
> 
> If only the Who Am I value prevents it working if you give the 
> compatible
> as lisde12 then even though ST rarely if ever identifies it in 
> datasheets, they are
> software compatible.  In that case we should allow for a fallback 
> compatible.
> + fix the driver not to fail on the whoami mismatch.
> Note we don't care if they have totally different packages as long as
> the driver doesn't need to know that.  If they have different numbers
> of interrupts though or power supplies, then they aren't compatible and
> we shouldn't provide a fallback.
> 
> Roughly speaking you have to compare datahsheet sections for pins (not 
> which
> but what) and register maps.

I've thoroughly checked the registers, and indeed, a lot of registers 
addresses
and other settings are different. Although the sensor settings of 
LIS2DE12
"work", they are technically incorrect.

I've fixed it, and will send it with v4 in a day or two.

Thank you!

> That applies even if the current driver will fail to probe (for now)
>> 
>> I'll make sure to rewrite the description more accurately in v4.
>> 
>> > It may just be a case of relaxing the check in st_sensors_verify_id()
>> > to printing a warning not an error message and not returning an error code
>> > (reserving error returns in that function for bus error etc.
>> 
>> I agree, if you want I may send a patch for that after I'm done with 
>> this
>> one.
> Thanks,
> 
> Jonathan
> 
>> 
>> > That doesn't need to be in this patch though.  Just have the fallback
>> > stuff in the binding and for now we can rely on matching the more
>> > precise compatible.
>> >
>> > Jonathan
>> >
>> >
>> >>
>> >> Thanks,
>> >> Conor.
>> >>

             reply	other threads:[~2024-06-10 16:02 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-06-10 16:02 Kaustabh Chakraborty [this message]
  -- strict thread matches above, loose matches on Subject: below --
2024-06-01 19:26 [PATCH v3] iio: accel: st_accel: add LIS2DS12 Kaustabh Chakraborty
2024-06-01 19:49 ` Conor Dooley
2024-06-02  8:54   ` Jonathan Cameron
2024-06-04 17:52     ` Conor Dooley
2024-06-06 10:12     ` kauschluss
2024-06-06 20:05       ` 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=db376ece42e4eee823212ca3700f3d57@disroot.org \
    --to=kauschluss@disroot.org \
    --cc=conor@kernel.org \
    --cc=denis.ciocca@st.com \
    --cc=devicetree@vger.kernel.org \
    --cc=jic23@kernel.org \
    --cc=linus.walleij@linaro.org \
    --cc=linux-iio@vger.kernel.org \
    --cc=robh+dt@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.