Commit 27157af6 authored by Linus Walleij's avatar Linus Walleij
Browse files

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: default avatarBartosz Golaszewski <bgolaszewski@baylibre.com>
Reviewed-by: default avatarJan Kotas <jank@cadence.com>
Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
parent 4f2f95e9
Loading
Loading
Loading
Loading
+0 −7
Original line number Diff line number Diff line
@@ -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;
+0 −4
Original line number Diff line number Diff line
@@ -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;