On Fri, Oct 31, 2014 at 6:58 PM, Dmitry Eremin-Solenikov dbaryshkov@gmail.com wrote:
2014-10-31 12:52 GMT+03:00 Linus Walleij linus.walleij@linaro.org:
On Wed, Oct 29, 2014 at 4:03 AM, Alexandre Courbot gnurou@gmail.com wrote:
On Tue, Oct 28, 2014 at 11:58 PM, Mark Brown broonie@kernel.org wrote:
On Tue, Oct 28, 2014 at 03:02:04AM +0300, Dmitry Eremin-Solenikov wrote:
Since LoCoMo driver has been converted to provide proper gpiolib interface, make poodle ASoC platform driver use gpiolib API.
Please use subject lines matching the style for the subsystem.
ret = gpio_request_array(poodle_gpios, ARRAY_SIZE(poodle_gpios));
if (ret) {
dev_err(&pdev->dev, "gpio_request_array() failed: %d\n",
ret);
return ret;
}
I sense a need for devm_gpio_request_array() here. Otherwise this looks fine - ideally it'd move to gpiod but moving to gpiolib is a clear win so no need to block on this.
I wish Dmitry took the opportunity to move this driver to the gpiod API, especially since doing so would be trivial for this driver.
+1 on this.
However this platform is not device tree, so this implies setting up a descriptor table for the affected driver(s) to work properly. See Documentation/gpio/board.txt
I checked the gpiod interfaces after original suggestion by Alexandre.
Introducing those mapping tables (much like pinctrl tables) look like a duplicate effort if Russell will permit adding a DT support. So I thought that I will reconsider gpiod/pinctrl/etc after fixing LoCoMo, reiterating IRQ patches, possibly switching to COMMON_CLK and (finally) thinking about device tree support.
Note that the mapping tables are likely not going to end up being huge, and taking that step will allow you to convert to the gpiod interface, something you would probably want to do later when adding DT support anyway. So at the end of the day there would be very little wasted effort: once converting to DT, just add the GPIO properties into the appropriate node, remove the mapping tables, and you're done.