From: "Nuno Sá" <noname.nuno@gmail.com>
To: Jonathan Cameron <jic23@kernel.org>
Cc: Olivier MOYSAN <olivier.moysan@foss.st.com>,
Nuno Sa <nuno.sa@analog.com>,
Lars-Peter Clausen <lars@metafoo.de>,
linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 2/8] iio: add enable and disable services to iio backend framework
Date: Mon, 24 Jun 2024 10:13:05 +0200 [thread overview]
Message-ID: <24eda02c59eb8a7c2d167af358364152a93b3440.camel@gmail.com> (raw)
In-Reply-To: <20240623145614.1639d5a4@jic23-huawei>
On Sun, 2024-06-23 at 14:56 +0100, Jonathan Cameron wrote:
> On Thu, 20 Jun 2024 12:07:47 +0200
> Nuno Sá <noname.nuno@gmail.com> wrote:
>
> > On Wed, 2024-06-19 at 17:59 +0200, Olivier MOYSAN wrote:
> > > Hi Nuno,
> > >
> > > On 6/19/24 07:21, Nuno Sá wrote:
> > > > On Tue, 2024-06-18 at 18:08 +0200, Olivier Moysan wrote:
> > > > > Add iio_backend_disable() and iio_backend_enable() APIs to allow
> > > > > IIO backend consumer to request backend disabling and enabling.
> > > > >
> > > > > Signed-off-by: Olivier Moysan <olivier.moysan@foss.st.com>
> > > > > ---
> > > >
> > > > Hi Olivier,
> > > >
> > > > small notes from me...
> > > >
> > > > > drivers/iio/industrialio-backend.c | 26 ++++++++++++++++++++++++++
> > > > > include/linux/iio/backend.h | 2 ++
> > > > > 2 files changed, 28 insertions(+)
> > > > >
> > > > > diff --git a/drivers/iio/industrialio-backend.c
> > > > > b/drivers/iio/industrialio-
> > > > > backend.c
> > > > > index b950e30018ca..d3db048c086b 100644
> > > > > --- a/drivers/iio/industrialio-backend.c
> > > > > +++ b/drivers/iio/industrialio-backend.c
> > > > > @@ -166,6 +166,32 @@ int devm_iio_backend_enable(struct device *dev,
> > > > > struct
> > > > > iio_backend *back)
> > > > > }
> > > > > EXPORT_SYMBOL_NS_GPL(devm_iio_backend_enable, IIO_BACKEND);
> > > > >
> > > > > +/**
> > > > > + * iio_backend_enable - Backend enable
> > > > > + * @dev: Consumer device for the backend
> > > > > + * @back: Backend device
> > > > > + *
> > > > > + * RETURNS:
> > > > > + * 0 on success, negative error number on failure.
> > > > > + */
> > > > > +int iio_backend_enable(struct device *dev, struct iio_backend *back)
> > > > > +{
> > > > > + return iio_backend_op_call(back, enable);
> > > > > +}
> > > > > +EXPORT_SYMBOL_NS_GPL(iio_backend_enable, IIO_BACKEND);
> > > >
> > > > We do already have devm_iio_backend_enable(). From a correctness stand point
> > > > and even
> > > > scalability, that API should now call your new iio_backend_enable() instead
> > > > of
> > > > directly call iio_backend_op_call(). I guess that change could be in this
> > > > patch.
> > > >
> > >
> > > Sure. I have updated the patch.
> > >
> > > > > +
> > > > > +/**
> > > > > + * iio_backend_disable - Backend disable
> > > > > + * @dev: Consumer device for the backend
> > > > > + * @back: Backend device
> > > > > + *
> > > > > + */
> > > > > +void iio_backend_disable(struct device *dev, struct iio_backend *back)
> > > > > +{
> > > > > + iio_backend_void_op_call(back, disable);
> > > > > +}
> > > > > +EXPORT_SYMBOL_NS_GPL(iio_backend_disable, IIO_BACKEND);
> > > > > +
> > > >
> > > > We also have __iio_backend_disable() which is static since all users were
> > > > using
> > > > devm_iio_backend_enable(). I understand that's not suitable for you but I
> > > > would
> > > > instead rename the existing function to iio_backend_disable() and export it.
> > > >
> > >
> > > Just renaming is not sufficient. The reason is that
> > > devm_add_action_or_reset() require an action with action(void *)
> > > prototype. So the prototype of iio_backend_disable() has to be changed
> > > to void iio_backend_disable(void *back).
> > > I placed the same arguments in enable and disable for symmetry, but *dev
> > > is not required for time being in disable API. So it can make sense to
> > > change iio_backend_disable() prototype.
> > > alternatively, we can call __iio_backend_disable() through this API.
> > > Please, let me know is you have a preference.
> > >
> >
> > Oh, yes, you're right. I would prefer your later option. Call
> > __iio_backend_disable() from __iio_backend_disable() with a proper typed
> ? That looks like an infinite loop :)
Ahaha, yes it looks. But hopefully you got what I really meant :)
- Nuno Sá
>
next prev parent reply other threads:[~2024-06-24 8:13 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-18 16:08 [PATCH 0/8] iio: adc: dfsdm: add scaling support Olivier Moysan
2024-06-18 16:08 ` [PATCH 1/8] iio: add read raw service to iio backend framework Olivier Moysan
2024-06-19 5:25 ` Nuno Sá
2024-06-18 16:08 ` [PATCH 2/8] iio: add enable and disable services " Olivier Moysan
2024-06-19 5:21 ` Nuno Sá
2024-06-19 15:59 ` Olivier MOYSAN
2024-06-20 10:07 ` Nuno Sá
2024-06-23 13:56 ` Jonathan Cameron
2024-06-24 8:13 ` Nuno Sá [this message]
2024-06-18 16:08 ` [PATCH 3/8] iio: add child nodes support in " Olivier Moysan
2024-06-19 5:31 ` Nuno Sá
2024-06-19 16:00 ` Olivier MOYSAN
2024-06-23 13:59 ` Jonathan Cameron
2024-06-18 16:08 ` [PATCH 4/8] dt-bindings: iio: dfsdm: move to " Olivier Moysan
2024-06-18 18:10 ` Conor Dooley
2024-06-20 8:03 ` Olivier MOYSAN
2024-06-20 8:51 ` Conor Dooley
2024-06-23 15:01 ` Jonathan Cameron
2024-06-18 16:08 ` [PATCH 5/8] dt-bindings: iio: add sigma delta modulator backend Olivier Moysan
2024-06-18 18:13 ` Conor Dooley
2024-06-25 9:26 ` Olivier MOYSAN
2024-06-18 16:08 ` [PATCH 6/8] iio: adc: stm32-dfsdm: adopt generic channels bindings Olivier Moysan
2024-06-23 15:01 ` Jonathan Cameron
2024-06-18 16:08 ` [PATCH 7/8] iio: add sd modulator generic iio backend Olivier Moysan
2024-06-23 15:11 ` Jonathan Cameron
2024-06-24 12:43 ` Olivier MOYSAN
2024-06-24 15:22 ` Nuno Sá
2024-06-24 16:26 ` Olivier MOYSAN
2024-06-25 12:14 ` Nuno Sá
2024-06-24 17:41 ` Jonathan Cameron
2024-06-18 16:08 ` [PATCH 8/8] iio: adc: stm32-dfsdm: add scaling support to dfsdm Olivier Moysan
2024-06-19 5:47 ` Nuno Sá
2024-06-20 14:15 ` Olivier MOYSAN
2024-06-23 15:21 ` Jonathan Cameron
2024-06-25 9:39 ` Olivier MOYSAN
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=24eda02c59eb8a7c2d167af358364152a93b3440.camel@gmail.com \
--to=noname.nuno@gmail.com \
--cc=jic23@kernel.org \
--cc=lars@metafoo.de \
--cc=linux-iio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=nuno.sa@analog.com \
--cc=olivier.moysan@foss.st.com \
/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.