On Mon, Apr 24, 2017 at 6:08 PM, Richard Fitzgerald rf@opensource.wolfsonmicro.com wrote:
This adds support for the GPIOs on Cirrus Logic Madera class codecs. Any pins not used for special functions (see the pinctrl driver) can be used as general single-bit input or output lines. The number of available GPIOs varies between codecs.
Signed-off-by: Nariman Poushin nariman@opensource.wolfsonmicro.com Signed-off-by: Richard Fitzgerald rf@opensource.wolfsonmicro.com Signed-off-by: Charles Keepax ckeepax@opensource.wolfsonmicro.com
Changes from V1:
- dt bindings moved to a separate patch
- dependent on pinctrl driver instead of parent MFD
- added get_direction function
- added .request / .free / .set_config to work with pinctrl driver
- register range with pinctrl driver
Nice, but...
ret = gpiochip_add_pin_range(&madera_gpio->gpio_chip, "madera-pinctrl",
0, 0, madera_gpio->gpio_chip.ngpio);
if (ret) {
dev_warn(&pdev->dev, "Failed to add pin range (%d)\n", ret);
return ret;
}
This is all fine, but we have generic code for adding ranges from the device tree, see Documentation/devicetree/bindings/gpio/gpio.txt
With that this range should not even be needed. Apart from that it looks pretty solid.
Yours, Linus Walleij