Re: [PATCH 00/12] gpio: Tight IRQ chip integration and Tegra186 support

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

 



On Mon, Apr 03, 2017 at 06:05:20PM +0200, Thierry Reding wrote:
> From: Thierry Reding <treding@xxxxxxxxxx>
> 
> Hi Linus,
> 
> here's a first draft of patches to make GPIOLIB_IRQCHIP flexible enough
> to support the Tegra186 use-case. Instead of just fixing the bugs that I
> had pointed out earlier, this goes one step further and completely
> integrates IRQ chip registration into GPIO chip registration. The idea
> is that drivers will initialize a set of fields (collected in a new
> struct gpio_irq_chip) before calling gpiochip_add() (or derivatives) and
> gpiolib will internally set up an IRQ domain and register the IRQ chip.
> 
> Currently this makes use of the new infrastructure only in the Tegra186
> driver, but I plan to convert a couple of others once we can agree that
> this is a direction that you're comfortable with.

Linus,

any comments on this?

Thierry

> Thierry Reding (12):
>   gpio: Use unsigned int for interrupt numbers
>   gpio: Implement tighter IRQ chip integration
>   gpio: Move irq_nested into struct gpio_irq_chip
>   gpio: Move irqdomain into struct gpio_irq_chip
>   gpio: Move irqchip into struct gpio_irq_chip
>   gpio: Move irq_valid_mask into struct gpio_irq_chip
>   gpio: Move lock_key into struct gpio_irq_chip
>   gpio: Move irq_chained_parent to struct gpio_irq_chip
>   gpio: Move irq_default_type to struct gpio_irq_chip
>   gpio: Move irq_handler to struct gpio_irq_chip
>   gpio: Move irq_base to struct gpio_irq_chip
>   gpio: Add Tegra186 support
> 
>  Documentation/gpio/driver.txt              |   6 +-
>  drivers/bcma/driver_gpio.c                 |   2 +-
>  drivers/gpio/Kconfig                       |   9 +
>  drivers/gpio/Makefile                      |   1 +
>  drivers/gpio/gpio-104-dio-48e.c            |   2 +-
>  drivers/gpio/gpio-104-idi-48.c             |   2 +-
>  drivers/gpio/gpio-104-idio-16.c            |   2 +-
>  drivers/gpio/gpio-adnp.c                   |   2 +-
>  drivers/gpio/gpio-altera.c                 |   4 +-
>  drivers/gpio/gpio-aspeed.c                 |   6 +-
>  drivers/gpio/gpio-ath79.c                  |   2 +-
>  drivers/gpio/gpio-brcmstb.c                |   2 +-
>  drivers/gpio/gpio-crystalcove.c            |   2 +-
>  drivers/gpio/gpio-dln2.c                   |   2 +-
>  drivers/gpio/gpio-ftgpio010.c              |   2 +-
>  drivers/gpio/gpio-intel-mid.c              |   2 +-
>  drivers/gpio/gpio-lynxpoint.c              |   2 +-
>  drivers/gpio/gpio-max732x.c                |   2 +-
>  drivers/gpio/gpio-mcp23s08.c               |   2 +-
>  drivers/gpio/gpio-merrifield.c             |   2 +-
>  drivers/gpio/gpio-mockup.c                 |  10 +-
>  drivers/gpio/gpio-omap.c                   |   2 +-
>  drivers/gpio/gpio-pca953x.c                |   2 +-
>  drivers/gpio/gpio-pcf857x.c                |   2 +-
>  drivers/gpio/gpio-pci-idio-16.c            |   2 +-
>  drivers/gpio/gpio-pl061.c                  |   2 +-
>  drivers/gpio/gpio-rcar.c                   |   2 +-
>  drivers/gpio/gpio-reg.c                    |   4 +-
>  drivers/gpio/gpio-stmpe.c                  |   6 +-
>  drivers/gpio/gpio-tc3589x.c                |   2 +-
>  drivers/gpio/gpio-tegra186.c               | 625 +++++++++++++++++++++++++++++
>  drivers/gpio/gpio-vf610.c                  |   2 +-
>  drivers/gpio/gpio-wcove.c                  |   2 +-
>  drivers/gpio/gpio-ws16c48.c                |   2 +-
>  drivers/gpio/gpio-xgene-sb.c               |   2 +-
>  drivers/gpio/gpio-xlp.c                    |   2 +-
>  drivers/gpio/gpio-zx.c                     |   2 +-
>  drivers/gpio/gpio-zynq.c                   |   2 +-
>  drivers/gpio/gpiolib.c                     | 232 ++++++++---
>  drivers/pinctrl/bcm/pinctrl-bcm2835.c      |   4 +-
>  drivers/pinctrl/bcm/pinctrl-iproc-gpio.c   |   2 +-
>  drivers/pinctrl/intel/pinctrl-baytrail.c   |   6 +-
>  drivers/pinctrl/intel/pinctrl-cherryview.c |   6 +-
>  drivers/pinctrl/intel/pinctrl-intel.c      |   2 +-
>  drivers/pinctrl/nomadik/pinctrl-nomadik.c  |   4 +-
>  drivers/pinctrl/pinctrl-amd.c              |   2 +-
>  drivers/pinctrl/pinctrl-at91.c             |   2 +-
>  drivers/pinctrl/pinctrl-coh901.c           |   2 +-
>  drivers/pinctrl/pinctrl-oxnas.c            |   2 +-
>  drivers/pinctrl/pinctrl-pic32.c            |   2 +-
>  drivers/pinctrl/pinctrl-pistachio.c        |   2 +-
>  drivers/pinctrl/pinctrl-st.c               |   2 +-
>  drivers/pinctrl/pinctrl-sx150x.c           |   2 +-
>  drivers/pinctrl/qcom/pinctrl-msm.c         |   2 +-
>  drivers/pinctrl/sirf/pinctrl-atlas7.c      |   2 +-
>  drivers/pinctrl/sirf/pinctrl-sirf.c        |   2 +-
>  drivers/pinctrl/spear/pinctrl-plgpio.c     |   2 +-
>  include/linux/gpio/driver.h                |  81 ++--
>  58 files changed, 943 insertions(+), 147 deletions(-)
>  create mode 100644 drivers/gpio/gpio-tegra186.c
> 
> -- 
> 2.12.0
> 

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [ARM Kernel]     [Linux ARM]     [Linux ARM MSM]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux