diff mbox series

iio: st_sensors: relax WhoAmI check in st_sensors_verify_id()

Message ID 20240625082800.62305-1-kauschluss@disroot.org (mailing list archive)
State Accepted
Headers show
Series iio: st_sensors: relax WhoAmI check in st_sensors_verify_id() | expand

Commit Message

Kaustabh Chakraborty June 25, 2024, 8:27 a.m. UTC
Hard matching against the WhoAmI values isn't ideal for using devices
which are compatible with existing ones. Instead of raising an error,
issue a warning instead, thus allowing the driver to continue probing.

Suggested-by: Jonathan Cameron <jic23@kernel.org>
Signed-off-by: Kaustabh Chakraborty <kauschluss@disroot.org>
---
 drivers/iio/common/st_sensors/st_sensors_core.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

Comments

Jonathan Cameron June 29, 2024, 6:44 p.m. UTC | #1
On Tue, 25 Jun 2024 13:57:55 +0530
Kaustabh Chakraborty <kauschluss@disroot.org> wrote:

> Hard matching against the WhoAmI values isn't ideal for using devices
> which are compatible with existing ones. Instead of raising an error,
> issue a warning instead, thus allowing the driver to continue probing.
> 
> Suggested-by: Jonathan Cameron <jic23@kernel.org>
> Signed-off-by: Kaustabh Chakraborty <kauschluss@disroot.org>
LGTM.  I've +CC'd a few more people who might take a look.

In meantime I'll queue it up.

Applied to the togreg branch of iio.git and pushed out as testing for
0-day to take a look and see what we missed.

Thanks,

Jonathan

> ---
>  drivers/iio/common/st_sensors/st_sensors_core.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/drivers/iio/common/st_sensors/st_sensors_core.c b/drivers/iio/common/st_sensors/st_sensors_core.c
> index c77d7bdcc121..c69399ac6657 100644
> --- a/drivers/iio/common/st_sensors/st_sensors_core.c
> +++ b/drivers/iio/common/st_sensors/st_sensors_core.c
> @@ -606,10 +606,9 @@ int st_sensors_verify_id(struct iio_dev *indio_dev)
>  		}
>  
>  		if (sdata->sensor_settings->wai != wai) {
> -			dev_err(&indio_dev->dev,
> +			dev_warn(&indio_dev->dev,
>  				"%s: WhoAmI mismatch (0x%x).\n",
>  				indio_dev->name, wai);
> -			return -EINVAL;
>  		}
>  	}
>
diff mbox series

Patch

diff --git a/drivers/iio/common/st_sensors/st_sensors_core.c b/drivers/iio/common/st_sensors/st_sensors_core.c
index c77d7bdcc121..c69399ac6657 100644
--- a/drivers/iio/common/st_sensors/st_sensors_core.c
+++ b/drivers/iio/common/st_sensors/st_sensors_core.c
@@ -606,10 +606,9 @@  int st_sensors_verify_id(struct iio_dev *indio_dev)
 		}
 
 		if (sdata->sensor_settings->wai != wai) {
-			dev_err(&indio_dev->dev,
+			dev_warn(&indio_dev->dev,
 				"%s: WhoAmI mismatch (0x%x).\n",
 				indio_dev->name, wai);
-			return -EINVAL;
 		}
 	}