From 4b63739efabc93d67d2b6812dd0cd41358fadf29 Mon Sep 17 00:00:00 2001 From: Linus Walleij Date: Tue, 5 Jan 2016 11:13:28 +0100 Subject: [PATCH] gpio: generic: fix signedness bug found by cppcheck cppcheck reports this: (style) int result is returned as long value. If the return value is long to avoid loss of information, then you have loss of information. This can be fixed with (1UL << pin) but that is the same as using that already use 1UL so take this approach. Reported-by: David Binderman Signed-off-by: Linus Walleij --- drivers/gpio/gpio-generic.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/gpio/gpio-generic.c b/drivers/gpio/gpio-generic.c index ea581dc23d44..053a7f0a83e6 100644 --- a/drivers/gpio/gpio-generic.c +++ b/drivers/gpio/gpio-generic.c @@ -58,6 +58,7 @@ o ` ~~~~\___/~~~~ ` controller in FPGA is ,.` #include #include #include +#include #include #include #include @@ -126,13 +127,13 @@ static unsigned long bgpio_read32be(void __iomem *reg) static unsigned long bgpio_pin2mask(struct bgpio_chip *bgc, unsigned int pin) { - return 1 << pin; + return BIT(pin); } static unsigned long bgpio_pin2mask_be(struct bgpio_chip *bgc, unsigned int pin) { - return 1 << (bgc->bits - 1 - pin); + return BIT(bgc->bits - 1 - pin); } static int bgpio_get_set(struct gpio_chip *gc, unsigned int gpio) -- 2.11.0