From: sashiko-bot@kernel.org
To: "Chris Morgan" <macroalpha82@gmail.com>
Cc: conor+dt@kernel.org, devicetree@vger.kernel.org, robh@kernel.org
Subject: Re: [PATCH v16 06/10] iio: imu: inv_icm42607: Add PM support for icm42607
Date: Mon, 13 Jul 2026 22:22:09 +0000 [thread overview]
Message-ID: <20260713222209.AA8C31F000E9@smtp.kernel.org> (raw)
In-Reply-To: <20260713215842.69097-7-macroalpha82@gmail.com>
Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [Low] Bypassing explicit platform workaround for 0-delays
- [Low] Incompatible pointer type for enum parameter
--
--- Patch [6]: [PATCH v16 06/10] iio: imu: inv_icm42607: Add PM support for icm42607 ---
commit 2cc6ce210d26cf1a702e03730729ef340784c90f
Author: Chris Morgan <macromorgan@hotmail.com>
iio: imu: inv_icm42607: Add PM support for icm42607
Add power management support for the ICM42607 device driver.
> diff --git a/drivers/iio/imu/inv_icm42607/inv_icm42607_core.c b/drivers/iio/imu/inv_icm42607/inv_icm42607_core.c
> index b90e578c3fb2c..303a6a0b1b21e 100644
> --- a/drivers/iio/imu/inv_icm42607/inv_icm42607_core.c
> +++ b/drivers/iio/imu/inv_icm42607/inv_icm42607_core.c
[ ... ]
> @@ -102,6 +106,90 @@ const struct inv_icm42607_hw inv_icm42607p_hw_data = {
> };
> EXPORT_SYMBOL_NS_GPL(inv_icm42607p_hw_data, "IIO_ICM42607");
>
> +int inv_icm42607_get_pwr_mgmt0(struct inv_icm42607_state *st,
> + enum inv_icm42607_sensor_mode *gyro,
> + enum inv_icm42607_sensor_mode *accel)
> +{
[ ... ]
> +}
> +
> +static int inv_icm42607_set_pwr_mgmt0(struct inv_icm42607_state *st,
> + enum inv_icm42607_sensor_mode gyro,
> + enum inv_icm42607_sensor_mode accel)
> +{
> + unsigned int oldaccel, oldgyro;
> + unsigned int sleepval_us;
> + unsigned int val;
> + s64 disable_wait;
> + int ret;
> +
> + ret = inv_icm42607_get_pwr_mgmt0(st, &oldgyro, &oldaccel);
[Severity: Low]
Will this cause an incompatible pointer type compiler warning or error?
inv_icm42607_get_pwr_mgmt0() expects enum inv_icm42607_sensor_mode pointers,
but oldgyro and oldaccel are declared as unsigned int.
> + if (ret)
> + return ret;
> +
> + if (gyro == oldgyro && accel == oldaccel)
> + return 0;
> +
> + /*
> + * Datasheet on page 14.26 says we need to ensure the gyro sensor is on
> + * for a minimum of 45ms. So if we transition from an on state to an
> + * off state make sure at least 45ms have passed before power off and
> + * wait if it hasn't.
> + */
> + if (!gyro && oldgyro) {
> + disable_wait = ktime_us_delta(st->conf.gyro_stop, ktime_get());
> + disable_wait = clamp(disable_wait,
> + 0, INV_ICM42607_GYRO_STOP_TIME_US);
> + fsleep(disable_wait);
[Severity: Low]
Can disable_wait evaluate to 0 here and cause issues on certain platforms?
The comment later in this function mentions that some platforms have
issues with a 0 delay, but this fsleep() is called unconditionally even if
disable_wait is clamped to 0.
> + }
> +
> + val = FIELD_PREP(INV_ICM42607_PWR_MGMT0_GYRO_MODE_MASK, gyro) |
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260713215842.69097-1-macroalpha82@gmail.com?part=6
next prev parent reply other threads:[~2026-07-13 22:22 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-13 21:58 [PATCH v16 00/10] Add Invensense ICM42607 Chris Morgan
2026-07-13 21:58 ` Chris Morgan
2026-07-13 21:58 ` [PATCH v16 01/10] dt-bindings: iio: imu: icm42600: Add mount-matrix Chris Morgan
2026-07-13 21:58 ` Chris Morgan
2026-07-13 21:58 ` [PATCH v16 02/10] dt-bindings: iio: imu: icm42600: Remove interrupts from required Chris Morgan
2026-07-13 21:58 ` Chris Morgan
2026-07-13 22:08 ` sashiko-bot
2026-07-13 21:58 ` [PATCH v16 03/10] dt-bindings: iio: imu: icm42600: Add icm42607 Chris Morgan
2026-07-13 21:58 ` Chris Morgan
2026-07-13 21:58 ` [PATCH v16 04/10] iio: imu: inv_icm42607: Add inv_icm42607 Core Driver Chris Morgan
2026-07-13 21:58 ` Chris Morgan
2026-07-13 22:18 ` sashiko-bot
2026-07-14 10:56 ` Andy Shevchenko
2026-07-14 10:56 ` Andy Shevchenko
2026-07-14 12:18 ` Uwe Kleine-König
2026-07-14 12:18 ` Uwe Kleine-König
2026-07-13 21:58 ` [PATCH v16 05/10] iio: imu: inv_icm42607: Add SPI For icm42607 Chris Morgan
2026-07-13 21:58 ` Chris Morgan
2026-07-14 11:00 ` Andy Shevchenko
2026-07-14 11:00 ` Andy Shevchenko
2026-07-13 21:58 ` [PATCH v16 06/10] iio: imu: inv_icm42607: Add PM support for icm42607 Chris Morgan
2026-07-13 21:58 ` Chris Morgan
2026-07-13 22:22 ` sashiko-bot [this message]
2026-07-14 11:25 ` Andy Shevchenko
2026-07-14 11:25 ` Andy Shevchenko
2026-07-13 21:58 ` [PATCH v16 07/10] iio: imu: inv_icm42607: Add Accelerometer " Chris Morgan
2026-07-13 21:58 ` Chris Morgan
2026-07-13 22:16 ` sashiko-bot
2026-07-14 11:20 ` Andy Shevchenko
2026-07-14 11:20 ` Andy Shevchenko
2026-07-14 11:21 ` Andy Shevchenko
2026-07-14 11:21 ` Andy Shevchenko
2026-07-13 21:58 ` [PATCH v16 08/10] iio: imu: inv_icm42607: Add Gyroscope to icm42607 Chris Morgan
2026-07-13 21:58 ` Chris Morgan
2026-07-13 21:58 ` [PATCH v16 09/10] iio: imu: inv_icm42607: Add Temp Support in icm42607 Chris Morgan
2026-07-13 21:58 ` Chris Morgan
2026-07-13 22:13 ` sashiko-bot
2026-07-13 21:58 ` [PATCH v16 10/10] arm64: dts: rockchip: Add icm42607p IMU for RG-DS Chris Morgan
2026-07-13 21:58 ` Chris Morgan
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=20260713222209.AA8C31F000E9@smtp.kernel.org \
--to=sashiko-bot@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=macroalpha82@gmail.com \
--cc=robh@kernel.org \
--cc=sashiko-reviews@lists.linux.dev \
/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.