diff options
author | Grygorii Strashko <grygorii.strashko@linaro.org> | 2015-03-23 08:18:23 -0400 |
---|---|---|
committer | Linus Walleij <linus.walleij@linaro.org> | 2015-03-27 06:03:06 -0400 |
commit | b2b2004550f4b18ed16929107f478005fadfdb5c (patch) | |
tree | dd4fe5963c8b6ab7c11781183e96dd5a21f03f31 | |
parent | c4b40493de668a86856602a4cf19bf0d809e2681 (diff) |
gpio: omap: convert omap_gpio_is_input() to use gpio offset
Convert omap_gpio_is_input() to use GPIO offset instead of mask and,
in such way, make code simpler and remove few lines of code.
Tested-by: Tony Lindgren <tony@atomide.com>
Tested-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Acked-by: Santosh Shilimkar <ssantosh@kernel.org>
Acked-by: Javier Martinez Canillas <javier@dowhile0.org>
Signed-off-by: Grygorii Strashko <grygorii.strashko@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
-rw-r--r-- | drivers/gpio/gpio-omap.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/drivers/gpio/gpio-omap.c b/drivers/gpio/gpio-omap.c index 2b2fc4ba8c6d..ce7123928219 100644 --- a/drivers/gpio/gpio-omap.c +++ b/drivers/gpio/gpio-omap.c | |||
@@ -472,11 +472,11 @@ static void omap_disable_gpio_module(struct gpio_bank *bank, unsigned offset) | |||
472 | } | 472 | } |
473 | } | 473 | } |
474 | 474 | ||
475 | static int omap_gpio_is_input(struct gpio_bank *bank, int mask) | 475 | static int omap_gpio_is_input(struct gpio_bank *bank, unsigned offset) |
476 | { | 476 | { |
477 | void __iomem *reg = bank->base + bank->regs->direction; | 477 | void __iomem *reg = bank->base + bank->regs->direction; |
478 | 478 | ||
479 | return readl_relaxed(reg) & mask; | 479 | return readl_relaxed(reg) & BIT(offset); |
480 | } | 480 | } |
481 | 481 | ||
482 | static void omap_gpio_init_irq(struct gpio_bank *bank, unsigned gpio, | 482 | static void omap_gpio_init_irq(struct gpio_bank *bank, unsigned gpio, |
@@ -519,7 +519,7 @@ static int omap_gpio_irq_type(struct irq_data *d, unsigned type) | |||
519 | offset = GPIO_INDEX(bank, gpio); | 519 | offset = GPIO_INDEX(bank, gpio); |
520 | retval = omap_set_gpio_triggering(bank, offset, type); | 520 | retval = omap_set_gpio_triggering(bank, offset, type); |
521 | omap_gpio_init_irq(bank, gpio, offset); | 521 | omap_gpio_init_irq(bank, gpio, offset); |
522 | if (!omap_gpio_is_input(bank, BIT(offset))) { | 522 | if (!omap_gpio_is_input(bank, offset)) { |
523 | spin_unlock_irqrestore(&bank->lock, flags); | 523 | spin_unlock_irqrestore(&bank->lock, flags); |
524 | return -EINVAL; | 524 | return -EINVAL; |
525 | } | 525 | } |
@@ -976,12 +976,10 @@ static int omap_gpio_input(struct gpio_chip *chip, unsigned offset) | |||
976 | static int omap_gpio_get(struct gpio_chip *chip, unsigned offset) | 976 | static int omap_gpio_get(struct gpio_chip *chip, unsigned offset) |
977 | { | 977 | { |
978 | struct gpio_bank *bank; | 978 | struct gpio_bank *bank; |
979 | u32 mask; | ||
980 | 979 | ||
981 | bank = container_of(chip, struct gpio_bank, chip); | 980 | bank = container_of(chip, struct gpio_bank, chip); |
982 | mask = (BIT(offset)); | ||
983 | 981 | ||
984 | if (omap_gpio_is_input(bank, mask)) | 982 | if (omap_gpio_is_input(bank, offset)) |
985 | return omap_get_gpio_datain(bank, offset); | 983 | return omap_get_gpio_datain(bank, offset); |
986 | else | 984 | else |
987 | return omap_get_gpio_dataout(bank, offset); | 985 | return omap_get_gpio_dataout(bank, offset); |