Jiri Slaby 256445
From: Nathan Chancellor <nathan@kernel.org>
Jiri Slaby 256445
Date: Wed, 15 Feb 2023 10:12:12 -0700
Jiri Slaby 256445
Subject: [PATCH] macintosh: windfarm: Use unsigned type for 1-bit bitfields
Jiri Slaby 256445
References: bsc#1012628
Jiri Slaby 256445
Patch-mainline: 6.2.7
Jiri Slaby 256445
Git-commit: 748ea32d2dbd813d3bd958117bde5191182f909a
Jiri Slaby 256445
Jiri Slaby 256445
[ Upstream commit 748ea32d2dbd813d3bd958117bde5191182f909a ]
Jiri Slaby 256445
Jiri Slaby 256445
Clang warns:
Jiri Slaby 256445
Jiri Slaby 256445
  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]
Jiri Slaby 256445
                  lm->inited = 1;
Jiri Slaby 256445
                             ^ ~
Jiri Slaby 256445
Jiri Slaby 256445
  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]
Jiri Slaby 256445
                  pow->fake_volts = 1;
Jiri Slaby 256445
                                  ^ ~
Jiri Slaby 256445
  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]
Jiri Slaby 256445
                  pow->quadratic = 1;
Jiri Slaby 256445
                                 ^ ~
Jiri Slaby 256445
Jiri Slaby 256445
There is no bug here since no code checks the actual value of these
Jiri Slaby 256445
fields, just whether or not they are zero (boolean context), but this
Jiri Slaby 256445
can be easily fixed by switching to an unsigned type.
Jiri Slaby 256445
Jiri Slaby 256445
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
Jiri Slaby 256445
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Jiri Slaby 256445
Link: https://lore.kernel.org/r/20230215-windfarm-wsingle-bit-bitfield-constant-conversion-v1-1-26415072e855@kernel.org
Jiri Slaby 256445
Signed-off-by: Sasha Levin <sashal@kernel.org>
Jiri Slaby 256445
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Jiri Slaby 256445
---
Jiri Slaby 256445
 drivers/macintosh/windfarm_lm75_sensor.c | 4 ++--
Jiri Slaby 256445
 drivers/macintosh/windfarm_smu_sensors.c | 4 ++--
Jiri Slaby 256445
 2 files changed, 4 insertions(+), 4 deletions(-)
Jiri Slaby 256445
Jiri Slaby 256445
diff --git a/drivers/macintosh/windfarm_lm75_sensor.c b/drivers/macintosh/windfarm_lm75_sensor.c
Jiri Slaby 256445
index 24f0a444..9c6febce 100644
Jiri Slaby 256445
--- a/drivers/macintosh/windfarm_lm75_sensor.c
Jiri Slaby 256445
+++ b/drivers/macintosh/windfarm_lm75_sensor.c
Jiri Slaby 256445
@@ -33,8 +33,8 @@
Jiri Slaby 256445
 #endif
Jiri Slaby 256445
 
Jiri Slaby 256445
 struct wf_lm75_sensor {
Jiri Slaby 256445
-	int			ds1775 : 1;
Jiri Slaby 256445
-	int			inited : 1;
Jiri Slaby 256445
+	unsigned int		ds1775 : 1;
Jiri Slaby 256445
+	unsigned int		inited : 1;
Jiri Slaby 256445
 	struct i2c_client	*i2c;
Jiri Slaby 256445
 	struct wf_sensor	sens;
Jiri Slaby 256445
 };
Jiri Slaby 256445
diff --git a/drivers/macintosh/windfarm_smu_sensors.c b/drivers/macintosh/windfarm_smu_sensors.c
Jiri Slaby 256445
index 00c6fe25..2bdb73b3 100644
Jiri Slaby 256445
--- a/drivers/macintosh/windfarm_smu_sensors.c
Jiri Slaby 256445
+++ b/drivers/macintosh/windfarm_smu_sensors.c
Jiri Slaby 256445
@@ -274,8 +274,8 @@ struct smu_cpu_power_sensor {
Jiri Slaby 256445
 	struct list_head	link;
Jiri Slaby 256445
 	struct wf_sensor	*volts;
Jiri Slaby 256445
 	struct wf_sensor	*amps;
Jiri Slaby 256445
-	int			fake_volts : 1;
Jiri Slaby 256445
-	int			quadratic : 1;
Jiri Slaby 256445
+	unsigned int		fake_volts : 1;
Jiri Slaby 256445
+	unsigned int		quadratic : 1;
Jiri Slaby 256445
 	struct wf_sensor	sens;
Jiri Slaby 256445
 };
Jiri Slaby 256445
 #define to_smu_cpu_power(c) container_of(c, struct smu_cpu_power_sensor, sens)
Jiri Slaby 256445
-- 
Jiri Slaby 256445
2.35.3
Jiri Slaby 256445