staging: mt7621-gpio: avoid custom irq_domain for gpio
authorSergio Paracuellos <sergio.paracuellos@gmail.com>
Mon, 18 Jun 2018 09:36:10 +0000 (11:36 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 28 Jun 2018 12:50:58 +0000 (21:50 +0900)
commit7bf3d70e6e2c5ab724214a234a8755c03acb39a8
tree77f4f5856c834c66fb9a040d133910f56fd13b83
parent368d97d69dabc7d1a3d444436381ac62ba195818
staging: mt7621-gpio: avoid custom irq_domain for gpio

Instead of create a custom irq_domain for this chip, use
'gpiochip_set_chained_irqchip' from GPIOLIB_IRQCHIP. It
is ok to call this function several times. We have to
manually mark the line with 'IRQF_SHARED' and then loop
over the three banks until you find a hit. There were
some problems with removing an irqchip like that but this
driver is a bool so it might work just fine. After this
changes the functions 'mediatek_gpio_to_irq' is not needed
anymore and also the 'gpio_irq_domain' field from the state
container. Instead of use the custom irq domain in the irq
handler use the associated domain from the gpio_chip in
'irq_find_mapping' function. Function 'mediatek_gpio_bank_probe'
has been moved a it to the botton to have all the irq related
functions together and avoid some forward declarations to resolve
some symbols along the code.

Signed-off-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/mt7621-gpio/Kconfig
drivers/staging/mt7621-gpio/gpio-mt7621.c