diff mbox series

iio: st_pressure_spi: Add missing entries SPI to device ID table

Message ID 20210927134153.12739-1-broonie@kernel.org (mailing list archive)
State Accepted
Headers show
Series iio: st_pressure_spi: Add missing entries SPI to device ID table | expand

Commit Message

Mark Brown Sept. 27, 2021, 1:41 p.m. UTC
Currently autoloading for SPI devices does not use the DT ID table, it uses
SPI modalises. Supporting OF modalises is going to be difficult if not
impractical, an attempt was made but has been reverted, so ensure that
module autoloading works for this driver by adding SPI IDs for parts that
only have a compatible listed.

Fixes: 96c8395e2166 ("spi: Revert modalias changes")
Signed-off-by: Mark Brown <broonie@kernel.org>
---
 drivers/iio/pressure/st_pressure_spi.c | 4 ++++
 1 file changed, 4 insertions(+)

Comments

Jonathan Cameron Sept. 30, 2021, 4:38 p.m. UTC | #1
On Mon, 27 Sep 2021 14:41:53 +0100
Mark Brown <broonie@kernel.org> wrote:

> Currently autoloading for SPI devices does not use the DT ID table, it uses
> SPI modalises. Supporting OF modalises is going to be difficult if not
> impractical, an attempt was made but has been reverted, so ensure that
> module autoloading works for this driver by adding SPI IDs for parts that
> only have a compatible listed.
> 
> Fixes: 96c8395e2166 ("spi: Revert modalias changes")
> Signed-off-by: Mark Brown <broonie@kernel.org>

Whilst these IDs are deprecated, we should at least be consistent that they either
work or not rather than current situation.

+CC Denis as driver author.  I'll let it sit on list a little longer so Denis can
take a look.

Thanks

Jonathan

> ---
>  drivers/iio/pressure/st_pressure_spi.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/drivers/iio/pressure/st_pressure_spi.c b/drivers/iio/pressure/st_pressure_spi.c
> index 9b2523c5bc94..d6fc954e28f8 100644
> --- a/drivers/iio/pressure/st_pressure_spi.c
> +++ b/drivers/iio/pressure/st_pressure_spi.c
> @@ -97,6 +97,10 @@ static const struct spi_device_id st_press_id_table[] = {
>  	{ LPS33HW_PRESS_DEV_NAME },
>  	{ LPS35HW_PRESS_DEV_NAME },
>  	{ LPS22HH_PRESS_DEV_NAME },
> +	{ "lps001wp-press" },
> +	{ "lps25h-press", },
> +	{ "lps331ap-press" },
> +	{ "lps22hb-press" },
>  	{},
>  };
>  MODULE_DEVICE_TABLE(spi, st_press_id_table);
Denis CIOCCA Sept. 30, 2021, 6:35 p.m. UTC | #2
Hello Jonathan, Mark,

I am not very familiar with how much the kernel would like to keep 'probing id' consistent. I perfectly understand the value of doing this (maintain ID compatibility) but I also see increase confusion in maintaining half in a way and half in another.
I personally think that we should drop the '-press' thing for all the devices since they all are single-chip (meaning that the name used identify univocally that is a pressure sensor).
If you think that compatibility is more important here, I think the patch is fine but this should be done in the i2c part as well so that it's at least congruent withing the driver.

Let me know what you think.

Thanks,
Denis



> -----Original Message-----
> From: Jonathan Cameron <jic23@kernel.org>
> Sent: Thursday, September 30, 2021 9:39 AM
> To: Mark Brown <broonie@kernel.org>
> Cc: Lars-Peter Clausen <lars@metafoo.de>; linux-iio@vger.kernel.org; Denis
> CIOCCA <denis.ciocca@st.com>
> Subject: Re: [PATCH] iio: st_pressure_spi: Add missing entries SPI to device ID
> table
> 
> On Mon, 27 Sep 2021 14:41:53 +0100
> Mark Brown <broonie@kernel.org> wrote:
> 
> > Currently autoloading for SPI devices does not use the DT ID table, it
> > uses SPI modalises. Supporting OF modalises is going to be difficult
> > if not impractical, an attempt was made but has been reverted, so
> > ensure that module autoloading works for this driver by adding SPI IDs
> > for parts that only have a compatible listed.
> >
> > Fixes: 96c8395e2166 ("spi: Revert modalias changes")
> > Signed-off-by: Mark Brown <broonie@kernel.org>
> 
> Whilst these IDs are deprecated, we should at least be consistent that they
> either work or not rather than current situation.
> 
> +CC Denis as driver author.  I'll let it sit on list a little longer so
> +Denis can
> take a look.
> 
> Thanks
> 
> Jonathan
> 
> > ---
> >  drivers/iio/pressure/st_pressure_spi.c | 4 ++++
> >  1 file changed, 4 insertions(+)
> >
> > diff --git a/drivers/iio/pressure/st_pressure_spi.c
> > b/drivers/iio/pressure/st_pressure_spi.c
> > index 9b2523c5bc94..d6fc954e28f8 100644
> > --- a/drivers/iio/pressure/st_pressure_spi.c
> > +++ b/drivers/iio/pressure/st_pressure_spi.c
> > @@ -97,6 +97,10 @@ static const struct spi_device_id st_press_id_table[]
> = {
> >  	{ LPS33HW_PRESS_DEV_NAME },
> >  	{ LPS35HW_PRESS_DEV_NAME },
> >  	{ LPS22HH_PRESS_DEV_NAME },
> > +	{ "lps001wp-press" },
> > +	{ "lps25h-press", },
> > +	{ "lps331ap-press" },
> > +	{ "lps22hb-press" },
> >  	{},
> >  };
> >  MODULE_DEVICE_TABLE(spi, st_press_id_table);
Mark Brown Oct. 1, 2021, 12:19 p.m. UTC | #3
On Thu, Sep 30, 2021 at 06:35:23PM +0000, Denis CIOCCA wrote:

> I am not very familiar with how much the kernel would like to keep 'probing id' consistent. I perfectly understand the value of doing this (maintain ID compatibility) but I also see increase confusion in maintaining half in a way and half in another.

The goal is not to maintain compatibility, the goal is to be able to
load the driver as a module on DT systems.  For historical reasons SPI
uses the platform device IDs to load modules bound with DT, if there is
no platform ID for a DT ID then userspace won't be able to find and load
the module.

> I personally think that we should drop the '-press' thing for all the devices since they all are single-chip (meaning that the name used identify univocally that is a pressure sensor).

The DT bindings are an ABI, you can't really remove compatibles only
deprecate them.

> If you think that compatibility is more important here, I think the patch is fine but this should be done in the i2c part as well so that it's at least congruent withing the driver.

I2C doesn't have this issue with modaliases so it's not an issue there.

Please fix your mail client to word wrap within paragraphs at something
substantially less than 80 columns.  Doing this makes your messages much
easier to read and reply to.
Denis CIOCCA Oct. 7, 2021, 12:47 a.m. UTC | #4
Hello Mark,

> -----Original Message-----
> From: Mark Brown <broonie@kernel.org>
> Sent: Friday, October 1, 2021 5:20 AM
> To: Denis CIOCCA <denis.ciocca@st.com>
> Cc: Jonathan Cameron <jic23@kernel.org>; Lars-Peter Clausen
> <lars@metafoo.de>; linux-iio@vger.kernel.org
> Subject: Re: [PATCH] iio: st_pressure_spi: Add missing entries SPI to device
> ID table
> 
> On Thu, Sep 30, 2021 at 06:35:23PM +0000, Denis CIOCCA wrote:
> 
> > I am not very familiar with how much the kernel would like to keep
> 'probing id' consistent. I perfectly understand the value of doing this
> (maintain ID compatibility) but I also see increase confusion in maintaining
> half in a way and half in another.
> 
> The goal is not to maintain compatibility, the goal is to be able to
> load the driver as a module on DT systems.  For historical reasons SPI
> uses the platform device IDs to load modules bound with DT, if there is
> no platform ID for a DT ID then userspace won't be able to find and load
> the module.

