From: sashiko-bot@kernel.org
To: "Jun Yan" <jerrysteve1101@gmail.com>
Cc: conor+dt@kernel.org, robh@kernel.org, devicetree@vger.kernel.org,
krzk+dt@kernel.org
Subject: Re: [PATCH v5 5/5] leds: is31f132xx: Fix missing brightness_steps for is31f13236
Date: Fri, 08 May 2026 21:28:26 +0000 [thread overview]
Message-ID: <20260508212827.9F432C2BCB0@smtp.kernel.org> (raw)
In-Reply-To: <20260508131139.1523597-6-jerrysteve1101@gmail.com>
Thank you for your contribution! Sashiko AI review found 3 potential issue(s) to consider:
- [High] The commit being fixed (a18983b95a61) broke the driver's lockless design by introducing multi-register PWM updates.
- [High] The commit being fixed (a18983b95a61) introduced an initialization order regression where hardware is reset after LED class devices are registered, wiping their default states.
- [Low] The commit subject contains typos in both the driver and chip names ('1' instead of 'l').
--
commit 368d92722167efb41b11021742d19656c04d1740
Author: Jun Yan <jerrysteve1101@gmail.com>
leds: is31f132xx: Fix missing brightness_steps for is31f13236
This commit adds the missing brightness_steps configuration for the
is31fl3236 chip to restore proper brightness control.
> leds: is31f132xx: Fix missing brightness_steps for is31f13236
This isn't a bug, but there's a typo in the subject line where the number
'1' is used instead of the letter 'l' in the driver and chip names
(is31f132xx and is31f13236).
> Add missing brightness_steps for is31fl3236 to fix brightness control.
>
> Fixes: a18983b95a61 ("leds: is31f132xx: Add support for is31fl3293")
Since this patch fixes commit a18983b95a61, are there a couple of other
regressions introduced by that commit that also need addressing?
The driver lacks a lock for brightness updates, relying on the assumption
that intervening update register writes from other channels are harmless.
While this was true for older 8-bit chips that use a single PWM write, the
IS31FL3293 requires two writes (LSB and MSB) per brightness update.
If two LED channels update concurrently from different per-LED workqueue
threads, an update register write from one channel could interleave between
the LSB and MSB writes of the other channel.
Could this cause the hardware to latch a torn brightness value?
By swapping the order of is31fl32xx_parse_dt() and is31fl32xx_init_regs()
in the probe function in commit a18983b95a61, the driver now registers the
LED class devices before initializing the hardware.
During registration, the subsystem evaluates properties like default-state
and sets the initial brightness via I2C writes. However, immediately after
device tree parsing, is31fl32xx_init_regs() is invoked and triggers a
hardware reset, which silently wipes out the PWM values applied during
registration.
Does this initialization order wipe out the default states entirely?
[ ... ]
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260508131139.1523597-1-jerrysteve1101@gmail.com?part=5
prev parent reply other threads:[~2026-05-08 21:28 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-08 13:11 [PATCH v5 0/5] leds: Add powerdown gpio for is31fl32xx Jun Yan
2026-05-08 13:11 ` [PATCH v5 1/5] dt-bindings: leds: is31fl32xx: convert the binding to yaml Jun Yan
2026-05-08 20:49 ` sashiko-bot
2026-05-08 13:11 ` [PATCH v5 2/5] dt-bindings: leds: leds-is31fl32xx: add support for is31fl3236a Jun Yan
2026-05-08 13:11 ` [PATCH v5 3/5] dt-bindings: leds: leds-is31fl32xx: Add powerdown-gpios property Jun Yan
2026-05-08 13:11 ` [PATCH v5 4/5] leds: is31fl32xx: Add powerdown pin to exit hardware shutdown mode Jun Yan
2026-05-08 21:15 ` sashiko-bot
2026-05-20 14:12 ` Lee Jones
2026-05-24 15:28 ` Jun Yan
2026-05-08 13:11 ` [PATCH v5 5/5] leds: is31f132xx: Fix missing brightness_steps for is31f13236 Jun Yan
2026-05-08 21:28 ` sashiko-bot [this message]
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=20260508212827.9F432C2BCB0@smtp.kernel.org \
--to=sashiko-bot@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=jerrysteve1101@gmail.com \
--cc=krzk+dt@kernel.org \
--cc=robh@kernel.org \
--cc=sashiko@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.