]> git.baikalelectronics.ru Git - kernel.git/commitdiff
macintosh: windfarm: Use unsigned type for 1-bit bitfields
authorNathan Chancellor <nathan@kernel.org>
Wed, 15 Feb 2023 17:12:12 +0000 (10:12 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 17 Mar 2023 07:50:31 +0000 (08:50 +0100)
[ Upstream commit c2408f1b64cab43e572538063b6467dcb0d5a90b ]

Clang warns:

  drivers/macintosh/windfarm_lm75_sensor.c:63:14: error: implicit truncation from 'int' to a one-bit wide bit-field changes value from 1 to -1 [-Werror,-Wsingle-bit-bitfield-constant-conversion]
                  lm->inited = 1;
                             ^ ~

  drivers/macintosh/windfarm_smu_sensors.c:356:19: error: implicit truncation from 'int' to a one-bit wide bit-field changes value from 1 to -1 [-Werror,-Wsingle-bit-bitfield-constant-conversion]
                  pow->fake_volts = 1;
                                  ^ ~
  drivers/macintosh/windfarm_smu_sensors.c:368:18: error: implicit truncation from 'int' to a one-bit wide bit-field changes value from 1 to -1 [-Werror,-Wsingle-bit-bitfield-constant-conversion]
                  pow->quadratic = 1;
                                 ^ ~

There is no bug here since no code checks the actual value of these
fields, just whether or not they are zero (boolean context), but this
can be easily fixed by switching to an unsigned type.

Signed-off-by: Nathan Chancellor <nathan@kernel.org>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20230215-windfarm-wsingle-bit-bitfield-constant-conversion-v1-1-26415072e855@kernel.org
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/macintosh/windfarm_lm75_sensor.c
drivers/macintosh/windfarm_smu_sensors.c

index 204661c8e918f8b2a62ae52f2cc3c9cb6ad7a851..9dd80837a759a843f20e55de5c3513323d3b527a 100644 (file)
@@ -33,8 +33,8 @@
 #endif
 
 struct wf_lm75_sensor {
-       int                     ds1775 : 1;
-       int                     inited : 1;
+       unsigned int            ds1775 : 1;
+       unsigned int            inited : 1;
        struct i2c_client       *i2c;
        struct wf_sensor        sens;
 };
index 00c6fe25fcba0cd2385803bb75b3a4ff8f41b83b..2bdb73b34d291bfeba75f0dbc71e50438ad979e8 100644 (file)
@@ -274,8 +274,8 @@ struct smu_cpu_power_sensor {
        struct list_head        link;
        struct wf_sensor        *volts;
        struct wf_sensor        *amps;
-       int                     fake_volts : 1;
-       int                     quadratic : 1;
+       unsigned int            fake_volts : 1;
+       unsigned int            quadratic : 1;
        struct wf_sensor        sens;
 };
 #define to_smu_cpu_power(c) container_of(c, struct smu_cpu_power_sensor, sens)