pinctrl: exynos: Generalize the eint16_31 demux code
authorAbhilash Kesavan <a.kesavan@samsung.com>
Thu, 9 Oct 2014 13:54:29 +0000 (19:24 +0530)
committerTomasz Figa <tomasz.figa@gmail.com>
Sun, 9 Nov 2014 13:26:49 +0000 (22:26 +0900)
commit0d3d30db93635936652417efd0f4a3e9049d0938
tree09992cde74688df03c630c7ac0a9b707a48a15b9
parent8100cf47698fedbde6dc3fa540b1fefcee69fd40
pinctrl: exynos: Generalize the eint16_31 demux code

The function exynos_irq_demux_eint16_31 uses pre-defined offsets for external
interrupt pending status and mask registers. So this function is not extensible
for Exynos7 SoC which has these registers at different offsets. Generalize
the exynos_irq_demux_eint16_31 function by using the pending/mask register
offset values from the exynos_irq_chip structure. This is done by adding a
irq_chip field to the samsung_pin_bank struct.

Signed-off-by: Abhilash Kesavan <a.kesavan@samsung.com>
Reviewed-by: Thomas Abraham <thomas.ab@samsung.com>
Tested-by: Thomas Abraham <thomas.ab@samsung.com>
Acked-by: Tomasz Figa <tomasz.figa@gmail.com>
Cc: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Tomasz Figa <tomasz.figa@gmail.com>
drivers/pinctrl/samsung/pinctrl-exynos.c
drivers/pinctrl/samsung/pinctrl-samsung.h