platform/x86: thinkpad_acpi: Fix bitwise vs. logical warning

A new warning in clang points out a use of bitwise OR with boolean
expressions in this driver:

drivers/platform/x86/thinkpad_acpi.c:9061:11: error: use of bitwise '|' with boolean operands [-Werror,-Wbitwise-instead-of-logical]
        else if ((strlencmp(cmd, "level disengaged") == 0) |
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                                           ||
drivers/platform/x86/thinkpad_acpi.c:9061:11: note: cast one or both operands to int to silence this warning
1 error generated.

This should clearly be a logical OR so change it to fix the warning.

Fixes: fe98a52ce7 ("ACPI: thinkpad-acpi: add sysfs support to fan subdriver")
Link: https://github.com/ClangBuiltLinux/linux/issues/1476
Reported-by: Tor Vic <torvic9@mailbox.org>
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
Link: https://lore.kernel.org/r/20211018182537.2316800-1-nathan@kernel.org
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
This commit is contained in:
Nathan Chancellor 2021-10-18 11:25:37 -07:00 committed by Hans de Goede
parent 33ce79be27
commit fd96e35ea7
1 changed files with 1 additions and 1 deletions

View File

@ -9058,7 +9058,7 @@ static int fan_write_cmd_level(const char *cmd, int *rc)
if (strlencmp(cmd, "level auto") == 0) if (strlencmp(cmd, "level auto") == 0)
level = TP_EC_FAN_AUTO; level = TP_EC_FAN_AUTO;
else if ((strlencmp(cmd, "level disengaged") == 0) | else if ((strlencmp(cmd, "level disengaged") == 0) ||
(strlencmp(cmd, "level full-speed") == 0)) (strlencmp(cmd, "level full-speed") == 0))
level = TP_EC_FAN_FULLSPEED; level = TP_EC_FAN_FULLSPEED;
else if (sscanf(cmd, "level %d", &level) != 1) else if (sscanf(cmd, "level %d", &level) != 1)