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. Signed-off-by: Michael Ellerman <m...@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; } -- 2.43.2