[PATCH 1/2] gpio: mediatek: add driver for MT7621
Sergio Paracuellos
sergio.paracuellos at gmail.com
Sat Jun 9 06:17:14 UTC 2018
On Fri, Jun 8, 2018 at 2:17 PM, Linus Walleij <linus.walleij at linaro.org> wrote:
> A second thought:
Second thought is always a good thing :-)
>
> On Fri, Jun 8, 2018 at 1:59 PM, Linus Walleij <linus.walleij at linaro.org> wrote:
>
>>> + select GPIOLIB_IRQCHIP
>>
>> You are not using this so I guess remove that line.
> (...)
>>> +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
More information about the devel
mailing list