diff options
Diffstat (limited to 'drivers/gpio/gpio-grgpio.c')
-rw-r--r-- | drivers/gpio/gpio-grgpio.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/gpio/gpio-grgpio.c b/drivers/gpio/gpio-grgpio.c index 6544a16ab02e..e2fc561f4315 100644 --- a/drivers/gpio/gpio-grgpio.c +++ b/drivers/gpio/gpio-grgpio.c | |||
@@ -35,6 +35,7 @@ | |||
35 | #include <linux/interrupt.h> | 35 | #include <linux/interrupt.h> |
36 | #include <linux/irq.h> | 36 | #include <linux/irq.h> |
37 | #include <linux/irqdomain.h> | 37 | #include <linux/irqdomain.h> |
38 | #include <linux/bitops.h> | ||
38 | 39 | ||
39 | #define GRGPIO_MAX_NGPIO 32 | 40 | #define GRGPIO_MAX_NGPIO 32 |
40 | 41 | ||
@@ -96,12 +97,11 @@ static void grgpio_set_imask(struct grgpio_priv *priv, unsigned int offset, | |||
96 | int val) | 97 | int val) |
97 | { | 98 | { |
98 | struct gpio_chip *gc = &priv->gc; | 99 | struct gpio_chip *gc = &priv->gc; |
99 | unsigned long mask = gc->pin2mask(gc, offset); | ||
100 | 100 | ||
101 | if (val) | 101 | if (val) |
102 | priv->imask |= mask; | 102 | priv->imask |= BIT(offset); |
103 | else | 103 | else |
104 | priv->imask &= ~mask; | 104 | priv->imask &= ~BIT(offset); |
105 | gc->write_reg(priv->regs + GRGPIO_IMASK, priv->imask); | 105 | gc->write_reg(priv->regs + GRGPIO_IMASK, priv->imask); |
106 | } | 106 | } |
107 | 107 | ||