ACPICA: Namespace: Reorder \_SB._INI to make sure it is evaluated before _REG evaluations
authorLv Zheng <lv.zheng@intel.com>
Thu, 24 Mar 2016 01:41:54 +0000 (09:41 +0800)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Tue, 5 Apr 2016 01:53:34 +0000 (03:53 +0200)
commit2d3349de8072baf2c2dd096664fa818d5339bb5a
tree6990e45fff2c1b802e02ae7fe561653a2cc1bde0
parentd1461a1b506e4a2df9f703c5f39f765b65c9672e
ACPICA: Namespace: Reorder \_SB._INI to make sure it is evaluated before _REG evaluations

ACPICA commit f005ee6b90d152c1f499efcca6b771a93903cb55

This patch splits \_SB._INI evaluation from device initialization code, so
that it can be performed before PCI_Config _REG evaluations. This is
required for the device enumeration process. Some named objects are
initialized in \_SB._INI and PCI_Config _REG evaluations may use
uninitialized named objects because of the order issue.

This must be fixed before fixing ECDT order issue. There are existing
tables allowing ECDT EC to be used for the entire device enumeration
process, but the enabling of ECDT EC is done in \_SB._INI. Thus \_SB._INI
must be the first control method evaluated in the device enumeration
process. Normally, the order should be automatically ensured by the device
enumeration process itself (for example, PCI_Config _REGs are evaluated by
the PCI bus driver when the driver is probed by the enumeration process),
but since the process is split on Linux (partially done in Linux, partially
done in ACPICA), we need to ensure this with special logics in order to be
regression safe. Lv Zheng.

Link: https://github.com/acpica/acpica/commit/f005ee6b
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/acpi/acpica/nsinit.c