| From e65cb011349e653ded541dddd6469c2ca813edcf Mon Sep 17 00:00:00 2001 |
| From: Andy Shevchenko <andriy.shevchenko@linux.intel.com> |
| Date: Thu, 10 Jul 2025 20:00:23 +0300 |
| Subject: Documentation: ACPI: Fix parent device references |
| |
| From: Andy Shevchenko <andriy.shevchenko@linux.intel.com> |
| |
| commit e65cb011349e653ded541dddd6469c2ca813edcf upstream. |
| |
| 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: All applicable <stable@vger.kernel.org> |
| Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> |
| Link: https://patch.msgid.link/20250710170225.961303-1-andriy.shevchenko@linux.intel.com |
| Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| Documentation/firmware-guide/acpi/i2c-muxes.rst | 8 ++++---- |
| 1 file changed, 4 insertions(+), 4 deletions(-) |
| |
| --- 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,,) |
| } |
| } |