From: Andy Shevchenko <andriy.shevchenko@intel.com>
To: remi.buisson@tdk.com
Cc: "Jonathan Cameron" <jic23@kernel.org>,
"David Lechner" <dlechner@baylibre.com>,
"Nuno Sá" <nuno.sa@analog.com>,
"Andy Shevchenko" <andy@kernel.org>,
"Rob Herring" <robh@kernel.org>,
"Krzysztof Kozlowski" <krzk+dt@kernel.org>,
"Conor Dooley" <conor+dt@kernel.org>,
linux-kernel@vger.kernel.org, linux-iio@vger.kernel.org,
devicetree@vger.kernel.org
Subject: Re: [PATCH v2 2/8] iio: imu: inv_icm45600: add new inv_icm45600 driver
Date: Thu, 10 Jul 2025 12:29:51 +0300 [thread overview]
Message-ID: <aG-ID7O3HgVc1EOX@smile.fi.intel.com> (raw)
In-Reply-To: <20250710-add_newport_driver-v2-2-bf76d8142ef2@tdk.com>
On Thu, Jul 10, 2025 at 08:57:57AM +0000, Remi Buisson via B4 Relay wrote:
> From: Remi Buisson <remi.buisson@tdk.com>
>
> Core component of a new driver for InvenSense ICM-45600 devices.
> It includes registers definition, main probe/setup, and device
> utility functions.
>
> ICM-456xx devices are latest generation of 6-axis IMU,
> gyroscope+accelerometer and temperature sensor. This device
> includes a 8K FIFO, supports I2C/I3C/SPI, and provides
> intelligent motion features like pedometer, tilt detection,
> and tap detection.
...
> + INV_ICM45600_SENSOR_MODE_NB
What does the _NB stand for? Number of Bullets?
...
> +struct inv_icm45600_sensor_conf {
> + int mode;
> + int fs;
> + int odr;
> + int filter;
Any of them can hold negative value?
> +};
...
> +#define INV_ICM45600_SENSOR_CONF_INIT {-1, -1, -1, -1}
Unused.
> +#include <linux/bitfield.h>
> +#include <linux/delay.h>
> +#include <linux/device.h>
> +#include <linux/err.h>
> +#include <linux/iio/iio.h>
> +#include <linux/interrupt.h>
> +#include <linux/irq.h>
> +#include <linux/module.h>
> +#include <linux/mutex.h>
> +#include <linux/pm_runtime.h>
> +#include <linux/property.h>
> +#include <linux/regmap.h>
> +#include <linux/regulator/consumer.h>
> +#include <linux/types.h>
...
> +static int inv_icm45600_ireg_read(struct regmap *map, unsigned int reg,
> + u8 *data, size_t count)
> +{
> + int ret;
> + u8 addr[2];
> + ssize_t i;
> + unsigned int d;
> +
> + addr[0] = FIELD_GET(INV_ICM45600_REG_BANK_MASK, reg);
> + addr[1] = FIELD_GET(INV_ICM45600_REG_ADDR_MASK, reg);
> +
> + /* Burst write address. */
> + ret = regmap_bulk_write(map, INV_ICM45600_REG_IREG_ADDR, addr, 2);
sizeof()?
> + udelay(INV_ICM45600_IREG_DELAY_US);
See below. This is also weird.
> + if (ret)
> + return ret;
> +
> + /* Read the data. */
> + for (i = 0; i < count; i++) {
> + ret = regmap_read(map, INV_ICM45600_REG_IREG_DATA, &d);
> + data[i] = d;
> + udelay(INV_ICM45600_IREG_DELAY_US);
Can fsleep() be used here?
> + if (ret)
> + return ret;
This is weird. First you assign a garbage to the output, delay and return
an error. It seems entire code is broken...
Please, fix all these and try again, I stop my review here.
> + }
> +
> + return 0;
> +}
--
With Best Regards,
Andy Shevchenko
next prev parent reply other threads:[~2025-07-10 9:29 UTC|newest]
Thread overview: 55+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-10 8:57 [PATCH v2 0/8] iio: imu: new inv_icm45600 driver Remi Buisson
2025-07-10 8:57 ` Remi Buisson via B4 Relay
2025-07-10 8:57 ` [PATCH v2 1/8] dt-bindings: iio: imu: Add inv_icm45600 Remi Buisson
2025-07-10 8:57 ` Remi Buisson via B4 Relay
2025-07-10 22:41 ` Rob Herring
2025-07-11 11:40 ` Remi Buisson
2025-07-14 5:38 ` Krzysztof Kozlowski
2025-07-15 8:35 ` Remi Buisson
2025-07-15 12:16 ` Krzysztof Kozlowski
2025-07-16 14:31 ` Remi Buisson
2025-08-19 10:19 ` Remi Buisson
[not found] ` <FR2PPF4571F02BC2C08BFD80F57AC4F45AA8C30A@FR2PPF4571F02BC.DEUP281.PROD.OUTLOOK.COM>
2025-08-19 14:28 ` Krzysztof Kozlowski
2025-08-19 14:53 ` Remi Buisson
2025-07-10 8:57 ` [PATCH v2 2/8] iio: imu: inv_icm45600: add new inv_icm45600 driver Remi Buisson
2025-07-10 8:57 ` Remi Buisson via B4 Relay
2025-07-10 9:29 ` Andy Shevchenko [this message]
2025-07-11 11:39 ` Remi Buisson
[not found] ` <FR2PPF4571F02BC5366477EC02E9C44041A8C4BA@FR2PPF4571F02BC.DEUP281.PROD.OUTLOOK.COM>
2025-07-11 11:55 ` Andy Shevchenko
2025-07-15 9:11 ` Remi Buisson
2025-07-15 10:42 ` Andy Shevchenko
2025-07-15 15:26 ` Remi Buisson
2025-07-16 9:25 ` Andy Shevchenko
2025-07-11 2:58 ` kernel test robot
2025-07-13 16:00 ` Jonathan Cameron
2025-07-15 9:33 ` Remi Buisson
2025-07-10 8:57 ` [PATCH v2 3/8] iio: imu: inv_icm45600: add buffer support in iio devices Remi Buisson
2025-07-10 8:57 ` Remi Buisson via B4 Relay
2025-07-17 14:33 ` Jonathan Cameron
2025-08-11 14:13 ` Remi Buisson
2025-08-16 11:17 ` Jonathan Cameron
2025-08-20 13:34 ` Remi Buisson
2025-07-10 8:57 ` [PATCH v2 4/8] iio: imu: inv_icm45600: add IMU IIO devices Remi Buisson
2025-07-10 8:57 ` Remi Buisson via B4 Relay
2025-07-17 14:47 ` Jonathan Cameron
2025-08-11 14:56 ` Remi Buisson
2025-07-10 8:58 ` [PATCH v2 5/8] iio: imu: inv_icm45600: add I2C driver for inv_icm45600 driver Remi Buisson
2025-07-10 8:58 ` Remi Buisson via B4 Relay
2025-07-11 7:24 ` kernel test robot
2025-07-14 20:21 ` Dan Carpenter
2025-07-15 8:09 ` Andy Shevchenko
2025-07-15 9:17 ` Remi Buisson
2025-07-10 8:58 ` [PATCH v2 6/8] iio: imu: inv_icm45600: add SPI " Remi Buisson
2025-07-10 8:58 ` Remi Buisson via B4 Relay
2025-07-11 4:55 ` kernel test robot
2025-07-11 6:09 ` Andy Shevchenko
2025-07-15 9:18 ` Remi Buisson
2025-07-10 8:58 ` [PATCH v2 7/8] iio: imu: inv_icm45600: add I3C " Remi Buisson
2025-07-10 8:58 ` Remi Buisson via B4 Relay
2025-07-14 12:56 ` Sean Nyekjaer
2025-07-15 8:48 ` Remi Buisson
2025-07-10 8:58 ` [PATCH v2 8/8] MAINTAINERS: add entry for inv_icm45600 6-axis imu sensor Remi Buisson
2025-07-10 8:58 ` Remi Buisson via B4 Relay
2025-07-14 12:06 ` [PATCH v2 0/8] iio: imu: new inv_icm45600 driver Sean Nyekjaer
2025-07-15 9:03 ` Remi Buisson
2025-07-15 9:18 ` Sean Nyekjaer
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=aG-ID7O3HgVc1EOX@smile.fi.intel.com \
--to=andriy.shevchenko@intel.com \
--cc=andy@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=dlechner@baylibre.com \
--cc=jic23@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=linux-iio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=nuno.sa@analog.com \
--cc=remi.buisson@tdk.com \
--cc=robh@kernel.org \
/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.