]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
leds: dac124s085: Declare SPI command word as __le16
authorStepan Ionichev <sozdayvek@gmail.com>
Sun, 10 May 2026 00:36:32 +0000 (05:36 +0500)
committerLee Jones <lee@kernel.org>
Wed, 17 Jun 2026 10:28:59 +0000 (11:28 +0100)
commitd0316c89636d72a8a6766e82453570f7bd003b21
tree59cff8d21a8f53f8a6cc09094d80f1fc362efbe3
parent2682d6308654850ee4d4f9b3bbe3a31417890594
leds: dac124s085: Declare SPI command word as __le16

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>
Link: https://patch.msgid.link/20260510003632.35942-1-sozdayvek@gmail.com
Signed-off-by: Lee Jones <lee@kernel.org>
drivers/leds/leds-dac124s085.c