From: Niyas Sait <niyas.sait@linaro.org>
To: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Cc: linux-gpio@vger.kernel.org, mika.westerberg@linux.intel.com,
rafael@kernel.org, linus.walleij@linaro.org,
fugang.duan@linaro.org
Subject: Re: [PATCH v3 1/2] pinctrl: add support for ACPI pin function and config resources
Date: Wed, 30 Nov 2022 21:33:40 +0000 [thread overview]
Message-ID: <a23d0da6-6f80-a7d5-a0fb-a10e1a408129@linaro.org> (raw)
In-Reply-To: <Y4fE6CPLHKPdjt9y@smile.fi.intel.com>
>> +++ b/Documentation/driver-api/pin-control-acpi.rst
>
> We have Documentation/firmware-guide/acpi/, but I'm not sure
> which one suits better for this.
I started with firmware-guide but then moved to driver-api as I wanted
to cover driver related bits as well. Let me know if it is better at
firmware-guide.
>> + Name (RBUF, ResourceTemplate()
>> + {
>> + Memory32Fixed(ReadWrite, 0x4F800000, 0x20)
>> + Interrupt(ResourceConsumer, Level, ActiveHigh, Shared) {0x55}
>> + PinFunction(Exclusive, PullDefault, 0x5, "\\_SB.GPI0", 0, ResourceConsumer, ) {2, 3}
>> + // Configure 10k Pull up for I2C SDA/SCL pins
>> + PinConfig(Exclusive, 0x01, 10000, "\\_SB.GPI0", 0, ResourceConsumer, ) {2, 3}
>> + })
>> + Return(RBUF)
>
> In all examples the 2, 3 is used as a pin list for all kind of resources,
> it's so confusing. Also take into account the difference between GPIO and
> pin number spaces as I told before. Examples should cover that.
>
> Also try to compile all ASL with latest ACPICA tools and fix warnings / errors.
>
I can try but I will have to repeat the same pin number few times to
describe the pin function and config for different devices to
demonstrate the pin muxing part.
>> +Pin control devices can add callbacks for following pinctrl_ops to handle ACPI
>> +pin resources.
>
> Why? What use case requires this?
> ACPI specification is more stricter in this than DT if I understand correctly
> the state of affairs. So, can't we parse the tables in the same way for all?
>
> ...
>
>> + case PINCTRL_ACPI_PIN_FUNCTION:
>
>> + case PINCTRL_ACPI_PIN_CONFIG:
>
> These are definitely what we do not want to see in the individual drivers.
> (I understand that it might be that some OEMs will screw up and we would
> need quirks, but not now)
Hm. Please correct me if I am wrong here. My understanding is that we
need to do few mapping which only pin controller drivers can do such as
ACPI function number to internal functional name or selector. I could
define bindings to do those specific mappings rather than providing the
current general mapping interface. Would that be better ?
>> + status = acpi_get_handle(NULL, pinctrl_acpi, &handle);
>> + if (ACPI_FAILURE(status))
>> + return NULL;
>> +
>> + adev = acpi_get_acpi_dev(handle);
>> + if (!adev)
>> + return NULL;
>> +
>> + dev_name = acpi_dev_name(adev);
>> + if (!dev_name)
>> + return NULL;
>> +
>> + return get_pinctrl_dev_from_devname(dev_name);
>
> Are they all resource leakage-free?
>
I hope so. Do you see something odd ?
next prev parent reply other threads:[~2022-11-30 21:34 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-11-30 16:40 [PATCH v3 0/2] pinctrl: add ACPI support to pin controller Niyas Sait
2022-11-30 16:40 ` [PATCH v3 1/2] pinctrl: add support for ACPI pin function and config resources Niyas Sait
2022-11-30 21:02 ` Andy Shevchenko
2022-11-30 21:33 ` Niyas Sait [this message]
2022-11-30 23:30 ` Andy Shevchenko
2022-12-01 9:27 ` Niyas Sait
2022-12-01 23:04 ` Andy Shevchenko
2022-12-05 7:20 ` Niyas Sait
2022-12-05 12:47 ` Andy Shevchenko
2022-12-20 10:53 ` Niyas Sait
2023-01-03 16:49 ` Niyas Sait
2023-01-09 14:09 ` Andy Shevchenko
2023-01-09 21:33 ` Niyas Sait
2022-11-30 21:10 ` Andy Shevchenko
2022-11-30 21:36 ` Niyas Sait
2022-11-30 16:40 ` [PATCH v3 2/2] pinctrl: add support for ACPI pin groups Niyas Sait
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=a23d0da6-6f80-a7d5-a0fb-a10e1a408129@linaro.org \
--to=niyas.sait@linaro.org \
--cc=andriy.shevchenko@linux.intel.com \
--cc=fugang.duan@linaro.org \
--cc=linus.walleij@linaro.org \
--cc=linux-gpio@vger.kernel.org \
--cc=mika.westerberg@linux.intel.com \
--cc=rafael@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).