diff options
author | Tomasz Figa <t.figa@samsung.com> | 2012-10-11 04:11:16 -0400 |
---|---|---|
committer | Linus Walleij <linus.walleij@linaro.org> | 2012-10-15 03:10:12 -0400 |
commit | 595be7268a85735d229451821b56f122d09d7bdc (patch) | |
tree | eefa13ddc638a1fc5e987dee179ac951aea7b90b /drivers/pinctrl/pinctrl-samsung.c | |
parent | 1b6056d6db2426cd612f03dabacf655ecb6a27ae (diff) |
pinctrl: exynos: Use one IRQ domain per pin bank
Instead of registering one IRQ domain for all pin banks of a pin
controller, this patch implements registration of per-bank domains.
At a cost of a little memory overhead (~2.5KiB for all GPIO interrupts
of Exynos4x12) it simplifies driver code and device tree sources,
because GPIO interrupts can be now specified per banks.
Example:
device {
/* ... */
interrupt-parent = <&gpa1>;
interrupts = <3 0>;
/* ... */
};
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Reviewed-by: Kyungmin Park <kyungmin.park@samsung.com>
Acked-by: Thomas Abraham <thomas.abraham@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'drivers/pinctrl/pinctrl-samsung.c')
-rw-r--r-- | drivers/pinctrl/pinctrl-samsung.c | 4 |
1 files changed, 0 insertions, 4 deletions
diff --git a/drivers/pinctrl/pinctrl-samsung.c b/drivers/pinctrl/pinctrl-samsung.c index 53493c3c35ff..e1ef5d28094d 100644 --- a/drivers/pinctrl/pinctrl-samsung.c +++ b/drivers/pinctrl/pinctrl-samsung.c | |||
@@ -813,10 +813,6 @@ static struct samsung_pin_ctrl *samsung_pinctrl_get_soc_data( | |||
813 | bank->drvdata = d; | 813 | bank->drvdata = d; |
814 | bank->pin_base = ctrl->nr_pins; | 814 | bank->pin_base = ctrl->nr_pins; |
815 | ctrl->nr_pins += bank->nr_pins; | 815 | ctrl->nr_pins += bank->nr_pins; |
816 | if (bank->eint_type == EINT_TYPE_GPIO) { | ||
817 | bank->irq_base = ctrl->nr_gint; | ||
818 | ctrl->nr_gint += bank->nr_pins; | ||
819 | } | ||
820 | } | 816 | } |
821 | 817 | ||
822 | for_each_child_of_node(node, np) { | 818 | for_each_child_of_node(node, np) { |