pwm: raspberrypi-poe: Fix endianness in firmware struct
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Fri, 8 Apr 2022 15:38:46 +0000 (17:38 +0200)
committerThierry Reding <thierry.reding@gmail.com>
Fri, 22 Apr 2022 16:50:51 +0000 (18:50 +0200)
The reg member of struct raspberrypi_pwm_prop is a little endian 32 bit
quantity. Explicitly convert the (native endian) value to little endian
on assignment as is already done in raspberrypi_pwm_set_property().

This fixes the following sparse warning:

drivers/pwm/pwm-raspberrypi-poe.c:69:24: warning: incorrect type in initializer (different base types)
drivers/pwm/pwm-raspberrypi-poe.c:69:24:    expected restricted __le32 [usertype] reg
drivers/pwm/pwm-raspberrypi-poe.c:69:24:    got unsigned int [usertype] reg

Fixes: 79caa362eab6 ("pwm: Add Raspberry Pi Firmware based PWM bus")
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
drivers/pwm/pwm-raspberrypi-poe.c

index e52e29f..6ff7302 100644 (file)
@@ -66,7 +66,7 @@ static int raspberrypi_pwm_get_property(struct rpi_firmware *firmware,
                                        u32 reg, u32 *val)
 {
        struct raspberrypi_pwm_prop msg = {
-               .reg = reg
+               .reg = cpu_to_le32(reg),
        };
        int ret;