Thank you Linus Walleij. And we will await your patchset. Please cc to linuxarm. Thank you, Jay On 2018/12/5 18:28, Linus Walleij wrote: > On Tue, Dec 4, 2018 at 5:33 PM Mark Brown <broonie@xxxxxxxxxx> wrote: >> On Mon, Dec 03, 2018 at 11:15:51AM +0800, Jay Fang wrote: >> >>> -static int of_spi_register_master(struct spi_controller *ctlr) >>> -{ >>> + if (IS_ENABLED(CONFIG_OF) && np) { >>> + for (i = 0; i < nb; i++) >>> + cs[i] = of_get_named_gpio(np, "cs-gpios", i); >>> + } else if (IS_ENABLED(CONFIG_ACPI) && ACPI_HANDLE(&ctlr->dev)) { >>> + for (i = 0; i < nb; i++) { >>> + desc = devm_gpiod_get_index(&ctlr->dev, "cs", >>> + i, GPIOD_ASIS); >>> + if (IS_ERR(desc)) >>> + continue; >>> + cs[i] = desc_to_gpio(desc); >>> + } >>> + } >>> return 0; >> >> Given that both properties are called "cs" won't devm_gpiod_get_index() >> do the right thing for DT systems as well as ACPI allowing us to move >> entirely to descriptors and remove the need for separate code paths here? > > Indeed moving the cs-gpios over to just using descriptors is on my > TODO list and I have a rough patch cooking: > https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio.git/commit/?h=gpio-descriptors-spi&id=963bff1e8feb020cac05325db84a37f81efdb0ea > > I think maybe I should expediate this patch[set] so there is a clean > path forward for ACPI without having to do this: > >> + cs[i] = desc_to_gpio(desc); > > Which is essentially the waltz of two steps forward, one step back, > *shudder* > > I'll try to get my patch into shape ASAP. > > Yours, > Linus Walleij > > . >