aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCarlo Caione <carlo@endlessm.com>2015-05-17 11:57:38 -0400
committerLinus Walleij <linus.walleij@linaro.org>2015-05-19 05:40:52 -0400
commit984cffdeaeb7ea5a21f49a89f638d84d62d08992 (patch)
tree1251eeeeed538d8ba92b9f2788be9fdf817f40b5
parent75e9143927a893aebad18b79e1bbeff4892c0d35 (diff)
pinctrl: Fix gpio/pin mapping for Meson8b
The num_pins field in the struct meson_domain_data must include also the missing pins in the Meson8b SoC, otherwise the GPIO <-> pin mapping is broken on this platform. Avoid also the dinamic allocation for GPIOs. Signed-off-by: Carlo Caione <carlo@endlessm.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
-rw-r--r--drivers/pinctrl/meson/pinctrl-meson.c2
-rw-r--r--drivers/pinctrl/meson/pinctrl-meson8b.c4
2 files changed, 3 insertions, 3 deletions
diff --git a/drivers/pinctrl/meson/pinctrl-meson.c b/drivers/pinctrl/meson/pinctrl-meson.c
index edcd140e0899..a70a5fe79d44 100644
--- a/drivers/pinctrl/meson/pinctrl-meson.c
+++ b/drivers/pinctrl/meson/pinctrl-meson.c
@@ -569,7 +569,7 @@ static int meson_gpiolib_register(struct meson_pinctrl *pc)
569 domain->chip.direction_output = meson_gpio_direction_output; 569 domain->chip.direction_output = meson_gpio_direction_output;
570 domain->chip.get = meson_gpio_get; 570 domain->chip.get = meson_gpio_get;
571 domain->chip.set = meson_gpio_set; 571 domain->chip.set = meson_gpio_set;
572 domain->chip.base = -1; 572 domain->chip.base = domain->data->pin_base;
573 domain->chip.ngpio = domain->data->num_pins; 573 domain->chip.ngpio = domain->data->num_pins;
574 domain->chip.can_sleep = false; 574 domain->chip.can_sleep = false;
575 domain->chip.of_node = domain->of_node; 575 domain->chip.of_node = domain->of_node;
diff --git a/drivers/pinctrl/meson/pinctrl-meson8b.c b/drivers/pinctrl/meson/pinctrl-meson8b.c
index 2f7ea6229880..9677807db364 100644
--- a/drivers/pinctrl/meson/pinctrl-meson8b.c
+++ b/drivers/pinctrl/meson/pinctrl-meson8b.c
@@ -876,13 +876,13 @@ static struct meson_domain_data meson8b_domain_data[] = {
876 .banks = meson8b_banks, 876 .banks = meson8b_banks,
877 .num_banks = ARRAY_SIZE(meson8b_banks), 877 .num_banks = ARRAY_SIZE(meson8b_banks),
878 .pin_base = 0, 878 .pin_base = 0,
879 .num_pins = 83, 879 .num_pins = 130,
880 }, 880 },
881 { 881 {
882 .name = "ao-bank", 882 .name = "ao-bank",
883 .banks = meson8b_ao_banks, 883 .banks = meson8b_ao_banks,
884 .num_banks = ARRAY_SIZE(meson8b_ao_banks), 884 .num_banks = ARRAY_SIZE(meson8b_ao_banks),
885 .pin_base = 83, 885 .pin_base = 130,
886 .num_pins = 16, 886 .num_pins = 16,
887 }, 887 },
888}; 888};