• Erik Schmauss's avatar
    ACPICA: iASL: change processing of external op namespace nodes for correctness · b43eac6f
    Erik Schmauss authored
    ACPICA commit aa866a9b4f24bbec9f158d10325b486d7d12d90f
    
    The declaration External (ABCD.EFGH) creates two nodes in the namespace: ABCD
    and EFGH where ABCD is marked as an implicit external node. ABCD is labeled as
    implicit because there does not exist a specific External (ABCD) declaration.
    
    Before this change, the declaration External (ABCD.EFGH) and
    External (ABCD.EFGH.IJKL) creates the namespace nodes ABCD, EFGH, and IJKL
    where ABCD and EFGH are labeled as implicit external nodes. This is incorrect.
    The only implicit node should be ABCD because EFGH and IJKL are explicit nodes.
    This change fixes the labeling procecess of external op namespace nodes so that
    nodes are properly labeled as implicit external.
    
    Due to this commit, the below ASL code results in a compilation error.
    
    definition_block ("DSDT.aml", "DSDT", 0x02, "INTEL", "BDW    ", 0x0)
    {
        External(\_SB.PCI0.GFX0, device_obj)
        External(\_SB.PCI0.GFX0.ALSI)
    
        Scope(\_SB)
        {
            Device(PCI0)
            {
                Device(GFX0)
                {
                    Name(_ADR, 0x00020000)
                }
            }
        }
    }
    
    Link: https://github.com/acpica/acpica/commit/aa866a9bSigned-off-by: default avatarErik Schmauss <erik.schmauss@intel.com>
    Signed-off-by: default avatarBob Moore <robert.moore@intel.com>
    Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
    b43eac6f
nsaccess.c 20 KB