Ok now it is clear. I wasn't aware of that.
In this case it is good to me (I didn't do any testing).

> 
> > I personally think that we should drop the '-press' thing for all the devices
> since they all are single-chip (meaning that the name used identify
> univocally that is a pressure sensor).
> 
> The DT bindings are an ABI, you can't really remove compatibles only
> deprecate them.

Yeah I guessed this was the case.

> 
> > If you think that compatibility is more important here, I think the patch is
> fine but this should be done in the i2c part as well so that it's at least
> congruent withing the driver.
> 
> I2C doesn't have this issue with modaliases so it's not an issue there.

Clear.

> 
> Please fix your mail client to word wrap within paragraphs at something
> substantially less than 80 columns.  Doing this makes your messages much
> easier to read and reply to.
Jonathan Cameron Oct. 7, 2021, 3:27 p.m. UTC | #5
On Thu, 7 Oct 2021 00:47:56 +0000
Denis CIOCCA <denis.ciocca@st.com> wrote:

> Hello Mark,
> 
> > -----Original Message-----
> > From: Mark Brown <broonie@kernel.org>
> > Sent: Friday, October 1, 2021 5:20 AM
> > To: Denis CIOCCA <denis.ciocca@st.com>
> > Cc: Jonathan Cameron <jic23@kernel.org>; Lars-Peter Clausen
> > <lars@metafoo.de>; linux-iio@vger.kernel.org
> > Subject: Re: [PATCH] iio: st_pressure_spi: Add missing entries SPI to device
> > ID table
> > 
> > On Thu, Sep 30, 2021 at 06:35:23PM +0000, Denis CIOCCA wrote:
> >   
> > > I am not very familiar with how much the kernel would like to keep  
> > 'probing id' consistent. I perfectly understand the value of doing this
> > (maintain ID compatibility) but I also see increase confusion in maintaining
> > half in a way and half in another.
> > 
> > The goal is not to maintain compatibility, the goal is to be able to
> > load the driver as a module on DT systems.  For historical reasons SPI
> > uses the platform device IDs to load modules bound with DT, if there is
> > no platform ID for a DT ID then userspace won't be able to find and load
> > the module.  
> 
> Ok now it is clear. I wasn't aware of that.
> In this case it is good to me (I didn't do any testing).

Applied to the fixes-togreg branch of iio.git. I haven't explicitly marked
it for stable but it may make sense to backport at somepoint.

Thanks,

Jonathan

> 
> >   
> > > I personally think that we should drop the '-press' thing for all the devices  
> > since they all are single-chip (meaning that the name used identify
> > univocally that is a pressure sensor).
> > 
> > The DT bindings are an ABI, you can't really remove compatibles only
> > deprecate them.  
> 
> Yeah I guessed this was the case.
> 
> >   
> > > If you think that compatibility is more important here, I think the patch is  
> > fine but this should be done in the i2c part as well so that it's at least
> > congruent withing the driver.
> > 
> > I2C doesn't have this issue with modaliases so it's not an issue there.  
> 
> Clear.
> 
> > 
> > Please fix your mail client to word wrap within paragraphs at something
> > substantially less than 80 columns.  Doing this makes your messages much
> > easier to read and reply to.
diff mbox series

Patch

diff --git a/drivers/iio/pressure/st_pressure_spi.c b/drivers/iio/pressure/st_pressure_spi.c
index 9b2523c5bc94..d6fc954e28f8 100644
--- a/drivers/iio/pressure/st_pressure_spi.c
+++ b/drivers/iio/pressure/st_pressure_spi.c
@@ -97,6 +97,10 @@  static const struct spi_device_id st_press_id_table[] = {
 	{ LPS33HW_PRESS_DEV_NAME },
 	{ LPS35HW_PRESS_DEV_NAME },
 	{ LPS22HH_PRESS_DEV_NAME },
+	{ "lps001wp-press" },
+	{ "lps25h-press", },
+	{ "lps331ap-press" },
+	{ "lps22hb-press" },
 	{},
 };
 MODULE_DEVICE_TABLE(spi, st_press_id_table);