Commit 4bef8bf2 authored by Linus Walleij's avatar Linus Walleij

gpio: twl6040: Use bitops

It's nice to use BIT() macros rather than open coding the same.
It's good practice as sometimes people use BIT(31) and forget
that the constant must be cast unsigned long.
Acked-by: default avatarTony Lindgren <tony@atomide.com>
Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
parent b4f53ed9
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
#include <linux/irq.h> #include <linux/irq.h>
#include <linux/gpio/driver.h> #include <linux/gpio/driver.h>
#include <linux/platform_device.h> #include <linux/platform_device.h>
#include <linux/bitops.h>
#include <linux/of.h> #include <linux/of.h>
#include <linux/mfd/twl6040.h> #include <linux/mfd/twl6040.h>
...@@ -28,7 +29,7 @@ static int twl6040gpo_get(struct gpio_chip *chip, unsigned offset) ...@@ -28,7 +29,7 @@ static int twl6040gpo_get(struct gpio_chip *chip, unsigned offset)
if (ret < 0) if (ret < 0)
return ret; return ret;
return (ret >> offset) & 1; return !!(ret & BIT(offset));
} }
static int twl6040gpo_direction_out(struct gpio_chip *chip, unsigned offset, static int twl6040gpo_direction_out(struct gpio_chip *chip, unsigned offset,
...@@ -49,9 +50,9 @@ static void twl6040gpo_set(struct gpio_chip *chip, unsigned offset, int value) ...@@ -49,9 +50,9 @@ static void twl6040gpo_set(struct gpio_chip *chip, unsigned offset, int value)
return; return;
if (value) if (value)
gpoctl = ret | (1 << offset); gpoctl = ret | BIT(offset);
else else
gpoctl = ret & ~(1 << offset); gpoctl = ret & ~BIT(offset);
twl6040_reg_write(twl6040, TWL6040_REG_GPOCTL, gpoctl); twl6040_reg_write(twl6040, TWL6040_REG_GPOCTL, gpoctl);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment