diff options
author | Russell King <rmk+kernel@armlinux.org.uk> | 2019-06-10 20:10:51 +0300 |
---|---|---|
committer | Linus Walleij <linus.walleij@linaro.org> | 2019-06-12 11:13:47 +0200 |
commit | 5ca5f92c1add64895bd72ff96f58ff2a1e02a53e (patch) | |
tree | 56b24a1533edb88f5978fcefc7b7ab4570ec1790 /drivers/gpio | |
parent | 40bb2273a263ada2e563e1e601940e60bf7e53da (diff) | |
download | linux-5ca5f92c1add64895bd72ff96f58ff2a1e02a53e.tar.gz linux-5ca5f92c1add64895bd72ff96f58ff2a1e02a53e.tar.bz2 linux-5ca5f92c1add64895bd72ff96f58ff2a1e02a53e.zip |
gpio: omap: simplify get() method
omap_gpio_get() calls omap_get_gpio_datain() or omap_get_gpio_dataout()
to read the GPIO state. These two functions are only called from this
method, so they don't add much value. Move their contents into
omap_gpio_get() method and simplify.
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Tested-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'drivers/gpio')
-rw-r--r-- | drivers/gpio/gpio-omap.c | 25 |
1 files changed, 6 insertions, 19 deletions
diff --git a/drivers/gpio/gpio-omap.c b/drivers/gpio/gpio-omap.c index 44a4287cce9e..bf1e6f1d0de7 100644 --- a/drivers/gpio/gpio-omap.c +++ b/drivers/gpio/gpio-omap.c @@ -146,20 +146,6 @@ static void omap_set_gpio_dataout_mask(struct gpio_bank *bank, unsigned offset, bank->context.dataout = l; } -static int omap_get_gpio_datain(struct gpio_bank *bank, int offset) -{ - void __iomem *reg = bank->base + bank->regs->datain; - - return (readl_relaxed(reg) & (BIT(offset))) != 0; -} - -static int omap_get_gpio_dataout(struct gpio_bank *bank, int offset) -{ - void __iomem *reg = bank->base + bank->regs->dataout; - - return (readl_relaxed(reg) & (BIT(offset))) != 0; -} - /* set multiple data out values using dedicate set/clear register */ static void omap_set_gpio_dataout_reg_multiple(struct gpio_bank *bank, unsigned long *mask, @@ -973,14 +959,15 @@ static int omap_gpio_input(struct gpio_chip *chip, unsigned offset) static int omap_gpio_get(struct gpio_chip *chip, unsigned offset) { - struct gpio_bank *bank; - - bank = gpiochip_get_data(chip); + struct gpio_bank *bank = gpiochip_get_data(chip); + void __iomem *reg; if (omap_gpio_is_input(bank, offset)) - return omap_get_gpio_datain(bank, offset); + reg = bank->base + bank->regs->datain; else - return omap_get_gpio_dataout(bank, offset); + reg = bank->base + bank->regs->dataout; + + return (readl_relaxed(reg) & BIT(offset)) != 0; } static int omap_gpio_output(struct gpio_chip *chip, unsigned offset, int value) |