• Nathan Chancellor's avatar
    mmc: sdhci-of-dwcmshc: Use logical OR instead of bitwise OR in dwcmshc_probe() · e18a3866
    Nathan Chancellor authored
    Clang warns (or errors with CONFIG_WERROR=y):
    
      drivers/mmc/host/sdhci-of-dwcmshc.c:873:7: error: use of bitwise '|' with boolean operands [-Werror,-Wbitwise-instead-of-logical]
        873 |                 if ((device_property_read_bool(dev, "mmc-ddr-1_8v")) |
            |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        874 |                     (device_property_read_bool(dev, "mmc-hs200-1_8v")) |
            |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            |                                                                        ||
        875 |                     (device_property_read_bool(dev, "mmc-hs400-1_8v")))
            |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      drivers/mmc/host/sdhci-of-dwcmshc.c:873:7: note: cast one or both operands to int to silence this warning
      drivers/mmc/host/sdhci-of-dwcmshc.c:873:7: error: use of bitwise '|' with boolean operands [-Werror,-Wbitwise-instead-of-logical]
        873 |                 if ((device_property_read_bool(dev, "mmc-ddr-1_8v")) |
            |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            |                                                                      ||
        874 |                     (device_property_read_bool(dev, "mmc-hs200-1_8v")) |
            |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      drivers/mmc/host/sdhci-of-dwcmshc.c:873:7: note: cast one or both operands to int to silence this warning
      2 errors generated.
    
    There is little reason for this if statement to use bitwise ORs, as the
    short circuiting of logical OR does not need to be avoided in this
    context; it would be wasteful to call device_property_read_bool() three
    times if the first two calls returned true. Switch to logical OR to fix
    the warning.
    
    While in the area, the parentheses around the calls to
    device_property_read_bool() are not necessary and make the if statement
    harder to read, so remove them.
    
    Closes: https://github.com/ClangBuiltLinux/linux/issues/1960Signed-off-by: default avatarNathan Chancellor <nathan@kernel.org>
    Acked-by: default avatarAdrian Hunter <adrian.hunter@intel.com>
    Tested-by: default avatarDrew Fustini <dfustini@baylibre.com>
    Link: https://lore.kernel.org/r/20231116-sdhci-of-dwcmshc-fix-wbitwise-instead-of-logical-v1-1-7e1a7f4ccaab@kernel.orgSigned-off-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
    e18a3866
sdhci-of-dwcmshc.c 32.6 KB