mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH v2] iio: proximity: sx9310: report a hysteresis of 0 when it is disabled
@ 2026-10-26 11:20 Arnav Kapoor
  2026-11-02  0:47 ` Jonathan Cameron
  0 siblings, 1 reply; 2+ messages in thread
From: Arnav Kapoor @ 2026-10-26 11:20 UTC (permalink / raw)
  To: Jonathan Cameron
  Cc: David Lechner, Nuno Sá,
	Andy Shevchenko, Andy Shevchenko, Stephen Boyd, linux-iio,
	linux-kernel, Arnav Kapoor

sx9310_read_hysteresis() turns a PROXHYST value of 0 (no hysteresis)
into a shift of 0 and reports the full threshold, which writing back
then usually fails with -EINVAL. Report 0, as sx9324 and sx9360 do.

Fixes: 08f0411c48f2 ("iio: sx9310: Support setting hysteresis values")
Signed-off-by: Arnav Kapoor <kapoorarnav43@gmail.com>
---
Changes in v2:
- Invert the conditional (Andy)

v1: https://lore.kernel.org/all/20261026100041.16018-1-kapoorarnav43@gmail.com/

Compile-tested only (W=1); I don't have SX9310 hardware.

 drivers/iio/proximity/sx9310.c | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/drivers/iio/proximity/sx9310.c b/drivers/iio/proximity/sx9310.c
index 79ba46d8a0aa..dc1b1c3f4776 100644
--- a/drivers/iio/proximity/sx9310.c
+++ b/drivers/iio/proximity/sx9310.c
@@ -446,11 +446,10 @@ static int sx9310_read_hysteresis(struct sx_common_data *data,
 		return ret;
 
 	regval = FIELD_GET(SX9310_REG_PROX_CTRL10_HYST_MASK, regval);
-	if (!regval)
-		regval = 5;
-
-	/* regval is at most 5 */
-	*val = pthresh >> (5 - regval);
+	if (regval)
+		*val = pthresh >> (5 - regval);
+	else
+		*val = 0;
 
 	return IIO_VAL_INT;
 }

base-commit: 2ef6f5c4ee56e90c237c5f7687f09e635f7d30a9
-- 
2.53.0


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH v2] iio: proximity: sx9310: report a hysteresis of 0 when it is disabled
  2026-10-26 11:20 [PATCH v2] iio: proximity: sx9310: report a hysteresis of 0 when it is disabled Arnav Kapoor
@ 2026-11-02  0:47 ` Jonathan Cameron
  0 siblings, 0 replies; 2+ messages in thread
From: Jonathan Cameron @ 2026-11-02  0:47 UTC (permalink / raw)
  To: Arnav Kapoor
  Cc: David Lechner, Nuno Sá,
	Andy Shevchenko, Andy Shevchenko, Stephen Boyd, linux-iio,
	linux-kernel

On Mon, 26 Oct 2026 16:50:49 +0530
Arnav Kapoor <kapoorarnav43@gmail.com> wrote:

> sx9310_read_hysteresis() turns a PROXHYST value of 0 (no hysteresis)
> into a shift of 0 and reports the full threshold, which writing back
> then usually fails with -EINVAL. Report 0, as sx9324 and sx9360 do.
> 
> Fixes: 08f0411c48f2 ("iio: sx9310: Support setting hysteresis values")
> Signed-off-by: Arnav Kapoor <kapoorarnav43@gmail.com>
Seems correct to me, but not massively urgent. So with that in mind
I've queued this one on the testing branch of iio.git.
I've just rebased that on the newly available 7.4-rc1, so will give
it a few days exposure to the bots before pushing out for linux-next.

Thanks,

Jonathan

> ---
> Changes in v2:
> - Invert the conditional (Andy)
> 
> v1: https://lore.kernel.org/all/20261026100041.16018-1-kapoorarnav43@gmail.com/
> 
> Compile-tested only (W=1); I don't have SX9310 hardware.
> 
>  drivers/iio/proximity/sx9310.c | 9 ++++-----
>  1 file changed, 4 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/iio/proximity/sx9310.c b/drivers/iio/proximity/sx9310.c
> index 79ba46d8a0aa..dc1b1c3f4776 100644
> --- a/drivers/iio/proximity/sx9310.c
> +++ b/drivers/iio/proximity/sx9310.c
> @@ -446,11 +446,10 @@ static int sx9310_read_hysteresis(struct sx_common_data *data,
>  		return ret;
>  
>  	regval = FIELD_GET(SX9310_REG_PROX_CTRL10_HYST_MASK, regval);
> -	if (!regval)
> -		regval = 5;
> -
> -	/* regval is at most 5 */
> -	*val = pthresh >> (5 - regval);
> +	if (regval)
> +		*val = pthresh >> (5 - regval);
> +	else
> +		*val = 0;
>  
>  	return IIO_VAL_INT;
>  }
> 
> base-commit: 2ef6f5c4ee56e90c237c5f7687f09e635f7d30a9


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2026-11-02  0:47 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-10-26 11:20 [PATCH v2] iio: proximity: sx9310: report a hysteresis of 0 when it is disabled Arnav Kapoor
2026-11-02  0:47 ` Jonathan Cameron

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®