From: Stepan Ionichev Date: Sun, 10 May 2026 00:36:32 +0000 (+0500) Subject: leds: dac124s085: Declare SPI command word as __le16 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d0316c89636d72a8a6766e82453570f7bd003b21;p=thirdparty%2Fkernel%2Flinux.git 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 Link: https://patch.msgid.link/20260510003632.35942-1-sozdayvek@gmail.com Signed-off-by: Lee Jones --- diff --git a/drivers/leds/leds-dac124s085.c b/drivers/leds/leds-dac124s085.c index cf5fb1195f87f..192b43333aeef 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);