Commit Graph

12 Commits

Author SHA1 Message Date
Al Stone 5b8dae1677 gpio: Remove unused local OF node pointers
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2071835
Tested: This is one of a series of patch sets to enable Arm SystemReady IR
 support in the kernel for NXP i.MX8 platforms.  This set updates GPIO
 support.  It has been tested via simple boot tests and by using the
 kernel GPIO tools to verify pins are being identified and can be used.

commit 9804456e60670cc73f13361a3e628ecdf1bf7ee1
Author: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Date:   Mon Dec 20 15:24:39 2021 +0200

    gpio: Remove unused local OF node pointers

    After the commit 448cf90513d9 ("gpio: Get rid of duplicate of_node
    assignment in the drivers") the OF node local pointers become unused.
    Remove them for good and make compiler happy about.

    Fixes: 448cf90513d9 ("gpio: Get rid of duplicate of_node assignment in the drivers")
    Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
    Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    [Bart: removed unrelated change in gpio-brcmstb]
    Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
    (cherry picked from commit 9804456e60670cc73f13361a3e628ecdf1bf7ee1)

Signed-off-by: Al Stone <ahs3@redhat.com>
2022-08-24 13:31:01 -06:00
Al Stone ca3d6ccb2d gpio: Get rid of duplicate of_node assignment in the drivers
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2071835
Tested: This is one of a series of patch sets to enable Arm SystemReady IR
 support in the kernel for NXP i.MX8 platforms.  This set updates GPIO
 support.  It has been tested via simple boot tests and by using the
 kernel GPIO tools to verify pins are being identified and can be used.

Conflicts:
    drivers/gpio/gpio-rockchip.c

    File has not been added to this tree, so patch for it
    was not applicable.

commit 448cf90513d954ba5a61ce392809d6936902a9e6
Author: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Date:   Fri Dec 17 17:39:35 2021 +0100

    gpio: Get rid of duplicate of_node assignment in the drivers

    GPIO library does copy the of_node from the parent device of
    the GPIO chip, there is no need to repeat this in the individual
    drivers. Remove these assignment all at once.

    For the details one may look into the of_gpio_dev_init() implementation.

    While at it, remove duplicate parent device assignment where it is the case.

    Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Reviewed-By: Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com>
    Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
    (cherry picked from commit 448cf90513d954ba5a61ce392809d6936902a9e6)

Signed-off-by: Al Stone <ahs3@redhat.com>
2022-08-24 13:31:00 -06:00
Al Stone 77777491c9 gpio: Bulk conversion to generic_handle_domain_irq()
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2071835
Tested: This is one of a series of patch sets to enable Arm SystemReady IR
 support in the kernel for NXP i.MX8 platforms.  This set updates GPIO
 support.  It has been tested via simple boot tests and by using the
 kernel GPIO tools to verify pins are being identified and can be used.

commit dbd1c54fc82051bf7f3271b43517281f5b2cff51
Author: Marc Zyngier <maz@kernel.org>
Date:   Tue May 4 17:42:18 2021 +0100

    gpio: Bulk conversion to generic_handle_domain_irq()

    Wherever possible, replace constructs that match either
    generic_handle_irq(irq_find_mapping()) or
    generic_handle_irq(irq_linear_revmap()) to a single call to
    generic_handle_domain_irq().

    Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
    Acked-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Marc Zyngier <maz@kernel.org>
    (cherry picked from commit dbd1c54fc82051bf7f3271b43517281f5b2cff51)

Signed-off-by: Al Stone <ahs3@redhat.com>
2022-08-24 13:28:24 -06:00
Chuanhong Guo 427cabede0 gpio: mt7621: add BGPIOF_NO_SET_ON_INPUT flag
DSET/DCLR registers only works on output pins. Add corresponding
BGPIOF_NO_SET_ON_INPUT flag to bgpio_init call to fix direction_out
behavior.

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
Tested-by: René van Dorst <opensource@vdorst.com>
Reviewed-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
2020-03-25 09:50:45 +01:00
Linus Walleij 72780ce5f1 gpio: Drop the chained IRQ handler assign function
gpiochip_set_chained_irqchip() would assign a chained handler
to a GPIO chip. We now populate struct gpio_irq_chip for all
chained GPIO irqchips so drop this function.

Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/20200113220800.77817-1-linus.walleij@linaro.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2020-01-23 15:54:32 +01:00
Linus Walleij f4e9bcc05f gpio: mt7621: Pass irqchip when adding gpiochip
We need to convert all old gpio irqchips to pass the irqchip
setup along when adding the gpio_chip. For more info see
drivers/gpio/TODO.

For chained irqchips this is a pretty straight-forward
conversion.

This driver requests the IRQ directly in the driver so it
differs a bit from the others.

Cc: Greg Ungerer <gerg@kernel.org>
Cc: Nicholas Mc Guire <hofrat@osadl.org>
Cc: Sergio Paracuellos <sergio.paracuellos@gmail.com>
Cc: Thierry Reding <treding@nvidia.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Tested-by: René van Dorst <opensource@vdorst.com>
Link: https://lore.kernel.org/r/20190809141116.16403-1-linus.walleij@linaro.org
2019-08-23 12:05:06 +02:00
Enrico Weigelt, metux IT consult 92d718fd47 drivers: gpio: mt7621: use devm_platform_ioremap_resource()
Use the new helper that wraps the calls to platform_get_resource()
and devm_ioremap_resource() together.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Reviewed-by: Matthias Brugger <matthias.bgg@gmail.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2019-04-05 00:04:27 +07:00
René van Dorst fa84667b98 gpio: MT7621: use a per instance irq_chip structure
This fixes the kernel complains:
gpio gpiochip1: (1e000600.gpio-bank1): detected irqchip that is shared
	    with multiple gpiochips: please fix the driver.
gpio gpiochip2: (1e000600.gpio-bank2): detected irqchip that is shared
	    with multiple gpiochips: please fix the driver.

Fixes: 4ba9c3afda ("gpio: mt7621: Add a driver for MT7621")
Cc: stable@vger.kernel.org
Signed-off-by: René van Dorst <opensource@vdorst.com>
Cc: linux-gpio@vger.kernel.org
Cc: linux-mediatek@lists.infradead.org
Tested-by: Greg Ungerer <gerg@kernel.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2019-02-08 12:30:15 +01:00
Nicholas Mc Guire a109c2dbb5 gpio: mt7621: pass mediatek_gpio_bank_probe() failure up the stack
The error cases of mediatek_gpio_bank_probe() would go unnoticed (except
for the dev_err() messages). The probe function should return an error
if one of the banks failed to initialize properly indicated by
not returning non-0.

Fixes: 4ba9c3afda ("gpio: mt7621: Add a driver for MT7621")
Signed-off-by: Nicholas Mc Guire <hofrat@osadl.org>
Acked-by: Sean Wang <sean.wang@kernel.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2018-12-07 10:47:24 +01:00
Nicholas Mc Guire 59d646c775 gpio: mt7621: report failure of devm_kasprintf()
kasprintf() may return NULL on failure of internal allocation thus the
assigned  label  is not safe if not explicitly checked. On error
mediatek_gpio_bank_probe() returns negative values so -ENOMEM in the
(unlikely) failure case should be fine here.

Fixes: 4ba9c3afda ("gpio: mt7621: Add a driver for MT7621")
Signed-off-by: Nicholas Mc Guire <hofrat@osadl.org>
Reviewed-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Acked-by: Sean Wang <sean.wang@kernel.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2018-12-07 10:45:24 +01:00
Linus Walleij 8512486ba2 gpio: mt7621: Edit to preferred syntax
This fixes some syntactic nits that makes the GPIO maintainer
happier. It is way easier to show by example and do it myself
than to try to explain it with comments. It's just my personal
taste of minimalism.

Cc: Sergio Paracuellos <sergio.paracuellos@gmail.com>
Cc: NeilBrown <neil@brown.name>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2018-07-09 13:51:57 +02:00
Sergio Paracuellos 4ba9c3afda gpio: mt7621: Add a driver for MT7621
Add driver support for gpio of MT7621 SoC.

Signed-off-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
Reviewed-by: NeilBrown <neil@brown.name>
[Switched wording WIDTH to STRIDE]
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2018-07-09 13:41:48 +02:00