[PATCH 03/11] pinctrl: sunxi: Move setting of mux to irq type from unmask to set_type

Hans de Goede
2014-05-28T09:51:52Z

Hi,

On 05/28/2014 11:36 AM, Maxime Ripard wrote:
> On Tue, May 27, 2014 at 04:18:29PM +0200, Linus Walleij wrote:
>> On Mon, May 26, 2014 at 9:47 AM, Hans de Goede <hdegoede@redhat.com> wrote:
>>
>>> With level triggered interrupt mask / unmask will get called for each
>>> interrupt, doing the somewhat expensive mux setting on each unmask thus is
>>> not a good idea. Instead move it to the set_type callback, which is typically
>>> done only once for each irq.
>>>
>>> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
>>
>> Yes move it out of mask/unmask but no, not into set_type().
>>
>> Can you not use the irqchip startup()/shutdown() callbacks
>> instead?
>
> I think we can use irq_request_resources then
> https://lkml.org/lkml/2014/3/12/307

Sounds good, I'll modify the patch to move it here before posting a v2 of
this series. Note v2 likely won't happen till this weekend, -ENOTIME.

> We could even merge the gpio_to_irq code into it.

Erm, no we need that as a separate function for the gpio_chip's to_irq
callback.

> It's called in __setup_irq, so it's guaranteed to be called, and it
> will bail out early without doing anything, since it's one of the
> first thing __setup_irq does.

Right, as I said above, this sounds good.

Regards,

Hans