From: Jean Delvare Date: Tue, 5 Jan 2016 13:23:47 +0000 (+0100) Subject: gpio: pch: Optimize pch_gpio_get() X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=166814d8413df49bf21293aacc808b2782cbd9a8;p=linux-beck.git gpio: pch: Optimize pch_gpio_get() The double negation is costly and can be avoided by shifting the register value before masking the requested bit. Signed-off-by: Jean Delvare Cc: Linus Walleij Signed-off-by: Linus Walleij --- diff --git a/drivers/gpio/gpio-pch.c b/drivers/gpio/gpio-pch.c index 0475782a7e88..7c7135da5d4a 100644 --- a/drivers/gpio/gpio-pch.c +++ b/drivers/gpio/gpio-pch.c @@ -127,7 +127,7 @@ static int pch_gpio_get(struct gpio_chip *gpio, unsigned nr) { struct pch_gpio *chip = gpiochip_get_data(gpio); - return !!(ioread32(&chip->reg->pi) & (1 << nr)); + return (ioread32(&chip->reg->pi) >> nr) & 1; } static int pch_gpio_direction_output(struct gpio_chip *gpio, unsigned nr,