From: Jonathan Santos <jonath4nns@gmail.com>
To: Jonathan Cameron <jic23@kernel.org>
Cc: Jonathan Santos <Jonathan.Santos@analog.com>,
linux-iio@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org,
Sergiu Cuciurean <sergiu.cuciurean@analog.com>,
lars@metafoo.de, Michael.Hennerich@analog.com, robh@kernel.org,
krzk+dt@kernel.org, conor+dt@kernel.org,
marcelo.schmitt1@gmail.com
Subject: Re: [PATCH v1 09/15] iio: adc: ad7768-1: Move buffer allocation to a separate function
Date: Mon, 13 Jan 2025 22:14:33 -0300 [thread overview]
Message-ID: <Z4W6eVn1+HMqISxK@JSANTO12-L01.ad.analog.com> (raw)
In-Reply-To: <20250112124056.4c933181@jic23-huawei>
On 01/12, Jonathan Cameron wrote:
> On Tue, 7 Jan 2025 12:26:05 -0300
> Jonathan Santos <Jonathan.Santos@analog.com> wrote:
>
> > From: Sergiu Cuciurean <sergiu.cuciurean@analog.com>
> >
> > This change moves the buffer allocation in a separate function, making
> > space for adding another type of iio buffer if needed.
> >
> > Signed-off-by: Sergiu Cuciurean <sergiu.cuciurean@analog.com>
> > ---
> > drivers/iio/adc/ad7768-1.c | 64 ++++++++++++++++++++++----------------
> > 1 file changed, 37 insertions(+), 27 deletions(-)
> >
> > diff --git a/drivers/iio/adc/ad7768-1.c b/drivers/iio/adc/ad7768-1.c
> > index cd1b08053105..eaa9a12737ac 100644
> > --- a/drivers/iio/adc/ad7768-1.c
> > +++ b/drivers/iio/adc/ad7768-1.c
> > @@ -163,6 +163,7 @@ struct ad7768_state {
> > struct iio_trigger *trig;
> > struct gpio_desc *gpio_sync_in;
> > struct gpio_desc *gpio_reset;
> > + int irq;
> > const char *labels[ARRAY_SIZE(ad7768_channels)];
> > /*
> > * DMA (thus cache coherency maintenance) may require the
> > @@ -569,6 +570,40 @@ static int ad7768_set_channel_label(struct iio_dev *indio_dev,
> > return 0;
> > }
> >
> > +static int ad7768_triggered_buffer_alloc(struct iio_dev *indio_dev)
> > +{
> > + struct ad7768_state *st = iio_priv(indio_dev);
> > + int ret;
> > +
> > + st->trig = devm_iio_trigger_alloc(indio_dev->dev.parent, "%s-dev%d",
> > + indio_dev->name,
> > + iio_device_id(indio_dev));
> > + if (!st->trig)
> > + return -ENOMEM;
> > +
> > + st->trig->ops = &ad7768_trigger_ops;
> > + iio_trigger_set_drvdata(st->trig, indio_dev);
> > + ret = devm_iio_trigger_register(indio_dev->dev.parent, st->trig);
> > + if (ret)
> > + return ret;
> > +
> > + indio_dev->trig = iio_trigger_get(st->trig);
> > +
> > + init_completion(&st->completion);
> > +
> > + ret = devm_request_irq(indio_dev->dev.parent, st->irq,
> > + &ad7768_interrupt,
> > + IRQF_TRIGGER_RISING | IRQF_ONESHOT,
> > + indio_dev->name, indio_dev);
> > + if (ret)
>
> As with the completion, the interrupt is not just for triggered buffer use
> either, so probably doesn't belong in this function. Again, not
> a bug to do so, but hurts readability a little.
>
OK, i see it now. I will make the modifcations.
> > + return ret;
> > +
> > + return devm_iio_triggered_buffer_setup(indio_dev->dev.parent, indio_dev,
> > + &iio_pollfunc_store_time,
> > + &ad7768_trigger_handler,
> > + &ad7768_buffer_ops);
> > +}
> > +
> > static int ad7768_probe(struct spi_device *spi)
> > {
> > struct ad7768_state *st;
> > @@ -610,6 +645,7 @@ static int ad7768_probe(struct spi_device *spi)
> > return PTR_ERR(st->mclk);
> >
> > st->mclk_freq = clk_get_rate(st->mclk);
> > + st->irq = spi->irq;
> >
> > mutex_init(&st->lock);
> >
> > @@ -625,37 +661,11 @@ static int ad7768_probe(struct spi_device *spi)
> > return ret;
> > }
> >
> > - st->trig = devm_iio_trigger_alloc(&spi->dev, "%s-dev%d",
> > - indio_dev->name,
> > - iio_device_id(indio_dev));
> > - if (!st->trig)
> > - return -ENOMEM;
> > -
> > - st->trig->ops = &ad7768_trigger_ops;
> > - iio_trigger_set_drvdata(st->trig, indio_dev);
> > - ret = devm_iio_trigger_register(&spi->dev, st->trig);
> > - if (ret)
> > - return ret;
> > -
> > - indio_dev->trig = iio_trigger_get(st->trig);
> > -
> > - init_completion(&st->completion);
> > -
> > ret = ad7768_set_channel_label(indio_dev, ARRAY_SIZE(ad7768_channels));
> > if (ret)
> > return ret;
> >
> > - ret = devm_request_irq(&spi->dev, spi->irq,
> > - &ad7768_interrupt,
> > - IRQF_TRIGGER_RISING | IRQF_ONESHOT,
> > - indio_dev->name, indio_dev);
> > - if (ret)
> > - return ret;
> > -
> > - ret = devm_iio_triggered_buffer_setup(&spi->dev, indio_dev,
> > - &iio_pollfunc_store_time,
> > - &ad7768_trigger_handler,
> > - &ad7768_buffer_ops);
> > + ret = ad7768_triggered_buffer_alloc(indio_dev);
> > if (ret)
> > return ret;
> >
>
next prev parent reply other threads:[~2025-01-14 1:14 UTC|newest]
Thread overview: 77+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-01-07 15:23 [PATCH v1 00/15] iio: adc: ad7768-1: Add features, improvements, and fixes Jonathan Santos
2025-01-07 15:24 ` [PATCH v1 01/15] dt-bindings: iio: adc: ad7768-1: add synchronization over SPI property Jonathan Santos
2025-01-07 23:35 ` David Lechner
2025-01-11 22:34 ` Jonathan Santos
2025-01-12 12:12 ` Jonathan Cameron
2025-01-14 0:18 ` Jonathan Santos
2025-01-14 16:05 ` David Lechner
2025-01-18 11:58 ` Jonathan Cameron
2025-01-12 17:14 ` David Lechner
2025-01-10 21:51 ` Marcelo Schmitt
2025-01-12 12:05 ` Jonathan Cameron
2025-01-14 0:41 ` Jonathan Santos
2025-01-18 12:00 ` Jonathan Cameron
2025-01-07 15:24 ` [PATCH v1 02/15] Documentation: ABI: add wideband filter type to sysfs-bus-iio Jonathan Santos
2025-01-07 23:38 ` David Lechner
2025-01-11 22:50 ` Jonathan Santos
2025-01-12 12:16 ` Jonathan Cameron
2025-01-14 0:44 ` Jonathan Santos
2025-01-12 17:39 ` David Lechner
2025-01-12 17:41 ` David Lechner
2025-01-07 15:24 ` [PATCH v1 03/15] Documentation: ABI: testing: ad7768-1: Add device specific ABI documentation Jonathan Santos
2025-01-07 23:38 ` David Lechner
2025-01-11 23:22 ` Jonathan Santos
2025-01-12 12:20 ` Jonathan Cameron
2025-01-12 13:10 ` Jonathan Cameron
2025-01-14 1:06 ` Jonathan Santos
2025-01-07 15:25 ` [PATCH v1 04/15] iio: adc: ad7768-1: Fix conversion result sign Jonathan Santos
2025-01-07 23:39 ` David Lechner
2025-01-10 21:52 ` Marcelo Schmitt
2025-01-12 0:00 ` Jonathan Santos
2025-01-12 12:22 ` Jonathan Cameron
2025-01-07 15:25 ` [PATCH v1 05/15] iio: adc: ad7768-1: set MOSI idle state to high Jonathan Santos
2025-01-07 23:40 ` David Lechner
2025-01-10 21:56 ` Marcelo Schmitt
2025-01-12 12:30 ` Jonathan Cameron
2025-01-13 12:19 ` Marcelo Schmitt
2025-01-18 12:09 ` Jonathan Cameron
2025-01-18 13:17 ` Marcelo Schmitt
2025-01-07 15:25 ` [PATCH v1 06/15] iio: adc: ad7768-1: Update reg_read function Jonathan Santos
2025-01-10 21:57 ` Marcelo Schmitt
2025-01-07 15:25 ` [PATCH v1 07/15] iio: adc: ad7768-1: Add reset gpio Jonathan Santos
2025-01-07 23:40 ` David Lechner
2025-01-12 12:35 ` Jonathan Cameron
2025-01-07 15:25 ` [PATCH v1 08/15] iio: adc: ad7768-1: use guard(mutex) to simplify code Jonathan Santos
2025-01-07 23:42 ` David Lechner
2025-01-12 0:26 ` Jonathan Santos
2025-01-07 15:26 ` [PATCH v1 09/15] iio: adc: ad7768-1: Move buffer allocation to a separate function Jonathan Santos
2025-01-10 22:01 ` Marcelo Schmitt
2025-01-12 12:39 ` Jonathan Cameron
2025-01-12 12:40 ` Jonathan Cameron
2025-01-14 1:14 ` Jonathan Santos [this message]
2025-01-07 15:26 ` [PATCH v1 10/15] iio: adc: ad7768-1: Add support for variable VCM Jonathan Santos
2025-01-07 23:46 ` David Lechner
2025-01-12 2:37 ` Jonathan Santos
2025-01-12 12:45 ` Jonathan Cameron
2025-01-07 15:26 ` [PATCH v1 11/15] iio: adc: ad7768-1: Add reg_write_masked function Jonathan Santos
2025-01-07 23:46 ` David Lechner
2025-01-10 22:34 ` Marcelo Schmitt
2025-01-12 2:42 ` Jonathan Santos
2025-01-07 15:26 ` [PATCH v1 12/15] iio: adc: ad7768-1: Add GPIO controller support Jonathan Santos
2025-01-07 23:48 ` David Lechner
2025-01-07 15:26 ` [PATCH v1 13/15] iio: adc: ad7768-1: add multiple scan types to support 16-bits mode Jonathan Santos
2025-01-07 23:49 ` David Lechner
2025-01-12 3:21 ` Jonathan Santos
2025-01-12 12:50 ` Jonathan Cameron
2025-01-12 17:51 ` David Lechner
2025-01-07 15:27 ` [PATCH v1 14/15] iio: adc: ad7768-1: add support for Synchronization over SPI Jonathan Santos
2025-01-07 23:50 ` David Lechner
2025-01-12 12:59 ` Jonathan Cameron
2025-01-14 1:27 ` Jonathan Santos
2025-01-07 15:27 ` [PATCH v1 15/15] iio: adc: ad7768-1: add filter type and decimation rate attributes Jonathan Santos
2025-01-07 23:50 ` David Lechner
2025-01-12 13:04 ` Jonathan Cameron
2025-01-14 1:39 ` Jonathan Santos
2025-01-10 22:32 ` Marcelo Schmitt
2025-01-07 23:33 ` [PATCH v1 00/15] iio: adc: ad7768-1: Add features, improvements, and fixes David Lechner
2025-01-11 21:56 ` Jonathan Santos
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=Z4W6eVn1+HMqISxK@JSANTO12-L01.ad.analog.com \
--to=jonath4nns@gmail.com \
--cc=20250112124056.4c933181@jic23-huawei \
--cc=Jonathan.Santos@analog.com \
--cc=Michael.Hennerich@analog.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=jic23@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=lars@metafoo.de \
--cc=linux-iio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=marcelo.schmitt1@gmail.com \
--cc=robh@kernel.org \
--cc=sergiu.cuciurean@analog.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox