* [PATCH] iio: adc: ad_sigma_delta: change to buffer predisable
@ 2025-07-03 21:07 David Lechner
2025-07-04 12:43 ` Nuno Sá
0 siblings, 1 reply; 3+ messages in thread
From: David Lechner @ 2025-07-03 21:07 UTC (permalink / raw)
To: Lars-Peter Clausen, Michael Hennerich, Jonathan Cameron,
Nuno Sá, Andy Shevchenko
Cc: linux-iio, linux-kernel, David Lechner
Change the buffer disable callback from postdisable to predisable.
This balances the existing posteanble callback. Using postdisable
with posteanble can be problematic, for example, if update_scan_mode
fails, it would call postdisable without ever having called posteanble,
so the drivers using this would be in an unexpected state when
postdisable was called.
Fixes: af3008485ea0 ("iio:adc: Add common code for ADI Sigma Delta devices")
Signed-off-by: David Lechner <dlechner@baylibre.com>
---
drivers/iio/adc/ad_sigma_delta.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/iio/adc/ad_sigma_delta.c b/drivers/iio/adc/ad_sigma_delta.c
index 4c5f8d29a559fea7226b84141bcb148fb801f62c..1a2ee7c7f65afc60677af9f3138e59f6476f74c7 100644
--- a/drivers/iio/adc/ad_sigma_delta.c
+++ b/drivers/iio/adc/ad_sigma_delta.c
@@ -520,7 +520,7 @@ static int ad_sd_buffer_postenable(struct iio_dev *indio_dev)
return ret;
}
-static int ad_sd_buffer_postdisable(struct iio_dev *indio_dev)
+static int ad_sd_buffer_predisable(struct iio_dev *indio_dev)
{
struct ad_sigma_delta *sigma_delta = iio_device_get_drvdata(indio_dev);
@@ -644,7 +644,7 @@ static bool ad_sd_validate_scan_mask(struct iio_dev *indio_dev, const unsigned l
static const struct iio_buffer_setup_ops ad_sd_buffer_setup_ops = {
.postenable = &ad_sd_buffer_postenable,
- .postdisable = &ad_sd_buffer_postdisable,
+ .predisable = &ad_sd_buffer_predisable,
.validate_scan_mask = &ad_sd_validate_scan_mask,
};
---
base-commit: 6742eff60460e77158d4f1b233f17e0345c9e66a
change-id: 20250703-iio-adc-ad_sigma_delta-buffer-predisable-d10fc1914092
Best regards,
--
David Lechner <dlechner@baylibre.com>
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] iio: adc: ad_sigma_delta: change to buffer predisable
2025-07-03 21:07 [PATCH] iio: adc: ad_sigma_delta: change to buffer predisable David Lechner
@ 2025-07-04 12:43 ` Nuno Sá
2025-07-06 10:34 ` Jonathan Cameron
0 siblings, 1 reply; 3+ messages in thread
From: Nuno Sá @ 2025-07-04 12:43 UTC (permalink / raw)
To: David Lechner, Lars-Peter Clausen, Michael Hennerich,
Jonathan Cameron, Nuno Sá, Andy Shevchenko
Cc: linux-iio, linux-kernel
On Thu, 2025-07-03 at 16:07 -0500, David Lechner wrote:
> Change the buffer disable callback from postdisable to predisable.
> This balances the existing posteanble callback. Using postdisable
> with posteanble can be problematic, for example, if update_scan_mode
> fails, it would call postdisable without ever having called posteanble,
> so the drivers using this would be in an unexpected state when
> postdisable was called.
>
> Fixes: af3008485ea0 ("iio:adc: Add common code for ADI Sigma Delta devices")
> Signed-off-by: David Lechner <dlechner@baylibre.com>
> ---
Reviewed-by: Nuno Sá <nuno.sa@analog.com>
> drivers/iio/adc/ad_sigma_delta.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/iio/adc/ad_sigma_delta.c
> b/drivers/iio/adc/ad_sigma_delta.c
> index
> 4c5f8d29a559fea7226b84141bcb148fb801f62c..1a2ee7c7f65afc60677af9f3138e59f6476f
> 74c7 100644
> --- a/drivers/iio/adc/ad_sigma_delta.c
> +++ b/drivers/iio/adc/ad_sigma_delta.c
> @@ -520,7 +520,7 @@ static int ad_sd_buffer_postenable(struct iio_dev
> *indio_dev)
> return ret;
> }
>
> -static int ad_sd_buffer_postdisable(struct iio_dev *indio_dev)
> +static int ad_sd_buffer_predisable(struct iio_dev *indio_dev)
> {
> struct ad_sigma_delta *sigma_delta =
> iio_device_get_drvdata(indio_dev);
>
> @@ -644,7 +644,7 @@ static bool ad_sd_validate_scan_mask(struct iio_dev
> *indio_dev, const unsigned l
>
> static const struct iio_buffer_setup_ops ad_sd_buffer_setup_ops = {
> .postenable = &ad_sd_buffer_postenable,
> - .postdisable = &ad_sd_buffer_postdisable,
> + .predisable = &ad_sd_buffer_predisable,
> .validate_scan_mask = &ad_sd_validate_scan_mask,
> };
>
>
> ---
> base-commit: 6742eff60460e77158d4f1b233f17e0345c9e66a
> change-id: 20250703-iio-adc-ad_sigma_delta-buffer-predisable-d10fc1914092
>
> Best regards,
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] iio: adc: ad_sigma_delta: change to buffer predisable
2025-07-04 12:43 ` Nuno Sá
@ 2025-07-06 10:34 ` Jonathan Cameron
0 siblings, 0 replies; 3+ messages in thread
From: Jonathan Cameron @ 2025-07-06 10:34 UTC (permalink / raw)
To: Nuno Sá
Cc: David Lechner, Lars-Peter Clausen, Michael Hennerich,
Nuno Sá, Andy Shevchenko, linux-iio, linux-kernel
On Fri, 04 Jul 2025 13:43:59 +0100
Nuno Sá <noname.nuno@gmail.com> wrote:
> On Thu, 2025-07-03 at 16:07 -0500, David Lechner wrote:
> > Change the buffer disable callback from postdisable to predisable.
> > This balances the existing posteanble callback. Using postdisable
> > with posteanble can be problematic, for example, if update_scan_mode
> > fails, it would call postdisable without ever having called posteanble,
> > so the drivers using this would be in an unexpected state when
> > postdisable was called.
> >
> > Fixes: af3008485ea0 ("iio:adc: Add common code for ADI Sigma Delta devices")
> > Signed-off-by: David Lechner <dlechner@baylibre.com>
> > ---
>
> Reviewed-by: Nuno Sá <nuno.sa@analog.com>
Applied to the fixes-togreg branch of iio.git and marked for stable.
>
> > drivers/iio/adc/ad_sigma_delta.c | 4 ++--
> > 1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/iio/adc/ad_sigma_delta.c
> > b/drivers/iio/adc/ad_sigma_delta.c
> > index
> > 4c5f8d29a559fea7226b84141bcb148fb801f62c..1a2ee7c7f65afc60677af9f3138e59f6476f
> > 74c7 100644
> > --- a/drivers/iio/adc/ad_sigma_delta.c
> > +++ b/drivers/iio/adc/ad_sigma_delta.c
> > @@ -520,7 +520,7 @@ static int ad_sd_buffer_postenable(struct iio_dev
> > *indio_dev)
> > return ret;
> > }
> >
> > -static int ad_sd_buffer_postdisable(struct iio_dev *indio_dev)
> > +static int ad_sd_buffer_predisable(struct iio_dev *indio_dev)
> > {
> > struct ad_sigma_delta *sigma_delta =
> > iio_device_get_drvdata(indio_dev);
> >
> > @@ -644,7 +644,7 @@ static bool ad_sd_validate_scan_mask(struct iio_dev
> > *indio_dev, const unsigned l
> >
> > static const struct iio_buffer_setup_ops ad_sd_buffer_setup_ops = {
> > .postenable = &ad_sd_buffer_postenable,
> > - .postdisable = &ad_sd_buffer_postdisable,
> > + .predisable = &ad_sd_buffer_predisable,
> > .validate_scan_mask = &ad_sd_validate_scan_mask,
> > };
> >
> >
> > ---
> > base-commit: 6742eff60460e77158d4f1b233f17e0345c9e66a
> > change-id: 20250703-iio-adc-ad_sigma_delta-buffer-predisable-d10fc1914092
> >
> > Best regards,
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2025-07-06 10:34 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-07-03 21:07 [PATCH] iio: adc: ad_sigma_delta: change to buffer predisable David Lechner
2025-07-04 12:43 ` Nuno Sá
2025-07-06 10:34 ` Jonathan Cameron
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).