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

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

From: Linus Walleij <hidden>
Date: 2018-06-08 12:17:07
Also in: linux-devicetree

A second thought:

On Fri, Jun 8, 2018 at 1:59 PM, Linus Walleij [off-list ref] wrote:
quoted
+       select GPIOLIB_IRQCHIP
You are not using this so I guess remove that line.
(...)
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.

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help