drivers/leds/leds-dac124s085.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
dac124s085_set_brightness() builds a 16-bit SPI command word:
u16 word;
...
word = cpu_to_le16(((led->id) << 14) | REG_WRITE_UPDATE |
(brightness & 0xfff));
ret = spi_write(led->spi, (const u8 *)&word, sizeof(word));
cpu_to_le16() returns __le16, but the local 'word' is declared as
plain u16, which sparse flags:
drivers/leds/leds-dac124s085.c:42:14: warning: incorrect type in
assignment (different base types)
The bytes that hit the wire are correct because cpu_to_le16() does
the right thing on either endianness, but mixing the annotated and
unannotated types defeats sparse's __bitwise checking and would let
a future reader treat the buffer as a host-endian u16 by mistake.
Declare 'word' as __le16 to match how it is built and consumed.
No functional change.
Signed-off-by: Stepan Ionichev <sozdayvek@gmail.com>
---
drivers/leds/leds-dac124s085.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/leds/leds-dac124s085.c b/drivers/leds/leds-dac124s085.c
index cf5fb1195..192b43333 100644
--- a/drivers/leds/leds-dac124s085.c
+++ b/drivers/leds/leds-dac124s085.c
@@ -35,7 +35,7 @@ static int dac124s085_set_brightness(struct led_classdev *ldev,
{
struct dac124s085_led *led = container_of(ldev, struct dac124s085_led,
ldev);
- u16 word;
+ __le16 word;
int ret;
mutex_lock(&led->mutex);
--
2.43.0
On Sun, 10 May 2026 05:36:32 +0500, Stepan Ionichev wrote:
> dac124s085_set_brightness() builds a 16-bit SPI command word:
>
> u16 word;
> ...
> word = cpu_to_le16(((led->id) << 14) | REG_WRITE_UPDATE |
> (brightness & 0xfff));
> ret = spi_write(led->spi, (const u8 *)&word, sizeof(word));
>
> [...]
Applied, thanks!
[1/1] leds: dac124s085: declare SPI command word as __le16
commit: e2e0784011e65dc2a0f83eed315c534a70ff5b68
--
Lee Jones [李琼斯]
© 2016 - 2026 Red Hat, Inc.