Re: [PATCH 3/3] macintosh/ams: Fix unused variable warning
From: Christophe Leroy <hidden>
Date: 2024-03-06 13:18:54
Subsystem:
linux for power macintosh, the rest · Maintainer:
Linus Torvalds
Le 06/03/2024 à 13:58, Michael Ellerman a écrit :
If both CONFIG_SENSORS_AMS_PMU and CONFIG_SENSORS_AMS_I2C are unset,
there is an unused variable warning in the ams driver:
drivers/macintosh/ams/ams-core.c: In function 'ams_init':
drivers/macintosh/ams/ams-core.c:181:29: warning: unused variable 'np'
181 | struct device_node *np;
Fix it by using IS_ENABLED() to create a block for each case, and move
the variable declartion in there.
Probably the dependencies should be changed so that the driver can't be
built with both variants disabled, but that would be a larger change.Can be done easily that way I think:
diff --git a/drivers/macintosh/Kconfig b/drivers/macintosh/Kconfig
index a0e717a986dc..fb38f684444f 100644
--- a/drivers/macintosh/Kconfig
+++ b/drivers/macintosh/Kconfig@@ -262,7 +262,7 @@ config SENSORS_AMS will be called ams. config SENSORS_AMS_PMU - bool "PMU variant" + bool "PMU variant" if SENSORS_AMS_I2C depends on SENSORS_AMS && ADB_PMU default y help
quoted hunk ↗ jump to hunk
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> --- drivers/macintosh/ams/ams-core.c | 29 ++++++++++++++--------------- 1 file changed, 14 insertions(+), 15 deletions(-)diff --git a/drivers/macintosh/ams/ams-core.c b/drivers/macintosh/ams/ams-core.c index c978b4272daa..22d3e6605287 100644 --- a/drivers/macintosh/ams/ams-core.c +++ b/drivers/macintosh/ams/ams-core.c@@ -178,25 +178,24 @@ int ams_sensor_attach(void) static int __init ams_init(void) { - struct device_node *np; - spin_lock_init(&ams_info.irq_lock); mutex_init(&ams_info.lock); INIT_WORK(&ams_info.worker, ams_worker); -#ifdef CONFIG_SENSORS_AMS_I2C - np = of_find_node_by_name(NULL, "accelerometer"); - if (np && of_device_is_compatible(np, "AAPL,accelerometer_1")) - /* Found I2C motion sensor */ - return ams_i2c_init(np); -#endif - -#ifdef CONFIG_SENSORS_AMS_PMU - np = of_find_node_by_name(NULL, "sms"); - if (np && of_device_is_compatible(np, "sms")) - /* Found PMU motion sensor */ - return ams_pmu_init(np); -#endif + if (IS_ENABLED(CONFIG_SENSORS_AMS_I2C)) { + struct device_node *np = of_find_node_by_name(NULL, "accelerometer"); + if (np && of_device_is_compatible(np, "AAPL,accelerometer_1")) + /* Found I2C motion sensor */ + return ams_i2c_init(np); + } + + if (IS_ENABLED(CONFIG_SENSORS_AMS_PMU)) { + struct device_node *np = of_find_node_by_name(NULL, "sms"); + if (np && of_device_is_compatible(np, "sms")) + /* Found PMU motion sensor */ + return ams_pmu_init(np); + } + return -ENODEV; }