Thread (21 messages) 21 messages, 3 authors, 2017-03-27

Re: [PATCH 2/8] pinctrl: stm32: use gpio-ranges to declare bank range

From: Linus Walleij <hidden>
Date: 2017-01-30 15:20:47
Also in: linux-arm-kernel, linux-gpio, lkml

On Fri, Jan 27, 2017 at 5:15 PM, Alexandre TORGUE
[off-list ref] wrote:
Use device tree entries to declare gpio range. It will allow to use
no contiguous gpio bank and holes inside a bank.

Signed-off-by: Alexandre TORGUE <redacted>
(...)
+       of_property_read_string(np, "st,bank-name", &bank->gpio_chip.label);
+
+       if (!of_parse_phandle_with_fixed_args(np, "gpio-ranges", 3, 0, &args))
+               bank_nr = args.args[1] / STM32_GPIO_PINS_PER_BANK;
+       else {
+               range->name = bank->gpio_chip.label;
+               range->id = bank_nr;
+               range->pin_base = range->id * STM32_GPIO_PINS_PER_BANK;
+               range->base = range->id * STM32_GPIO_PINS_PER_BANK;
+               range->npins = npins;
+               range->gc = &bank->gpio_chip;
+               pinctrl_add_gpio_range(pctl->pctl_dev,
+                                      &pctl->banks[bank_nr].range);
+       }
Why are you doing this?

There is already code in drivers/gpio/gpiolib-of.c to pick ranges
from the device tree and add when you're adding the GPIO chips.

Please use that or figure out what is needed to make it work for
you instead of reimplementing it.

Yours,
Linus Walleij
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help