summaryrefslogtreecommitdiffstats
path: root/drivers/gpio/gpio-ixp4xx.c
Commit message (Collapse)AuthorAgeFilesLines
* gpio: ixp4xx: Use irq_domain_translate_twocell()Linus Walleij2019-05-281-7/+7
| | | | | | | | | Use standard functions. Eventually we will be able to drop all checks and just assign irq_domain_translate_twocell() to this callback. Cc: Brian Masney <masneyb@onstation.org> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
* gpio: ixp4xx: Add OF probing supportLinus Walleij2019-04-231-27/+57
| | | | | | | | This adds device tree probe and registration support for the IXP4xx GPIO driver. Cc: Bartosz Golaszewski <bgolaszewski@baylibre.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
* gpio: ixp4xx: Add driver for the IXP4xx GPIOLinus Walleij2019-04-231-0/+444
This adds a driver for the IXP4xx GPIO block found in the Intel XScale IXP4xx systems. The GPIO part of this block is pretty straight-forward and just uses the generic MMIO GPIO library. The irqchip side of this driver is hierarchical where the main irqchip will receive a processed level trigger in response to the edge detector of the GPIO block, so for this reason the v2 version of the irqdomain API is used (as well as in the parent IXP4xx irqchip) and masking, unmasking and setting up the type on IRQ happens on several levels. Currently this GPIO controller will grab the parent irqdomain using a special function, but as the platform move toward device tree probing, this will not be needed: we can just look up the parent irqdomain from the device tree. Cc: Bartosz Golaszewski <bgolaszewski@baylibre.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>