Re: [PATCH] gpio: mmio: Drop bgpio_dir_inverted

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



czw., 4 kwi 2019 o 18:57 Linus Walleij <linus.walleij@xxxxxxxxxx> napisał(a):
>
> 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.
>
> Cc: Jan Kotas <jank@xxxxxxxxxxx>
> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
> ---
>  drivers/gpio/gpio-mmio.c    | 7 -------
>  include/linux/gpio/driver.h | 4 ----
>  2 files changed, 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;
> --
> 2.20.1
>

Reviewed-by: Bartosz Golaszewski <bgolaszewski@xxxxxxxxxxxx>




[Index of Archives]     [Linux SPI]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux