On Wed 10 Mar 17:03 CST 2021, Linus Walleij wrote: > On Wed, Mar 3, 2021 at 2:19 PM Shawn Guo <shawn.guo@xxxxxxxxxx> wrote: > > > In case of ACPI boot, GPIO core does the right thing to parse GPIO pin > > configs from ACPI table, and call into gpio_chip's .set_config hook for > > setting them up. It enables such support on qcom platform by using > > generic config function, which in turn calls into .pin_config_set of > > pinconf for setting up hardware. For qcom platform, it's possible to > > reuse pin group config functions for pin config hooks, because every pin > > is maintained as a single group. > > > > This change fixes the problem that Touchpad of Lenovo Flex 5G laptop > > doesn't work with ACPI boot, because PullUp config of Touchpad GpioInt > > pin is not set up by the kernel. > > > > Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> > > --- > > Changes for v2: > > - Add pin config functions that simply call into group config ones. > > Patch applied! > As discussed in [1]; several key Qualcomm platforms have a gpio-ranges representing the number of real GPIOs, but we then expose the UFS reset GPO (no input) pin as a GPIO as well - making the two numbers differ. I've moved ahead and merged the update to gpio-ranges, to make the two match, but Shawn reports that with the introduction of .set_config() all existing DTBs fail to probe storage because of the UFS code getting EPROBE_DEFER back on its gpiod_get_optional(). I don't know how to make the transition, but can you please revert this patch, to avoid breaking compatibility with DTBs out there? [1] https://lore.kernel.org/linux-arm-msm/20210311230924.GX17424@dragon/#t Regards, Bjorn