* [PATCH v1 1/1] Documentation: ACPI: Fix parent device references
@ 2025-07-10 17:00 Andy Shevchenko
2025-07-11 9:17 ` Rafael J. Wysocki
0 siblings, 1 reply; 2+ messages in thread
From: Andy Shevchenko @ 2025-07-10 17:00 UTC (permalink / raw)
To: Andy Shevchenko, linux-acpi, linux-kernel
Cc: Rafael J. Wysocki, Len Brown, Yevhen Kondrashyn, stable
The _CRS resources in many cases want to have ResourceSource field
to be a type of ACPI String. This means that to compile properly
we need to enclosure the name path into double quotes. This will
in practice defer the interpretation to a run-time stage, However,
this may be interpreted differently on different OSes and ACPI
interpreter implementations. In particular ACPICA might not correctly
recognize the leading '^' (caret) character and will not resolve
the relative name path properly. On top of that, this piece may be
used in SSDTs which are loaded after the DSDT and on itself may also
not resolve relative name paths outside of their own scopes.
With this all said, fix documentation to use fully-qualified name
paths always to avoid any misinterpretations, which is proven to
work.
Fixes: 8eb5c87a92c0 ("i2c: add ACPI support for I2C mux ports")
Reported-by: Yevhen Kondrashyn <e.kondrashyn@gmail.com>
Cc: stable@vger.kernel.org
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
Rafael, I prefer, if no objections, to push this as v6.16-rc6 material since
the reported issue was detected on old (v5.10.y) and still LTS kernel. Would be
nice for people to not trap to it in older kernels.
Documentation/firmware-guide/acpi/i2c-muxes.rst | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/Documentation/firmware-guide/acpi/i2c-muxes.rst b/Documentation/firmware-guide/acpi/i2c-muxes.rst
index 3a8997ccd7c4..f366539acd79 100644
--- a/Documentation/firmware-guide/acpi/i2c-muxes.rst
+++ b/Documentation/firmware-guide/acpi/i2c-muxes.rst
@@ -14,7 +14,7 @@ Consider this topology::
| | | 0x70 |--CH01--> i2c client B (0x50)
+------+ +------+
-which corresponds to the following ASL::
+which corresponds to the following ASL (in the scope of \_SB)::
Device (SMB1)
{
@@ -24,7 +24,7 @@ which corresponds to the following ASL::
Name (_HID, ...)
Name (_CRS, ResourceTemplate () {
I2cSerialBus (0x70, ControllerInitiated, I2C_SPEED,
- AddressingMode7Bit, "^SMB1", 0x00,
+ AddressingMode7Bit, "\\_SB.SMB1", 0x00,
ResourceConsumer,,)
}
@@ -37,7 +37,7 @@ which corresponds to the following ASL::
Name (_HID, ...)
Name (_CRS, ResourceTemplate () {
I2cSerialBus (0x50, ControllerInitiated, I2C_SPEED,
- AddressingMode7Bit, "^CH00", 0x00,
+ AddressingMode7Bit, "\\_SB.SMB1.CH00", 0x00,
ResourceConsumer,,)
}
}
@@ -52,7 +52,7 @@ which corresponds to the following ASL::
Name (_HID, ...)
Name (_CRS, ResourceTemplate () {
I2cSerialBus (0x50, ControllerInitiated, I2C_SPEED,
- AddressingMode7Bit, "^CH01", 0x00,
+ AddressingMode7Bit, "\\_SB.SMB1.CH01", 0x00,
ResourceConsumer,,)
}
}
--
2.47.2
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH v1 1/1] Documentation: ACPI: Fix parent device references
2025-07-10 17:00 [PATCH v1 1/1] Documentation: ACPI: Fix parent device references Andy Shevchenko
@ 2025-07-11 9:17 ` Rafael J. Wysocki
0 siblings, 0 replies; 2+ messages in thread
From: Rafael J. Wysocki @ 2025-07-11 9:17 UTC (permalink / raw)
To: Andy Shevchenko
Cc: linux-acpi, linux-kernel, Rafael J. Wysocki, Len Brown,
Yevhen Kondrashyn, stable
On Thu, Jul 10, 2025 at 7:03 PM Andy Shevchenko
<andriy.shevchenko@linux.intel.com> wrote:
>
> The _CRS resources in many cases want to have ResourceSource field
> to be a type of ACPI String. This means that to compile properly
> we need to enclosure the name path into double quotes. This will
> in practice defer the interpretation to a run-time stage, However,
> this may be interpreted differently on different OSes and ACPI
> interpreter implementations. In particular ACPICA might not correctly
> recognize the leading '^' (caret) character and will not resolve
> the relative name path properly. On top of that, this piece may be
> used in SSDTs which are loaded after the DSDT and on itself may also
> not resolve relative name paths outside of their own scopes.
> With this all said, fix documentation to use fully-qualified name
> paths always to avoid any misinterpretations, which is proven to
> work.
>
> Fixes: 8eb5c87a92c0 ("i2c: add ACPI support for I2C mux ports")
> Reported-by: Yevhen Kondrashyn <e.kondrashyn@gmail.com>
> Cc: stable@vger.kernel.org
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> ---
>
> Rafael, I prefer, if no objections, to push this as v6.16-rc6 material since
> the reported issue was detected on old (v5.10.y) and still LTS kernel. Would be
> nice for people to not trap to it in older kernels.
>
> Documentation/firmware-guide/acpi/i2c-muxes.rst | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/Documentation/firmware-guide/acpi/i2c-muxes.rst b/Documentation/firmware-guide/acpi/i2c-muxes.rst
> index 3a8997ccd7c4..f366539acd79 100644
> --- a/Documentation/firmware-guide/acpi/i2c-muxes.rst
> +++ b/Documentation/firmware-guide/acpi/i2c-muxes.rst
> @@ -14,7 +14,7 @@ Consider this topology::
> | | | 0x70 |--CH01--> i2c client B (0x50)
> +------+ +------+
>
> -which corresponds to the following ASL::
> +which corresponds to the following ASL (in the scope of \_SB)::
>
> Device (SMB1)
> {
> @@ -24,7 +24,7 @@ which corresponds to the following ASL::
> Name (_HID, ...)
> Name (_CRS, ResourceTemplate () {
> I2cSerialBus (0x70, ControllerInitiated, I2C_SPEED,
> - AddressingMode7Bit, "^SMB1", 0x00,
> + AddressingMode7Bit, "\\_SB.SMB1", 0x00,
> ResourceConsumer,,)
> }
>
> @@ -37,7 +37,7 @@ which corresponds to the following ASL::
> Name (_HID, ...)
> Name (_CRS, ResourceTemplate () {
> I2cSerialBus (0x50, ControllerInitiated, I2C_SPEED,
> - AddressingMode7Bit, "^CH00", 0x00,
> + AddressingMode7Bit, "\\_SB.SMB1.CH00", 0x00,
> ResourceConsumer,,)
> }
> }
> @@ -52,7 +52,7 @@ which corresponds to the following ASL::
> Name (_HID, ...)
> Name (_CRS, ResourceTemplate () {
> I2cSerialBus (0x50, ControllerInitiated, I2C_SPEED,
> - AddressingMode7Bit, "^CH01", 0x00,
> + AddressingMode7Bit, "\\_SB.SMB1.CH01", 0x00,
> ResourceConsumer,,)
> }
> }
> --
Applied as 6.17 material, thanks!
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2025-07-11 9:17 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-07-10 17:00 [PATCH v1 1/1] Documentation: ACPI: Fix parent device references Andy Shevchenko
2025-07-11 9:17 ` Rafael J. Wysocki
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).