• Arnd Bergmann's avatar
    HID: asus: fix build warning wiht CONFIG_ASUS_WMI disabled · 3fc202e8
    Arnd Bergmann authored
    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: 3b692c55 ("HID: asus: only support backlight when it's not driven by WMI")
    Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
    Acked-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
    Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
    3fc202e8
hid-asus.c 22.7 KB