On Thu, Jul 10, 2025 at 7:03 PM Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> 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@xxxxxxxxx> > Cc: stable@xxxxxxxxxxxxxxx > Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> > --- > > 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!