Re: [PATCH v8 6/7] iio: accel: kionix-kx022a: Add a function to retrieve number of bytes in buffer

From: Andy Shevchenko
Date: Thu Aug 24 2023 - 07:59:07 EST


On Wed, Aug 23, 2023 at 11:16:40PM +0200, Mehdi Djait wrote:
> Since Kionix accelerometers use various numbers of bits to report data, a
> device-specific function is required.
> Implement the function as a callback in the device-specific chip_info structure

...

> + int ret, fifo_bytes;
> +
> + ret = regmap_read(data->regmap, KX022A_REG_BUF_STATUS_1, &fifo_bytes);
> + if (ret) {
> + dev_err(data->dev, "Error reading buffer status\n");
> + return ret;
> + }
> +
> + if (fifo_bytes == KX022A_FIFO_FULL_VALUE)
> + return KX022A_FIFO_MAX_BYTES;
> +
> + return fifo_bytes;

This will be called each time ->get_fifo_bytes() called.
Do you expect the fifo_bytes to be changed over times?
Shouldn't we simply cache the value?

...

> + fifo_bytes = data->chip_info->get_fifo_bytes(data);

>

Now this blank line becomes redundant.

> if (fifo_bytes % KX022A_FIFO_SAMPLES_SIZE_BYTES)
> dev_warn(data->dev, "Bad FIFO alignment. Data may be corrupt\n");


--
With Best Regards,
Andy Shevchenko