HID: asus: fix build warning wiht CONFIG_ASUS_WMI disabled
asus_wmi_evaluate_method() is an empty dummy function when CONFIG_ASUS_WMI
is disabled, or not reachable from a built-in device driver. This leads to
a theoretical evaluation of an uninitialized variable that the compiler
complains about, failing to check that the hardcoded return value makes
this an unreachable code path:
In file included from include/linux/printk.h:336,
from include/linux/kernel.h:14,
from include/linux/list.h:9,
from include/linux/dmi.h:5,
from drivers/hid/hid-asus.c:29:
drivers/hid/hid-asus.c: In function 'asus_input_configured':
include/linux/dynamic_debug.h:135:3: error: 'value' may be used uninitialized in this function [-Werror=maybe-uninitialized]
__dynamic_dev_dbg(&descriptor, dev, fmt, \
^~~~~~~~~~~~~~~~~
drivers/hid/hid-asus.c:359:6: note: 'value' was declared here
u32 value;
^~~~~
With an extra IS_ENABLED() check, the warning goes away.
Fixes: 3b692c55e5
("HID: asus: only support backlight when it's not driven by WMI")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
This commit is contained in:
parent
0c72442095
commit
3fc202e81d
|
@ -359,6 +359,9 @@ static bool asus_kbd_wmi_led_control_present(struct hid_device *hdev)
|
||||||
u32 value;
|
u32 value;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
|
if (!IS_ENABLED(CONFIG_ASUS_WMI))
|
||||||
|
return false;
|
||||||
|
|
||||||
ret = asus_wmi_evaluate_method(ASUS_WMI_METHODID_DSTS2,
|
ret = asus_wmi_evaluate_method(ASUS_WMI_METHODID_DSTS2,
|
||||||
ASUS_WMI_DEVID_KBD_BACKLIGHT, 0, &value);
|
ASUS_WMI_DEVID_KBD_BACKLIGHT, 0, &value);
|
||||||
hid_dbg(hdev, "WMI backlight check: rc %d value %x", ret, value);
|
hid_dbg(hdev, "WMI backlight check: rc %d value %x", ret, value);
|
||||||
|
|
Loading…
Reference in New Issue