Re: [PATCH v4 05/10] iio: imu: adis16475: Create push single sample API
From: Nuno Sá
Date: Fri May 24 2024 - 06:59:20 EST
On Fri, 2024-05-24 at 12:00 +0300, Ramona Gradinariu wrote:
> Create push single sample API reposnsible for pushing a single
> sample into the buffer.
> This is a preparation patch for FIFO support where more than
> one sample has to be pushed in the trigger handler.
>
> Signed-off-by: Ramona Gradinariu <ramona.bolboaca13@xxxxxxxxx>
> ---
Reviewed-by: Nuno Sa <nuno.sa@xxxxxxxxxx>
> no changes in v4
> drivers/iio/imu/adis16475.c | 12 ++++++++++--
> 1 file changed, 10 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/iio/imu/adis16475.c b/drivers/iio/imu/adis16475.c
> index f9455ecb348c..ab955efdad92 100644
> --- a/drivers/iio/imu/adis16475.c
> +++ b/drivers/iio/imu/adis16475.c
> @@ -1249,9 +1249,8 @@ static void adis16475_burst32_check(struct adis16475 *st)
> }
> }
>
> -static irqreturn_t adis16475_trigger_handler(int irq, void *p)
> +static int adis16475_push_single_sample(struct iio_poll_func *pf)
> {
> - struct iio_poll_func *pf = p;
> struct iio_dev *indio_dev = pf->indio_dev;
> struct adis16475 *st = iio_priv(indio_dev);
> struct adis *adis = &st->adis;
> @@ -1340,6 +1339,15 @@ static irqreturn_t adis16475_trigger_handler(int irq, void
> *p)
> * array.
> */
> adis16475_burst32_check(st);
> + return ret;
> +}
> +
> +static irqreturn_t adis16475_trigger_handler(int irq, void *p)
> +{
> + struct iio_poll_func *pf = p;
> + struct iio_dev *indio_dev = pf->indio_dev;
> +
> + adis16475_push_single_sample(pf);
> iio_trigger_notify_done(indio_dev->trig);
>
> return IRQ_HANDLED;
> --
> 2.34.1
>