linux-doc.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Andy Shevchenko <andy@kernel.org>
To: Lothar Rubusch <l.rubusch@gmail.com>
Cc: jic23@kernel.org, dlechner@baylibre.com, nuno.sa@analog.com,
	corbet@lwn.net, lucas.p.stankus@gmail.com, lars@metafoo.de,
	Michael.Hennerich@analog.com, linux-iio@vger.kernel.org,
	linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v1 07/12] iio: accel: adxl313: add basic interrupt handling
Date: Mon, 19 May 2025 14:59:15 +0300	[thread overview]
Message-ID: <aCsdEzm0ph_LfkWP@smile.fi.intel.com> (raw)
In-Reply-To: <20250518111321.75226-8-l.rubusch@gmail.com>

On Sun, May 18, 2025 at 11:13:16AM +0000, Lothar Rubusch wrote:
> Prepare the interrupt handler. Add register entries to evaluate the
> incoming interrupt. Add functions to clear status registers and reset the
> FIFO.

...

> +static int adxl313_set_fifo(struct adxl313_data *data)
> +{
> +	unsigned int int_line;
> +	int ret;
> +
> +	ret = adxl313_set_measure_en(data, false);
> +	if (ret)
> +		return ret;
> +
> +	ret = regmap_read(data->regmap, ADXL313_REG_INT_MAP, &int_line);
> +	if (ret)
> +		return ret;
> +
> +	ret = regmap_write(data->regmap, ADXL313_REG_FIFO_CTL,

> +			   FIELD_PREP(ADXL313_REG_FIFO_CTL_MODE_MSK,
> +				      data->fifo_mode));

Better to have these two on one line. It makes it easier to read.

> +	return adxl313_set_measure_en(data, true);
> +}

...

> +static int adxl313_fifo_transfer(struct adxl313_data *data, int samples)
> +{
> +	size_t count;
> +	int i;
> +	int ret;

> +	ret = 0;

Useless. See below.

> +	count = sizeof(data->fifo_buf[0]) * ADXL313_NUM_AXIS;

Perhaps use array_size() from overflow.h?

> +	for (i = 0; i < samples; i++) {
> +		ret = regmap_bulk_read(data->regmap, ADXL313_REG_XYZ_BASE,
> +				       data->fifo_buf + (i * count / 2), count);
> +		if (ret)
> +			return ret;
> +	}

> +	return ret;

Just return 0 here.

> +}

...

> +static irqreturn_t adxl313_irq_handler(int irq, void *p)
> +{
> +	struct iio_dev *indio_dev = p;
> +	struct adxl313_data *data = iio_priv(indio_dev);
> +	int int_stat;
> +
> +	if (regmap_read(data->regmap, ADXL313_REG_INT_SOURCE, &int_stat))
> +		return IRQ_NONE;
> +
> +	if (FIELD_GET(ADXL313_INT_OVERRUN, int_stat))
> +		goto err;
> +
> +	return IRQ_HANDLED;
> +err:
> +	adxl313_fifo_reset(data);
> +
> +	return IRQ_HANDLED;

Why do we need the label? Same can be achieved without it by moving the call
under the conditional.

> +}

-- 
With Best Regards,
Andy Shevchenko



  reply	other threads:[~2025-05-19 11:59 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-05-18 11:13 [PATCH v1 00/12] iio: accel: adxl313: add power-save on activity/inactivity Lothar Rubusch
2025-05-18 11:13 ` [PATCH v1 01/12] iio: accel: adxl313: add debug register Lothar Rubusch
2025-05-18 11:13 ` [PATCH v1 02/12] iio: accel: adxl313: introduce channel scan_index Lothar Rubusch
2025-05-19 10:46   ` Andy Shevchenko
2025-05-18 11:13 ` [PATCH v1 03/12] iio: accel: adxl313: configure scan type for buffer Lothar Rubusch
2025-05-18 11:13 ` [PATCH v1 04/12] iio: accel: adxl313: make use of regmap cache Lothar Rubusch
2025-05-18 11:13 ` [PATCH v1 05/12] iio: accel: adxl313: add function to enable measurement Lothar Rubusch
2025-05-18 11:13 ` [PATCH v1 06/12] iio: accel: adxl313: prepare interrupt handling Lothar Rubusch
2025-05-19 11:48   ` Andy Shevchenko
2025-05-18 11:13 ` [PATCH v1 07/12] iio: accel: adxl313: add basic " Lothar Rubusch
2025-05-19 11:59   ` Andy Shevchenko [this message]
2025-05-18 11:13 ` [PATCH v1 08/12] iio: accel: adxl313: add FIFO watermark Lothar Rubusch
2025-05-18 11:13 ` [PATCH v1 09/12] iio: accel: adxl313: add activity sensing Lothar Rubusch
2025-05-19 12:15   ` Andy Shevchenko
2025-05-18 11:13 ` [PATCH v1 10/12] iio: accel: adxl313: add inactivity sensing Lothar Rubusch
2025-05-19 12:17   ` Andy Shevchenko
2025-05-18 11:13 ` [PATCH v1 11/12] iio: accel: adxl313: implement power-save on inactivity Lothar Rubusch
2025-05-19 12:19   ` Andy Shevchenko
2025-05-18 11:13 ` [PATCH v1 12/12] docs: iio: add ADXL313 accelerometer Lothar Rubusch

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=aCsdEzm0ph_LfkWP@smile.fi.intel.com \
    --to=andy@kernel.org \
    --cc=Michael.Hennerich@analog.com \
    --cc=corbet@lwn.net \
    --cc=dlechner@baylibre.com \
    --cc=jic23@kernel.org \
    --cc=l.rubusch@gmail.com \
    --cc=lars@metafoo.de \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-iio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lucas.p.stankus@gmail.com \
    --cc=nuno.sa@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;
as well as URLs for NNTP newsgroup(s).