pinctrl: sunxi: create irq/pin mapping during init
authorChen-Yu Tsai <wens@csie.org>
Mon, 26 May 2014 07:47:56 +0000 (09:47 +0200)
committerLinus Walleij <linus.walleij@linaro.org>
Tue, 27 May 2014 14:11:30 +0000 (16:11 +0200)
commitd54e9a28ca0fe69ec3965f9a19fdc42628f9a0e0
treea68a888c9475898dd754bd17919cd9675510d228
parentdb388dfb90368638ad238c27b045b6c9bf1f6c17
pinctrl: sunxi: create irq/pin mapping during init

The irq/pin mapping is used to lookup the pin to mux to the irq
function when the irq is enabled. It is created when gpio_to_irq
is called. Creating the mapping during init allows us to map the
interrupts directly from the device tree.

Originally the IRQ to pin mapping was created when gpio_to_irq
was called with a GPIO handle. The mapping in turn is used to mux
the pin into EINT mode.

If the mapping is created during gpio_to_irq, we can't use the
interrupts directly, i.e. through the DT with "interrupts = <&pio A 4>".

Instead we'd have to use "gpios = <&pio A B>", then pass the gpio
through to gpio_to_irq.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/sunxi/pinctrl-sunxi.c