ACPICA: Fix Scope() op in module level code
authorBob Moore <robert.moore@intel.com>
Sat, 23 Oct 2010 05:36:40 +0000 (01:36 -0400)
committerAK <andi@firstfloor.org>
Sun, 6 Feb 2011 19:03:40 +0000 (11:03 -0800)
commit53479596917f7de21c96b1af971370868129c8b2
tree117e4b39c448df80d8edf6370bbc2152651e24f4
parentd3c6045fee29a799083d3431da555053e3140eaf
ACPICA: Fix Scope() op in module level code

commit 8df3fc981dc12d9fdcaef4100a2193b605024d7a upstream.

Some Panasonic Toughbooks create nodes in module level code.
Module level code is the executable AML code outside of control method,
for example, below AML code creates a node \_SB.PCI0.GFX0.DD02.CUBL

        If (\_OSI ("Windows 2006"))
        {
            Scope (\_SB.PCI0.GFX0.DD02)
            {
                Name (CUBL, Ones)
                ...
            }
        }

Scope() op does not actually create a new object, it refers to an
existing object(\_SB.PCI0.GFX0.DD02 in above example). However, for
Scope(), we want to indeed open a new scope, so the child nodes(CUBL in
above example) can be created correctly under it.

https://bugzilla.kernel.org/show_bug.cgi?id=19462

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Andi Kleen <ak@linux.intel.com>
drivers/acpi/acpica/dswexec.c