Thread (18 messages) 18 messages, 5 authors, 2018-06-14

Re: [PATCH 1/2] gpio: mediatek: add driver for MT7621

From: Sergio Paracuellos <sergio.paracuellos@gmail.com>
Date: 2018-06-09 06:17:14
Also in: linux-gpio

On Fri, Jun 8, 2018 at 2:17 PM, Linus Walleij [off-list ref] wrote:
A second thought:
Second thought is always a good thing :-)
On Fri, Jun 8, 2018 at 1:59 PM, Linus Walleij [off-list ref] wrote:
quoted
quoted
+       select GPIOLIB_IRQCHIP
You are not using this so I guess remove that line.
(...)
quoted
quoted
+static int
+mediatek_gpio_to_irq(struct gpio_chip *chip, unsigned int pin)
+{
+       struct mtk_data *gpio_data = gpiochip_get_data(chip);
+       struct mtk_gc *rg = to_mediatek_gpio(chip);
+
+       return irq_create_mapping(gpio_data->gpio_irq_domain,
+                                 pin + (rg->bank * MTK_BANK_WIDTH));
+}
So this is the result of a custom IRQdomain because you
can't use the generic GPIO IRQ lib.  Oh well, we have to live
with it I guess.
I think maybe you can actually use the generic GPIO IRQCHIP.

It is OK to call gpiochip_set_chained_irqchip() several times.
If you just mark the line with IRQF_SHARED then the handler
will just loop over all three banks until you find a hit, provided
you code it up properly.
Ok, I'll give it a try to use this also.
There were some problems with removing an irqchip like
that but your driver is anyway a bool so I think it might work
just fine.

Yours,
Linus Walleij
Thanks again.

Best regards,
    Sergio Paracuellos
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help