• Alexander Lobakin's avatar
    x86/olpc: fix 'logical not is only applied to the left hand side' · 3a2ba42c
    Alexander Lobakin authored
    The bitops compile-time optimization series revealed one more
    problem in olpc-xo1-sci.c:send_ebook_state(), resulted in GCC
    warnings:
    
    arch/x86/platform/olpc/olpc-xo1-sci.c: In function 'send_ebook_state':
    arch/x86/platform/olpc/olpc-xo1-sci.c:83:63: warning: logical not is only applied to the left hand side of comparison [-Wlogical-not-parentheses]
       83 |         if (!!test_bit(SW_TABLET_MODE, ebook_switch_idev->sw) == state)
          |                                                               ^~
    arch/x86/platform/olpc/olpc-xo1-sci.c:83:13: note: add parentheses around left hand side expression to silence this warning
    
    Despite this code working as intended, this redundant double
    negation of boolean value, together with comparing to `char`
    with no explicit conversion to bool, makes compilers think
    the author made some unintentional logical mistakes here.
    Make it the other way around and negate the char instead
    to silence the warnings.
    
    Fixes: d2aa3741 ("x86/olpc/xo1/sci: Produce wakeup events for buttons and switches")
    Cc: stable@vger.kernel.org # 3.5+
    Reported-by: default avatarGuenter Roeck <linux@roeck-us.net>
    Reported-by: default avatarkernel test robot <lkp@intel.com>
    Reviewed-and-tested-by: default avatarGuenter Roeck <linux@roeck-us.net>
    Signed-off-by: default avatarAlexander Lobakin <alexandr.lobakin@intel.com>
    Signed-off-by: default avatarYury Norov <yury.norov@gmail.com>
    3a2ba42c
olpc-xo1-sci.c 14.7 KB