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

Linus Walleij linus.walleij at linaro.org
Tue May 27 07:18:29 PDT 2014


On Mon, May 26, 2014 at 9:47 AM, Hans de Goede <hdegoede at 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 at 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?

And how come we have no clean separation between gpiochip
and the pinmux parts here, why cant we just call
pinctrl_request_gpio() and pinctrl_free_gpio() here instead?
Or maybe pinctrl_gpio_direction_input() and have that set
up the muxing in the pinctrl driver side?

It looks slightly convoluted.

Yours,
Linus Walleij



More information about the linux-arm-kernel mailing list