Re: [PATCH v2] pinctrl: qcom: support gpio_chip .set_config call

Andy Shevchenko
2021-03-04T12:41:53Z

On Thu, Mar 04, 2021 at 09:41:05AM +0100, Linus Walleij wrote:
> On Wed, Mar 3, 2021 at 3:51 PM Bjorn Andersson
> <bjorn.andersson@linaro.org> wrote:
>
> > I like the fact that this solves your gpio configuration issue, but I'm
> > uncertain if just adding support for configuring pins (in addition to
> > groups) in the driver is the right solution.
> >
> > @Linus, to summarize, the Qualcomm TLMM configures pingroups, but all
> > gpios are defined as a single pin. pinctrl_gpio_set_config() is invoked
> > based on the configuration provided in the ACPI tables, so Shawn's
> > proposal is to just implement "config by pin" as well.
> > Would this not be a problem shared with all pinctrl drivers that
> > configure gpios in groups?
>
> It is done as Shawn does it in e.g. the Intel drivers.
>
> This is a side effect of ACPI: ACPI thinks about the world mostly
> in term of GPIO pins, there was a pin ctrl draft at one point but I don't
> think it ever got off the ground. The standards committe just has not
> been able to think about the world in terms of pin control. Or they
> think the pin control abstraction is just wrong. Could be either.

Pin control has been though thru and implemented in the ACPICA, but we have no
time to fulfil this work to cover pin control subsystem in the Linux kernel.

> This means that on ACPI systems pin config will be done with
> this mechanism but on DT systems it will be done another way.
> The mechanisms are essentially orthogonal usecase-wise, it should
> work as long as there is some proper testing and concern
> for both cases.

--
With Best Regards,
Andy Shevchenko