aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Walleij <linus.walleij@linaro.org>2019-04-04 23:55:14 +0700
committerLinus Walleij <linus.walleij@linaro.org>2019-04-08 11:17:43 +0200
commit27157af66324d529b43231c12b5d1e1a3e9fa620 (patch)
tree7113bdece028625a5e3d93b82eb1883c894c7ae6
parentgpio: mmio: Fix bgpio_get_set & bgpio_get_set_multiple (diff)
downloadlinux-dev-27157af66324d529b43231c12b5d1e1a3e9fa620.tar.xz
linux-dev-27157af66324d529b43231c12b5d1e1a3e9fa620.zip
gpio: mmio: Drop bgpio_dir_inverted
The direction inversion semantics are now handled by simply using the registers for in/out available, no need to keep track of inversion semantics exmplicitly anymore. Reviewed-by: Bartosz Golaszewski <bgolaszewski@baylibre.com> Reviewed-by: Jan Kotas <jank@cadence.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
-rw-r--r--drivers/gpio/gpio-mmio.c7
-rw-r--r--include/linux/gpio/driver.h4
2 files changed, 0 insertions, 11 deletions
diff --git a/drivers/gpio/gpio-mmio.c b/drivers/gpio/gpio-mmio.c
index 04be18b95485..6f904c874678 100644
--- a/drivers/gpio/gpio-mmio.c
+++ b/drivers/gpio/gpio-mmio.c
@@ -533,13 +533,6 @@ static int bgpio_setup_direction(struct gpio_chip *gc,
gc->direction_output = bgpio_dir_out;
gc->direction_input = bgpio_dir_in;
gc->get_direction = bgpio_get_dir;
- /*
- * If only dirin is available, this means we need
- * inverted semantics when handling get/set registers
- * so detect this here.
- */
- if (dirin && !dirout)
- gc->bgpio_dir_inverted = true;
} else {
if (flags & BGPIOF_NO_OUTPUT)
gc->direction_output = bgpio_dir_out_err;
diff --git a/include/linux/gpio/driver.h b/include/linux/gpio/driver.h
index 95a51794c24a..4d69d458cf9f 100644
--- a/include/linux/gpio/driver.h
+++ b/include/linux/gpio/driver.h
@@ -229,9 +229,6 @@ struct gpio_irq_chip {
* @reg_clr: output clear register (out=low) for generic GPIO
* @reg_dir_out: direction out setting register for generic GPIO
* @reg_dir_in: direction in setting register for generic GPIO
- * @bgpio_dir_inverted: indicates that the direction register is inverted
- * (gpiolib private state variable) this means @reg_dir_in is
- * available but not @reg_dir_out.
* @bgpio_dir_unreadable: indicates that the direction register(s) cannot
* be read and we need to rely on out internal state tracking.
* @bgpio_bits: number of register bits used for a generic GPIO i.e.
@@ -305,7 +302,6 @@ struct gpio_chip {
void __iomem *reg_clr;
void __iomem *reg_dir_out;
void __iomem *reg_dir_in;
- bool bgpio_dir_inverted;
bool bgpio_dir_unreadable;
int bgpio_bits;
spinlock_t bgpio_lock;