On Fri, Oct 31, 2014 at 6:58 PM, Dmitry Eremin-Solenikov
[off-list ref] wrote:
2014-10-31 12:52 GMT+03:00 Linus Walleij [off-list ref]:
quoted
On Wed, Oct 29, 2014 at 4:03 AM, Alexandre Courbot [off-list ref] wrote:
quoted
On Tue, Oct 28, 2014 at 11:58 PM, Mark Brown [off-list ref] wrote:
quoted
On Tue, Oct 28, 2014 at 03:02:04AM +0300, Dmitry Eremin-Solenikov wrote:
quoted
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.
quoted
+ 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.