aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2017-02-20 20:55:15 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2017-02-20 20:55:15 -0500
commit43e31e40473a00c936ffb9c2eebedc0566c92e89 (patch)
treea6f38155a8b6a1bc9bec3afe1fe508a0d59518b3
parent02c3de1105228e367320e7fdeffbf511904f398c (diff)
parentac18c0c4e2b1f84fc11d013cd7363377ae4cde43 (diff)
Merge tag 'acpi-4.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm
Pull ACPI updates from Rafael Wysocki: "These update the ACPICA code in the kernel to upstream revision 20170119, which among other things updates copyright notices in all of the ACPICA files, fix a couple of issues in the ACPI EC and button drivers, fix modalias handling for non-discoverable devices with DT-compatible identification strings, add a suspend quirk for one platform and fix a message in the APEI code. Specifics: - Update of the ACPICA code in the kernel to upstream revision 20170119 including: + Fixes related to the handling of the bit width and bit offset fields in Generic Address Structure (Lv Zheng) + ACPI resources handling fix related to invalid resource descriptors (Bob Moore) + Fix to enable implicit result conversion for several ASL library functions (Bob Moore) + Support for method invocations as target operands in AML (Bob Moore) + Fix to use a correct operand type for DeRefOf() in some situations (Bob Moore) + Utilities updates (Bob Moore, Lv Zheng) + Disassembler/debugger updates (David Box, Lv Zheng) + Build fixes (Colin Ian King, Lv Zheng) + Update of copyright notices in all files (Bob Moore) - Fix for modalias handling for SPI and I2C devices with DT-compatible identification strings (Dan O'Donovan) - Fixes for the ACPI EC and button drivers (Lv Zheng) - ACPI processor handling fix related to CPU hotplug (online/offline) on x86 (Vitaly Kuznetsov) - Suspend quirk to save/restore NVS memory over S3 transitions for Lenovo G50-45 (Zhang Rui) - Message formatting fix for the ACPI APEI code (Colin Ian King)" * tag 'acpi-4.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (32 commits) ACPICA: Update version to 20170119 ACPICA: Tools: Update common signon, remove compilation bit width ACPICA: Source tree: Update copyright notices to 2017 ACPICA: Linuxize: Restore and fix Intel compiler build x86/ACPI: keep x86_cpu_to_acpiid mapping valid on CPU hotplug spi: acpi: Initialize modalias from of_compatible i2c: acpi: Initialize info.type from of_compatible ACPI / bus: Introduce acpi_of_modalias() equiv of of_modalias_node() ACPI: save NVS memory for Lenovo G50-45 ACPI, APEI, EINJ: fix malformed newline escape ACPI / button: Remove lid_init_state=method mode ACPI / button: Change default behavior to lid_init_state=open ACPI / EC: Use busy polling mode when GPE is not enabled ACPI / EC: Remove old CLEAR_ON_RESUME quirk ACPICA: Update version to 20161222 ACPICA: Parser: Update parse info table for some operators ACPICA: Fix a problem with recent extra support for control method invocations ACPICA: Parser: Allow method invocations as target operands ACPICA: Fix for implicit result conversion for the ToXXX functions ACPICA: Resources: Not a valid resource if buffer length too long ..
-rw-r--r--Documentation/acpi/acpi-lid.txt16
-rw-r--r--arch/ia64/kernel/acpi.c3
-rw-r--r--arch/x86/kernel/acpi/boot.c5
-rw-r--r--drivers/acpi/acpi_processor.c4
-rw-r--r--drivers/acpi/acpica/acapps.h14
-rw-r--r--drivers/acpi/acpica/accommon.h2
-rw-r--r--drivers/acpi/acpica/acdebug.h2
-rw-r--r--drivers/acpi/acpica/acdispat.h2
-rw-r--r--drivers/acpi/acpica/acevents.h2
-rw-r--r--drivers/acpi/acpica/acglobal.h2
-rw-r--r--drivers/acpi/acpica/achware.h2
-rw-r--r--drivers/acpi/acpica/acinterp.h2
-rw-r--r--drivers/acpi/acpica/aclocal.h9
-rw-r--r--drivers/acpi/acpica/acmacros.h74
-rw-r--r--drivers/acpi/acpica/acnamesp.h2
-rw-r--r--drivers/acpi/acpica/acobject.h2
-rw-r--r--drivers/acpi/acpica/acopcode.h24
-rw-r--r--drivers/acpi/acpica/acparser.h2
-rw-r--r--drivers/acpi/acpica/acpredef.h2
-rw-r--r--drivers/acpi/acpica/acresrc.h2
-rw-r--r--drivers/acpi/acpica/acstruct.h2
-rw-r--r--drivers/acpi/acpica/actables.h2
-rw-r--r--drivers/acpi/acpica/acutils.h2
-rw-r--r--drivers/acpi/acpica/amlcode.h22
-rw-r--r--drivers/acpi/acpica/amlresrc.h2
-rw-r--r--drivers/acpi/acpica/dbcmds.c2
-rw-r--r--drivers/acpi/acpica/dbconvert.c2
-rw-r--r--drivers/acpi/acpica/dbdisply.c2
-rw-r--r--drivers/acpi/acpica/dbexec.c2
-rw-r--r--drivers/acpi/acpica/dbfileio.c2
-rw-r--r--drivers/acpi/acpica/dbhistry.c2
-rw-r--r--drivers/acpi/acpica/dbinput.c2
-rw-r--r--drivers/acpi/acpica/dbmethod.c2
-rw-r--r--drivers/acpi/acpica/dbnames.c2
-rw-r--r--drivers/acpi/acpica/dbobject.c2
-rw-r--r--drivers/acpi/acpica/dbstats.c2
-rw-r--r--drivers/acpi/acpica/dbtest.c2
-rw-r--r--drivers/acpi/acpica/dbutils.c2
-rw-r--r--drivers/acpi/acpica/dbxface.c6
-rw-r--r--drivers/acpi/acpica/dsargs.c2
-rw-r--r--drivers/acpi/acpica/dscontrol.c2
-rw-r--r--drivers/acpi/acpica/dsdebug.c2
-rw-r--r--drivers/acpi/acpica/dsfield.c2
-rw-r--r--drivers/acpi/acpica/dsinit.c2
-rw-r--r--drivers/acpi/acpica/dsmethod.c2
-rw-r--r--drivers/acpi/acpica/dsmthdat.c2
-rw-r--r--drivers/acpi/acpica/dsobject.c2
-rw-r--r--drivers/acpi/acpica/dsopcode.c2
-rw-r--r--drivers/acpi/acpica/dsutils.c2
-rw-r--r--drivers/acpi/acpica/dswexec.c2
-rw-r--r--drivers/acpi/acpica/dswload.c2
-rw-r--r--drivers/acpi/acpica/dswload2.c2
-rw-r--r--drivers/acpi/acpica/dswscope.c2
-rw-r--r--drivers/acpi/acpica/dswstate.c2
-rw-r--r--drivers/acpi/acpica/evevent.c2
-rw-r--r--drivers/acpi/acpica/evglock.c2
-rw-r--r--drivers/acpi/acpica/evgpe.c2
-rw-r--r--drivers/acpi/acpica/evgpeblk.c2
-rw-r--r--drivers/acpi/acpica/evgpeinit.c2
-rw-r--r--drivers/acpi/acpica/evgpeutil.c2
-rw-r--r--drivers/acpi/acpica/evhandler.c2
-rw-r--r--drivers/acpi/acpica/evmisc.c2
-rw-r--r--drivers/acpi/acpica/evregion.c2
-rw-r--r--drivers/acpi/acpica/evrgnini.c2
-rw-r--r--drivers/acpi/acpica/evsci.c2
-rw-r--r--drivers/acpi/acpica/evxface.c2
-rw-r--r--drivers/acpi/acpica/evxfevnt.c2
-rw-r--r--drivers/acpi/acpica/evxfgpe.c2
-rw-r--r--drivers/acpi/acpica/evxfregn.c2
-rw-r--r--drivers/acpi/acpica/exconcat.c2
-rw-r--r--drivers/acpi/acpica/exconfig.c2
-rw-r--r--drivers/acpi/acpica/exconvrt.c3
-rw-r--r--drivers/acpi/acpica/excreate.c2
-rw-r--r--drivers/acpi/acpica/exdebug.c2
-rw-r--r--drivers/acpi/acpica/exdump.c2
-rw-r--r--drivers/acpi/acpica/exfield.c2
-rw-r--r--drivers/acpi/acpica/exfldio.c2
-rw-r--r--drivers/acpi/acpica/exmisc.c2
-rw-r--r--drivers/acpi/acpica/exmutex.c2
-rw-r--r--drivers/acpi/acpica/exnames.c2
-rw-r--r--drivers/acpi/acpica/exoparg1.c2
-rw-r--r--drivers/acpi/acpica/exoparg2.c2
-rw-r--r--drivers/acpi/acpica/exoparg3.c2
-rw-r--r--drivers/acpi/acpica/exoparg6.c2
-rw-r--r--drivers/acpi/acpica/exprep.c2
-rw-r--r--drivers/acpi/acpica/exregion.c2
-rw-r--r--drivers/acpi/acpica/exresnte.c2
-rw-r--r--drivers/acpi/acpica/exresolv.c2
-rw-r--r--drivers/acpi/acpica/exresop.c3
-rw-r--r--drivers/acpi/acpica/exstore.c2
-rw-r--r--drivers/acpi/acpica/exstoren.c2
-rw-r--r--drivers/acpi/acpica/exstorob.c2
-rw-r--r--drivers/acpi/acpica/exsystem.c2
-rw-r--r--drivers/acpi/acpica/extrace.c2
-rw-r--r--drivers/acpi/acpica/exutils.c2
-rw-r--r--drivers/acpi/acpica/hwacpi.c2
-rw-r--r--drivers/acpi/acpica/hwesleep.c37
-rw-r--r--drivers/acpi/acpica/hwgpe.c2
-rw-r--r--drivers/acpi/acpica/hwpci.c2
-rw-r--r--drivers/acpi/acpica/hwregs.c155
-rw-r--r--drivers/acpi/acpica/hwsleep.c13
-rw-r--r--drivers/acpi/acpica/hwtimer.c2
-rw-r--r--drivers/acpi/acpica/hwvalid.c2
-rw-r--r--drivers/acpi/acpica/hwxface.c2
-rw-r--r--drivers/acpi/acpica/hwxfsleep.c2
-rw-r--r--drivers/acpi/acpica/nsaccess.c2
-rw-r--r--drivers/acpi/acpica/nsalloc.c2
-rw-r--r--drivers/acpi/acpica/nsarguments.c2
-rw-r--r--drivers/acpi/acpica/nsconvert.c2
-rw-r--r--drivers/acpi/acpica/nsdump.c2
-rw-r--r--drivers/acpi/acpica/nsdumpdv.c2
-rw-r--r--drivers/acpi/acpica/nseval.c2
-rw-r--r--drivers/acpi/acpica/nsinit.c2
-rw-r--r--drivers/acpi/acpica/nsload.c2
-rw-r--r--drivers/acpi/acpica/nsnames.c2
-rw-r--r--drivers/acpi/acpica/nsobject.c2
-rw-r--r--drivers/acpi/acpica/nsparse.c2
-rw-r--r--drivers/acpi/acpica/nspredef.c2
-rw-r--r--drivers/acpi/acpica/nsprepkg.c2
-rw-r--r--drivers/acpi/acpica/nsrepair.c2
-rw-r--r--drivers/acpi/acpica/nsrepair2.c2
-rw-r--r--drivers/acpi/acpica/nssearch.c2
-rw-r--r--drivers/acpi/acpica/nsutils.c2
-rw-r--r--drivers/acpi/acpica/nswalk.c2
-rw-r--r--drivers/acpi/acpica/nsxfeval.c2
-rw-r--r--drivers/acpi/acpica/nsxfname.c2
-rw-r--r--drivers/acpi/acpica/nsxfobj.c2
-rw-r--r--drivers/acpi/acpica/psargs.c99
-rw-r--r--drivers/acpi/acpica/psloop.c6
-rw-r--r--drivers/acpi/acpica/psobject.c12
-rw-r--r--drivers/acpi/acpica/psopcode.c2
-rw-r--r--drivers/acpi/acpica/psopinfo.c2
-rw-r--r--drivers/acpi/acpica/psparse.c2
-rw-r--r--drivers/acpi/acpica/psscope.c2
-rw-r--r--drivers/acpi/acpica/pstree.c12
-rw-r--r--drivers/acpi/acpica/psutils.c2
-rw-r--r--drivers/acpi/acpica/pswalk.c2
-rw-r--r--drivers/acpi/acpica/psxface.c2
-rw-r--r--drivers/acpi/acpica/rsaddr.c2
-rw-r--r--drivers/acpi/acpica/rscalc.c2
-rw-r--r--drivers/acpi/acpica/rscreate.c2
-rw-r--r--drivers/acpi/acpica/rsdump.c2
-rw-r--r--drivers/acpi/acpica/rsdumpinfo.c2
-rw-r--r--drivers/acpi/acpica/rsinfo.c2
-rw-r--r--drivers/acpi/acpica/rsio.c2
-rw-r--r--drivers/acpi/acpica/rsirq.c2
-rw-r--r--drivers/acpi/acpica/rslist.c2
-rw-r--r--drivers/acpi/acpica/rsmemory.c2
-rw-r--r--drivers/acpi/acpica/rsmisc.c2
-rw-r--r--drivers/acpi/acpica/rsserial.c2
-rw-r--r--drivers/acpi/acpica/rsutils.c2
-rw-r--r--drivers/acpi/acpica/rsxface.c2
-rw-r--r--drivers/acpi/acpica/tbdata.c2
-rw-r--r--drivers/acpi/acpica/tbfadt.c2
-rw-r--r--drivers/acpi/acpica/tbfind.c2
-rw-r--r--drivers/acpi/acpica/tbinstal.c2
-rw-r--r--drivers/acpi/acpica/tbprint.c2
-rw-r--r--drivers/acpi/acpica/tbutils.c2
-rw-r--r--drivers/acpi/acpica/tbxface.c2
-rw-r--r--drivers/acpi/acpica/tbxfload.c2
-rw-r--r--drivers/acpi/acpica/tbxfroot.c2
-rw-r--r--drivers/acpi/acpica/utaddress.c2
-rw-r--r--drivers/acpi/acpica/utalloc.c2
-rw-r--r--drivers/acpi/acpica/utascii.c2
-rw-r--r--drivers/acpi/acpica/utbuffer.c2
-rw-r--r--drivers/acpi/acpica/utcache.c2
-rw-r--r--drivers/acpi/acpica/utcopy.c2
-rw-r--r--drivers/acpi/acpica/utdebug.c2
-rw-r--r--drivers/acpi/acpica/utdecode.c6
-rw-r--r--drivers/acpi/acpica/utdelete.c8
-rw-r--r--drivers/acpi/acpica/uterror.c2
-rw-r--r--drivers/acpi/acpica/uteval.c2
-rw-r--r--drivers/acpi/acpica/utexcep.c2
-rw-r--r--drivers/acpi/acpica/utglobal.c2
-rw-r--r--drivers/acpi/acpica/uthex.c2
-rw-r--r--drivers/acpi/acpica/utids.c2
-rw-r--r--drivers/acpi/acpica/utinit.c2
-rw-r--r--drivers/acpi/acpica/utlock.c2
-rw-r--r--drivers/acpi/acpica/utmath.c2
-rw-r--r--drivers/acpi/acpica/utmisc.c2
-rw-r--r--drivers/acpi/acpica/utmutex.c2
-rw-r--r--drivers/acpi/acpica/utnonansi.c2
-rw-r--r--drivers/acpi/acpica/utobject.c2
-rw-r--r--drivers/acpi/acpica/utosi.c2
-rw-r--r--drivers/acpi/acpica/utownerid.c2
-rw-r--r--drivers/acpi/acpica/utpredef.c2
-rw-r--r--drivers/acpi/acpica/utprint.c2
-rw-r--r--drivers/acpi/acpica/utresrc.c19
-rw-r--r--drivers/acpi/acpica/utstate.c2
-rw-r--r--drivers/acpi/acpica/utstring.c2
-rw-r--r--drivers/acpi/acpica/utstrtoul64.c2
-rw-r--r--drivers/acpi/acpica/uttrack.c2
-rw-r--r--drivers/acpi/acpica/utuuid.c2
-rw-r--r--drivers/acpi/acpica/utxface.c2
-rw-r--r--drivers/acpi/acpica/utxferror.c2
-rw-r--r--drivers/acpi/acpica/utxfinit.c2
-rw-r--r--drivers/acpi/acpica/utxfmutex.c2
-rw-r--r--drivers/acpi/apei/einj.c2
-rw-r--r--drivers/acpi/bus.c42
-rw-r--r--drivers/acpi/button.c11
-rw-r--r--drivers/acpi/ec.c115
-rw-r--r--drivers/acpi/internal.h4
-rw-r--r--drivers/acpi/osl.c27
-rw-r--r--drivers/acpi/sleep.c19
-rw-r--r--drivers/i2c/i2c-core.c3
-rw-r--r--drivers/spi/spi.c4
-rw-r--r--include/acpi/acbuffer.h2
-rw-r--r--include/acpi/acconfig.h2
-rw-r--r--include/acpi/acexcep.h11
-rw-r--r--include/acpi/acnames.h2
-rw-r--r--include/acpi/acoutput.h2
-rw-r--r--include/acpi/acpi.h2
-rw-r--r--include/acpi/acpi_bus.h2
-rw-r--r--include/acpi/acpiosxf.h14
-rw-r--r--include/acpi/acpixf.h4
-rw-r--r--include/acpi/acrestyp.h2
-rw-r--r--include/acpi/actbl.h2
-rw-r--r--include/acpi/actbl1.h2
-rw-r--r--include/acpi/actbl2.h2
-rw-r--r--include/acpi/actbl3.h2
-rw-r--r--include/acpi/actypes.h2
-rw-r--r--include/acpi/acuuid.h2
-rw-r--r--include/acpi/platform/acenv.h9
-rw-r--r--include/acpi/platform/acenvex.h2
-rw-r--r--include/acpi/platform/acgcc.h2
-rw-r--r--include/acpi/platform/acgccex.h2
-rw-r--r--include/acpi/platform/acintel.h87
-rw-r--r--include/acpi/platform/aclinux.h9
-rw-r--r--include/acpi/platform/aclinuxex.h6
-rw-r--r--include/linux/acpi.h3
-rw-r--r--tools/power/acpi/common/cmfsize.c2
-rw-r--r--tools/power/acpi/common/getopt.c2
-rw-r--r--tools/power/acpi/os_specific/service_layers/oslinuxtbl.c2
-rw-r--r--tools/power/acpi/os_specific/service_layers/osunixdir.c2
-rw-r--r--tools/power/acpi/os_specific/service_layers/osunixmap.c2
-rw-r--r--tools/power/acpi/os_specific/service_layers/osunixxf.c24
-rw-r--r--tools/power/acpi/tools/acpidump/acpidump.h2
-rw-r--r--tools/power/acpi/tools/acpidump/apdump.c2
-rw-r--r--tools/power/acpi/tools/acpidump/apfiles.c2
-rw-r--r--tools/power/acpi/tools/acpidump/apmain.c2
240 files changed, 838 insertions, 506 deletions
diff --git a/Documentation/acpi/acpi-lid.txt b/Documentation/acpi/acpi-lid.txt
index effe7af3a5af..22cb3091f297 100644
--- a/Documentation/acpi/acpi-lid.txt
+++ b/Documentation/acpi/acpi-lid.txt
@@ -59,28 +59,20 @@ button driver uses the following 3 modes in order not to trigger issues.
59If the userspace hasn't been prepared to ignore the unreliable "opened" 59If the userspace hasn't been prepared to ignore the unreliable "opened"
60events and the unreliable initial state notification, Linux users can use 60events and the unreliable initial state notification, Linux users can use
61the following kernel parameters to handle the possible issues: 61the following kernel parameters to handle the possible issues:
62A. button.lid_init_state=method: 62A. button.lid_init_state=open:
63 When this option is specified, the ACPI button driver reports the
64 initial lid state using the returning value of the _LID control method
65 and whether the "opened"/"closed" events are paired fully relies on the
66 firmware implementation.
67 This option can be used to fix some platforms where the returning value
68 of the _LID control method is reliable but the initial lid state
69 notification is missing.
70 This option is the default behavior during the period the userspace
71 isn't ready to handle the buggy AML tables.
72B. button.lid_init_state=open:
73 When this option is specified, the ACPI button driver always reports the 63 When this option is specified, the ACPI button driver always reports the
74 initial lid state as "opened" and whether the "opened"/"closed" events 64 initial lid state as "opened" and whether the "opened"/"closed" events
75 are paired fully relies on the firmware implementation. 65 are paired fully relies on the firmware implementation.
76 This may fix some platforms where the returning value of the _LID 66 This may fix some platforms where the returning value of the _LID
77 control method is not reliable and the initial lid state notification is 67 control method is not reliable and the initial lid state notification is
78 missing. 68 missing.
69 This option is the default behavior during the period the userspace
70 isn't ready to handle the buggy AML tables.
79 71
80If the userspace has been prepared to ignore the unreliable "opened" events 72If the userspace has been prepared to ignore the unreliable "opened" events
81and the unreliable initial state notification, Linux users should always 73and the unreliable initial state notification, Linux users should always
82use the following kernel parameter: 74use the following kernel parameter:
83C. button.lid_init_state=ignore: 75B. button.lid_init_state=ignore:
84 When this option is specified, the ACPI button driver never reports the 76 When this option is specified, the ACPI button driver never reports the
85 initial lid state and there is a compensation mechanism implemented to 77 initial lid state and there is a compensation mechanism implemented to
86 ensure that the reliable "closed" notifications can always be delievered 78 ensure that the reliable "closed" notifications can always be delievered
diff --git a/arch/ia64/kernel/acpi.c b/arch/ia64/kernel/acpi.c
index 9273e034b730..7508c306aa9e 100644
--- a/arch/ia64/kernel/acpi.c
+++ b/arch/ia64/kernel/acpi.c
@@ -887,7 +887,8 @@ static int _acpi_map_lsapic(acpi_handle handle, int physid, int *pcpu)
887} 887}
888 888
889/* wrapper to silence section mismatch warning */ 889/* wrapper to silence section mismatch warning */
890int __ref acpi_map_cpu(acpi_handle handle, phys_cpuid_t physid, int *pcpu) 890int __ref acpi_map_cpu(acpi_handle handle, phys_cpuid_t physid, u32 acpi_id,
891 int *pcpu)
891{ 892{
892 return _acpi_map_lsapic(handle, physid, pcpu); 893 return _acpi_map_lsapic(handle, physid, pcpu);
893} 894}
diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c
index 7ff007ed899d..ae32838cac5f 100644
--- a/arch/x86/kernel/acpi/boot.c
+++ b/arch/x86/kernel/acpi/boot.c
@@ -724,11 +724,12 @@ int acpi_map_cpu2node(acpi_handle handle, int cpu, int physid)
724 return 0; 724 return 0;
725} 725}
726 726
727int acpi_map_cpu(acpi_handle handle, phys_cpuid_t physid, int *pcpu) 727int acpi_map_cpu(acpi_handle handle, phys_cpuid_t physid, u32 acpi_id,
728 int *pcpu)
728{ 729{
729 int cpu; 730 int cpu;
730 731
731 cpu = acpi_register_lapic(physid, U32_MAX, ACPI_MADT_ENABLED); 732 cpu = acpi_register_lapic(physid, acpi_id, ACPI_MADT_ENABLED);
732 if (cpu < 0) { 733 if (cpu < 0) {
733 pr_info(PREFIX "Unable to map lapic to logical cpu number\n"); 734 pr_info(PREFIX "Unable to map lapic to logical cpu number\n");
734 return cpu; 735 return cpu;
diff --git a/drivers/acpi/acpi_processor.c b/drivers/acpi/acpi_processor.c
index 3de3b6b8f0f1..4467a8089ab8 100644
--- a/drivers/acpi/acpi_processor.c
+++ b/drivers/acpi/acpi_processor.c
@@ -165,7 +165,7 @@ static int acpi_processor_errata(void)
165 165
166#ifdef CONFIG_ACPI_HOTPLUG_CPU 166#ifdef CONFIG_ACPI_HOTPLUG_CPU
167int __weak acpi_map_cpu(acpi_handle handle, 167int __weak acpi_map_cpu(acpi_handle handle,
168 phys_cpuid_t physid, int *pcpu) 168 phys_cpuid_t physid, u32 acpi_id, int *pcpu)
169{ 169{
170 return -ENODEV; 170 return -ENODEV;
171} 171}
@@ -203,7 +203,7 @@ static int acpi_processor_hotadd_init(struct acpi_processor *pr)
203 cpu_maps_update_begin(); 203 cpu_maps_update_begin();
204 cpu_hotplug_begin(); 204 cpu_hotplug_begin();
205 205
206 ret = acpi_map_cpu(pr->handle, pr->phys_id, &pr->id); 206 ret = acpi_map_cpu(pr->handle, pr->phys_id, pr->acpi_id, &pr->id);
207 if (ret) 207 if (ret)
208 goto out; 208 goto out;
209 209
diff --git a/drivers/acpi/acpica/acapps.h b/drivers/acpi/acpica/acapps.h
index 0bd6307e1f3c..b65f2731e9e2 100644
--- a/drivers/acpi/acpica/acapps.h
+++ b/drivers/acpi/acpica/acapps.h
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
@@ -51,26 +51,26 @@
51/* Common info for tool signons */ 51/* Common info for tool signons */
52 52
53#define ACPICA_NAME "Intel ACPI Component Architecture" 53#define ACPICA_NAME "Intel ACPI Component Architecture"
54#define ACPICA_COPYRIGHT "Copyright (c) 2000 - 2016 Intel Corporation" 54#define ACPICA_COPYRIGHT "Copyright (c) 2000 - 2017 Intel Corporation"
55 55
56#if ACPI_MACHINE_WIDTH == 64 56#if ACPI_MACHINE_WIDTH == 64
57#define ACPI_WIDTH "-64" 57#define ACPI_WIDTH " (64-bit version)"
58 58
59#elif ACPI_MACHINE_WIDTH == 32 59#elif ACPI_MACHINE_WIDTH == 32
60#define ACPI_WIDTH "-32" 60#define ACPI_WIDTH " (32-bit version)"
61 61
62#else 62#else
63#error unknown ACPI_MACHINE_WIDTH 63#error unknown ACPI_MACHINE_WIDTH
64#define ACPI_WIDTH "-??" 64#define ACPI_WIDTH " (unknown bit width, not 32 or 64)"
65 65
66#endif 66#endif
67 67
68/* Macros for signons and file headers */ 68/* Macros for signons and file headers */
69 69
70#define ACPI_COMMON_SIGNON(utility_name) \ 70#define ACPI_COMMON_SIGNON(utility_name) \
71 "\n%s\n%s version %8.8X%s\n%s\n\n", \ 71 "\n%s\n%s version %8.8X\n%s\n\n", \
72 ACPICA_NAME, \ 72 ACPICA_NAME, \
73 utility_name, ((u32) ACPI_CA_VERSION), ACPI_WIDTH, \ 73 utility_name, ((u32) ACPI_CA_VERSION), \
74 ACPICA_COPYRIGHT 74 ACPICA_COPYRIGHT
75 75
76#define ACPI_COMMON_HEADER(utility_name, prefix) \ 76#define ACPI_COMMON_HEADER(utility_name, prefix) \
diff --git a/drivers/acpi/acpica/accommon.h b/drivers/acpi/acpica/accommon.h
index 19d6ec815d12..49bf47ca5477 100644
--- a/drivers/acpi/acpica/accommon.h
+++ b/drivers/acpi/acpica/accommon.h
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/acdebug.h b/drivers/acpi/acpica/acdebug.h
index 94737f8845ac..71743e5252f5 100644
--- a/drivers/acpi/acpica/acdebug.h
+++ b/drivers/acpi/acpica/acdebug.h
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/acdispat.h b/drivers/acpi/acpica/acdispat.h
index dcd48bfedb4d..0d95c85cce06 100644
--- a/drivers/acpi/acpica/acdispat.h
+++ b/drivers/acpi/acpica/acdispat.h
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/acevents.h b/drivers/acpi/acpica/acevents.h
index 8a0049d5cdf3..a2adfd42f85c 100644
--- a/drivers/acpi/acpica/acevents.h
+++ b/drivers/acpi/acpica/acevents.h
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/acglobal.h b/drivers/acpi/acpica/acglobal.h
index edbb42e251a6..1d955fe216c4 100644
--- a/drivers/acpi/acpica/acglobal.h
+++ b/drivers/acpi/acpica/acglobal.h
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/achware.h b/drivers/acpi/acpica/achware.h
index 27addcf50c37..fd4f3cacb356 100644
--- a/drivers/acpi/acpica/achware.h
+++ b/drivers/acpi/acpica/achware.h
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/acinterp.h b/drivers/acpi/acpica/acinterp.h
index 7ead235555cf..29a863c85318 100644
--- a/drivers/acpi/acpica/acinterp.h
+++ b/drivers/acpi/acpica/acinterp.h
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/aclocal.h b/drivers/acpi/acpica/aclocal.h
index 792660054992..8fd495e8fdce 100644
--- a/drivers/acpi/acpica/aclocal.h
+++ b/drivers/acpi/acpica/aclocal.h
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
@@ -770,7 +770,7 @@ union acpi_parse_value {
770 char *operator_symbol;/* Used for C-style operator name strings */\ 770 char *operator_symbol;/* Used for C-style operator name strings */\
771 char aml_op_name[16]) /* Op name (debug only) */ 771 char aml_op_name[16]) /* Op name (debug only) */
772 772
773/* Flags for disasm_flags field above */ 773/* Internal opcodes for disasm_opcode field above */
774 774
775#define ACPI_DASM_BUFFER 0x00 /* Buffer is a simple data buffer */ 775#define ACPI_DASM_BUFFER 0x00 /* Buffer is a simple data buffer */
776#define ACPI_DASM_RESOURCE 0x01 /* Buffer is a Resource Descriptor */ 776#define ACPI_DASM_RESOURCE 0x01 /* Buffer is a Resource Descriptor */
@@ -783,7 +783,10 @@ union acpi_parse_value {
783#define ACPI_DASM_LNOT_PREFIX 0x08 /* Start of a Lnot_equal (etc.) pair of opcodes */ 783#define ACPI_DASM_LNOT_PREFIX 0x08 /* Start of a Lnot_equal (etc.) pair of opcodes */
784#define ACPI_DASM_LNOT_SUFFIX 0x09 /* End of a Lnot_equal (etc.) pair of opcodes */ 784#define ACPI_DASM_LNOT_SUFFIX 0x09 /* End of a Lnot_equal (etc.) pair of opcodes */
785#define ACPI_DASM_HID_STRING 0x0A /* String is a _HID or _CID */ 785#define ACPI_DASM_HID_STRING 0x0A /* String is a _HID or _CID */
786#define ACPI_DASM_IGNORE 0x0B /* Not used at this time */ 786#define ACPI_DASM_IGNORE_SINGLE 0x0B /* Ignore the opcode but not it's children */
787#define ACPI_DASM_SWITCH_PREDICATE 0x0C /* Object is a predicate for a Switch or Case block */
788#define ACPI_DASM_CASE 0x0D /* If/Else is a Case in a Switch/Case block */
789#define ACPI_DASM_DEFAULT 0x0E /* Else is a Default in a Switch/Case block */
787 790
788/* 791/*
789 * Generic operation (for example: If, While, Store) 792 * Generic operation (for example: If, While, Store)
diff --git a/drivers/acpi/acpica/acmacros.h b/drivers/acpi/acpica/acmacros.h
index a3b95431b7c5..c3337514e0ed 100644
--- a/drivers/acpi/acpica/acmacros.h
+++ b/drivers/acpi/acpica/acmacros.h
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
@@ -46,7 +46,7 @@
46 46
47/* 47/*
48 * Extract data using a pointer. Any more than a byte and we 48 * Extract data using a pointer. Any more than a byte and we
49 * get into potential aligment issues -- see the STORE macros below. 49 * get into potential alignment issues -- see the STORE macros below.
50 * Use with care. 50 * Use with care.
51 */ 51 */
52#define ACPI_CAST8(ptr) ACPI_CAST_PTR (u8, (ptr)) 52#define ACPI_CAST8(ptr) ACPI_CAST_PTR (u8, (ptr))
@@ -63,7 +63,7 @@
63#define ACPI_SET64(ptr, val) (*ACPI_CAST64 (ptr) = (u64) (val)) 63#define ACPI_SET64(ptr, val) (*ACPI_CAST64 (ptr) = (u64) (val))
64 64
65/* 65/*
66 * printf() format helper. This macros is a workaround for the difficulties 66 * printf() format helper. This macro is a workaround for the difficulties
67 * with emitting 64-bit integers and 64-bit pointers with the same code 67 * with emitting 64-bit integers and 64-bit pointers with the same code
68 * for both 32-bit and 64-bit hosts. 68 * for both 32-bit and 64-bit hosts.
69 */ 69 */
@@ -260,8 +260,70 @@
260 260
261#define ACPI_IS_MISALIGNED(value) (((acpi_size) value) & (sizeof(acpi_size)-1)) 261#define ACPI_IS_MISALIGNED(value) (((acpi_size) value) & (sizeof(acpi_size)-1))
262 262
263/* Generic bit manipulation */
264
265#ifndef ACPI_USE_NATIVE_BIT_FINDER
266
267#define __ACPI_FIND_LAST_BIT_2(a, r) ((((u8) (a)) & 0x02) ? (r)+1 : (r))
268#define __ACPI_FIND_LAST_BIT_4(a, r) ((((u8) (a)) & 0x0C) ? \
269 __ACPI_FIND_LAST_BIT_2 ((a)>>2, (r)+2) : \
270 __ACPI_FIND_LAST_BIT_2 ((a), (r)))
271#define __ACPI_FIND_LAST_BIT_8(a, r) ((((u8) (a)) & 0xF0) ? \
272 __ACPI_FIND_LAST_BIT_4 ((a)>>4, (r)+4) : \
273 __ACPI_FIND_LAST_BIT_4 ((a), (r)))
274#define __ACPI_FIND_LAST_BIT_16(a, r) ((((u16) (a)) & 0xFF00) ? \
275 __ACPI_FIND_LAST_BIT_8 ((a)>>8, (r)+8) : \
276 __ACPI_FIND_LAST_BIT_8 ((a), (r)))
277#define __ACPI_FIND_LAST_BIT_32(a, r) ((((u32) (a)) & 0xFFFF0000) ? \
278 __ACPI_FIND_LAST_BIT_16 ((a)>>16, (r)+16) : \
279 __ACPI_FIND_LAST_BIT_16 ((a), (r)))
280#define __ACPI_FIND_LAST_BIT_64(a, r) ((((u64) (a)) & 0xFFFFFFFF00000000) ? \
281 __ACPI_FIND_LAST_BIT_32 ((a)>>32, (r)+32) : \
282 __ACPI_FIND_LAST_BIT_32 ((a), (r)))
283
284#define ACPI_FIND_LAST_BIT_8(a) ((a) ? __ACPI_FIND_LAST_BIT_8 (a, 1) : 0)
285#define ACPI_FIND_LAST_BIT_16(a) ((a) ? __ACPI_FIND_LAST_BIT_16 (a, 1) : 0)
286#define ACPI_FIND_LAST_BIT_32(a) ((a) ? __ACPI_FIND_LAST_BIT_32 (a, 1) : 0)
287#define ACPI_FIND_LAST_BIT_64(a) ((a) ? __ACPI_FIND_LAST_BIT_64 (a, 1) : 0)
288
289#define __ACPI_FIND_FIRST_BIT_2(a, r) ((((u8) (a)) & 0x01) ? (r) : (r)+1)
290#define __ACPI_FIND_FIRST_BIT_4(a, r) ((((u8) (a)) & 0x03) ? \
291 __ACPI_FIND_FIRST_BIT_2 ((a), (r)) : \
292 __ACPI_FIND_FIRST_BIT_2 ((a)>>2, (r)+2))
293#define __ACPI_FIND_FIRST_BIT_8(a, r) ((((u8) (a)) & 0x0F) ? \
294 __ACPI_FIND_FIRST_BIT_4 ((a), (r)) : \
295 __ACPI_FIND_FIRST_BIT_4 ((a)>>4, (r)+4))
296#define __ACPI_FIND_FIRST_BIT_16(a, r) ((((u16) (a)) & 0x00FF) ? \
297 __ACPI_FIND_FIRST_BIT_8 ((a), (r)) : \
298 __ACPI_FIND_FIRST_BIT_8 ((a)>>8, (r)+8))
299#define __ACPI_FIND_FIRST_BIT_32(a, r) ((((u32) (a)) & 0x0000FFFF) ? \
300 __ACPI_FIND_FIRST_BIT_16 ((a), (r)) : \
301 __ACPI_FIND_FIRST_BIT_16 ((a)>>16, (r)+16))
302#define __ACPI_FIND_FIRST_BIT_64(a, r) ((((u64) (a)) & 0x00000000FFFFFFFF) ? \
303 __ACPI_FIND_FIRST_BIT_32 ((a), (r)) : \
304 __ACPI_FIND_FIRST_BIT_32 ((a)>>32, (r)+32))
305
306#define ACPI_FIND_FIRST_BIT_8(a) ((a) ? __ACPI_FIND_FIRST_BIT_8 (a, 1) : 0)
307#define ACPI_FIND_FIRST_BIT_16(a) ((a) ? __ACPI_FIND_FIRST_BIT_16 (a, 1) : 0)
308#define ACPI_FIND_FIRST_BIT_32(a) ((a) ? __ACPI_FIND_FIRST_BIT_32 (a, 1) : 0)
309#define ACPI_FIND_FIRST_BIT_64(a) ((a) ? __ACPI_FIND_FIRST_BIT_64 (a, 1) : 0)
310
311#endif /* ACPI_USE_NATIVE_BIT_FINDER */
312
263/* Generic (power-of-two) rounding */ 313/* Generic (power-of-two) rounding */
264 314
315#define ACPI_ROUND_UP_POWER_OF_TWO_8(a) ((u8) \
316 (((u16) 1) << ACPI_FIND_LAST_BIT_8 ((a) - 1)))
317#define ACPI_ROUND_DOWN_POWER_OF_TWO_8(a) ((u8) \
318 (((u16) 1) << (ACPI_FIND_LAST_BIT_8 ((a)) - 1)))
319#define ACPI_ROUND_UP_POWER_OF_TWO_16(a) ((u16) \
320 (((u32) 1) << ACPI_FIND_LAST_BIT_16 ((a) - 1)))
321#define ACPI_ROUND_DOWN_POWER_OF_TWO_16(a) ((u16) \
322 (((u32) 1) << (ACPI_FIND_LAST_BIT_16 ((a)) - 1)))
323#define ACPI_ROUND_UP_POWER_OF_TWO_32(a) ((u32) \
324 (((u64) 1) << ACPI_FIND_LAST_BIT_32 ((a) - 1)))
325#define ACPI_ROUND_DOWN_POWER_OF_TWO_32(a) ((u32) \
326 (((u64) 1) << (ACPI_FIND_LAST_BIT_32 ((a)) - 1)))
265#define ACPI_IS_ALIGNED(a, s) (((a) & ((s) - 1)) == 0) 327#define ACPI_IS_ALIGNED(a, s) (((a) & ((s) - 1)) == 0)
266#define ACPI_IS_POWER_OF_TWO(a) ACPI_IS_ALIGNED(a, a) 328#define ACPI_IS_POWER_OF_TWO(a) ACPI_IS_ALIGNED(a, a)
267 329
@@ -270,8 +332,8 @@
270 * Bit positions start at zero. 332 * Bit positions start at zero.
271 * MASK_BITS_ABOVE creates a mask starting AT the position and above 333 * MASK_BITS_ABOVE creates a mask starting AT the position and above
272 * MASK_BITS_BELOW creates a mask starting one bit BELOW the position 334 * MASK_BITS_BELOW creates a mask starting one bit BELOW the position
273 * MASK_BITS_ABOVE/BELOW accpets a bit offset to create a mask 335 * MASK_BITS_ABOVE/BELOW accepts a bit offset to create a mask
274 * MASK_BITS_ABOVE/BELOW_32/64 accpets a bit width to create a mask 336 * MASK_BITS_ABOVE/BELOW_32/64 accepts a bit width to create a mask
275 * Note: The ACPI_INTEGER_BIT_SIZE check is used to bypass compiler 337 * Note: The ACPI_INTEGER_BIT_SIZE check is used to bypass compiler
276 * differences with the shift operator 338 * differences with the shift operator
277 */ 339 */
@@ -389,7 +451,7 @@
389 */ 451 */
390#ifndef ACPI_NO_ERROR_MESSAGES 452#ifndef ACPI_NO_ERROR_MESSAGES
391/* 453/*
392 * Error reporting. Callers module and line number are inserted by AE_INFO, 454 * Error reporting. The callers module and line number are inserted by AE_INFO,
393 * the plist contains a set of parens to allow variable-length lists. 455 * the plist contains a set of parens to allow variable-length lists.
394 * These macros are used for both the debug and non-debug versions of the code. 456 * These macros are used for both the debug and non-debug versions of the code.
395 */ 457 */
diff --git a/drivers/acpi/acpica/acnamesp.h b/drivers/acpi/acpica/acnamesp.h
index 7affdcdfcc81..54a0c51b3e37 100644
--- a/drivers/acpi/acpica/acnamesp.h
+++ b/drivers/acpi/acpica/acnamesp.h
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/acobject.h b/drivers/acpi/acpica/acobject.h
index 094b042678f7..27c3f982d810 100644
--- a/drivers/acpi/acpica/acobject.h
+++ b/drivers/acpi/acpica/acobject.h
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/acopcode.h b/drivers/acpi/acpica/acopcode.h
index ca4bda1a60be..e758f098ff4b 100644
--- a/drivers/acpi/acpica/acopcode.h
+++ b/drivers/acpi/acpica/acopcode.h
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
@@ -92,7 +92,7 @@
92#define ARGP_BYTELIST_OP ARGP_LIST1 (ARGP_NAMESTRING) 92#define ARGP_BYTELIST_OP ARGP_LIST1 (ARGP_NAMESTRING)
93#define ARGP_CONCAT_OP ARGP_LIST3 (ARGP_TERMARG, ARGP_TERMARG, ARGP_TARGET) 93#define ARGP_CONCAT_OP ARGP_LIST3 (ARGP_TERMARG, ARGP_TERMARG, ARGP_TARGET)
94#define ARGP_CONCAT_RES_OP ARGP_LIST3 (ARGP_TERMARG, ARGP_TERMARG, ARGP_TARGET) 94#define ARGP_CONCAT_RES_OP ARGP_LIST3 (ARGP_TERMARG, ARGP_TERMARG, ARGP_TARGET)
95#define ARGP_COND_REF_OF_OP ARGP_LIST2 (ARGP_NAME_OR_REF,ARGP_TARGET) 95#define ARGP_COND_REF_OF_OP ARGP_LIST2 (ARGP_SIMPLENAME, ARGP_TARGET)
96#define ARGP_CONNECTFIELD_OP ARGP_LIST1 (ARGP_NAMESTRING) 96#define ARGP_CONNECTFIELD_OP ARGP_LIST1 (ARGP_NAMESTRING)
97#define ARGP_CONTINUE_OP ARG_NONE 97#define ARGP_CONTINUE_OP ARG_NONE
98#define ARGP_COPY_OP ARGP_LIST2 (ARGP_TERMARG, ARGP_SIMPLENAME) 98#define ARGP_COPY_OP ARGP_LIST2 (ARGP_TERMARG, ARGP_SIMPLENAME)
@@ -105,7 +105,7 @@
105#define ARGP_DATA_REGION_OP ARGP_LIST4 (ARGP_NAME, ARGP_TERMARG, ARGP_TERMARG, ARGP_TERMARG) 105#define ARGP_DATA_REGION_OP ARGP_LIST4 (ARGP_NAME, ARGP_TERMARG, ARGP_TERMARG, ARGP_TERMARG)
106#define ARGP_DEBUG_OP ARG_NONE 106#define ARGP_DEBUG_OP ARG_NONE
107#define ARGP_DECREMENT_OP ARGP_LIST1 (ARGP_SUPERNAME) 107#define ARGP_DECREMENT_OP ARGP_LIST1 (ARGP_SUPERNAME)
108#define ARGP_DEREF_OF_OP ARGP_LIST1 (ARGP_TERMARG) 108#define ARGP_DEREF_OF_OP ARGP_LIST1 (ARGP_SUPERNAME)
109#define ARGP_DEVICE_OP ARGP_LIST3 (ARGP_PKGLENGTH, ARGP_NAME, ARGP_OBJLIST) 109#define ARGP_DEVICE_OP ARGP_LIST3 (ARGP_PKGLENGTH, ARGP_NAME, ARGP_OBJLIST)
110#define ARGP_DIVIDE_OP ARGP_LIST4 (ARGP_TERMARG, ARGP_TERMARG, ARGP_TARGET, ARGP_TARGET) 110#define ARGP_DIVIDE_OP ARGP_LIST4 (ARGP_TERMARG, ARGP_TERMARG, ARGP_TARGET, ARGP_TARGET)
111#define ARGP_DWORD_OP ARGP_LIST1 (ARGP_DWORDDATA) 111#define ARGP_DWORD_OP ARGP_LIST1 (ARGP_DWORDDATA)
@@ -152,14 +152,14 @@
152#define ARGP_NAMEPATH_OP ARGP_LIST1 (ARGP_NAMESTRING) 152#define ARGP_NAMEPATH_OP ARGP_LIST1 (ARGP_NAMESTRING)
153#define ARGP_NOOP_OP ARG_NONE 153#define ARGP_NOOP_OP ARG_NONE
154#define ARGP_NOTIFY_OP ARGP_LIST2 (ARGP_SUPERNAME, ARGP_TERMARG) 154#define ARGP_NOTIFY_OP ARGP_LIST2 (ARGP_SUPERNAME, ARGP_TERMARG)
155#define ARGP_OBJECT_TYPE_OP ARGP_LIST1 (ARGP_NAME_OR_REF) 155#define ARGP_OBJECT_TYPE_OP ARGP_LIST1 (ARGP_SIMPLENAME)
156#define ARGP_ONE_OP ARG_NONE 156#define ARGP_ONE_OP ARG_NONE
157#define ARGP_ONES_OP ARG_NONE 157#define ARGP_ONES_OP ARG_NONE
158#define ARGP_PACKAGE_OP ARGP_LIST3 (ARGP_PKGLENGTH, ARGP_BYTEDATA, ARGP_DATAOBJLIST) 158#define ARGP_PACKAGE_OP ARGP_LIST3 (ARGP_PKGLENGTH, ARGP_BYTEDATA, ARGP_DATAOBJLIST)
159#define ARGP_POWER_RES_OP ARGP_LIST5 (ARGP_PKGLENGTH, ARGP_NAME, ARGP_BYTEDATA, ARGP_WORDDATA, ARGP_OBJLIST) 159#define ARGP_POWER_RES_OP ARGP_LIST5 (ARGP_PKGLENGTH, ARGP_NAME, ARGP_BYTEDATA, ARGP_WORDDATA, ARGP_OBJLIST)
160#define ARGP_PROCESSOR_OP ARGP_LIST6 (ARGP_PKGLENGTH, ARGP_NAME, ARGP_BYTEDATA, ARGP_DWORDDATA, ARGP_BYTEDATA, ARGP_OBJLIST) 160#define ARGP_PROCESSOR_OP ARGP_LIST6 (ARGP_PKGLENGTH, ARGP_NAME, ARGP_BYTEDATA, ARGP_DWORDDATA, ARGP_BYTEDATA, ARGP_OBJLIST)
161#define ARGP_QWORD_OP ARGP_LIST1 (ARGP_QWORDDATA) 161#define ARGP_QWORD_OP ARGP_LIST1 (ARGP_QWORDDATA)
162#define ARGP_REF_OF_OP ARGP_LIST1 (ARGP_NAME_OR_REF) 162#define ARGP_REF_OF_OP ARGP_LIST1 (ARGP_SIMPLENAME)
163#define ARGP_REGION_OP ARGP_LIST4 (ARGP_NAME, ARGP_BYTEDATA, ARGP_TERMARG, ARGP_TERMARG) 163#define ARGP_REGION_OP ARGP_LIST4 (ARGP_NAME, ARGP_BYTEDATA, ARGP_TERMARG, ARGP_TERMARG)
164#define ARGP_RELEASE_OP ARGP_LIST1 (ARGP_SUPERNAME) 164#define ARGP_RELEASE_OP ARGP_LIST1 (ARGP_SUPERNAME)
165#define ARGP_RESERVEDFIELD_OP ARGP_LIST1 (ARGP_NAMESTRING) 165#define ARGP_RESERVEDFIELD_OP ARGP_LIST1 (ARGP_NAMESTRING)
@@ -249,7 +249,7 @@
249#define ARGI_FIELD_OP ARGI_INVALID_OPCODE 249#define ARGI_FIELD_OP ARGI_INVALID_OPCODE
250#define ARGI_FIND_SET_LEFT_BIT_OP ARGI_LIST2 (ARGI_INTEGER, ARGI_TARGETREF) 250#define ARGI_FIND_SET_LEFT_BIT_OP ARGI_LIST2 (ARGI_INTEGER, ARGI_TARGETREF)
251#define ARGI_FIND_SET_RIGHT_BIT_OP ARGI_LIST2 (ARGI_INTEGER, ARGI_TARGETREF) 251#define ARGI_FIND_SET_RIGHT_BIT_OP ARGI_LIST2 (ARGI_INTEGER, ARGI_TARGETREF)
252#define ARGI_FROM_BCD_OP ARGI_LIST2 (ARGI_INTEGER, ARGI_FIXED_TARGET) 252#define ARGI_FROM_BCD_OP ARGI_LIST2 (ARGI_INTEGER, ARGI_TARGETREF)
253#define ARGI_IF_OP ARGI_INVALID_OPCODE 253#define ARGI_IF_OP ARGI_INVALID_OPCODE
254#define ARGI_INCREMENT_OP ARGI_LIST1 (ARGI_TARGETREF) 254#define ARGI_INCREMENT_OP ARGI_LIST1 (ARGI_TARGETREF)
255#define ARGI_INDEX_FIELD_OP ARGI_INVALID_OPCODE 255#define ARGI_INDEX_FIELD_OP ARGI_INVALID_OPCODE
@@ -313,12 +313,12 @@
313#define ARGI_SUBTRACT_OP ARGI_LIST3 (ARGI_INTEGER, ARGI_INTEGER, ARGI_TARGETREF) 313#define ARGI_SUBTRACT_OP ARGI_LIST3 (ARGI_INTEGER, ARGI_INTEGER, ARGI_TARGETREF)
314#define ARGI_THERMAL_ZONE_OP ARGI_INVALID_OPCODE 314#define ARGI_THERMAL_ZONE_OP ARGI_INVALID_OPCODE
315#define ARGI_TIMER_OP ARG_NONE 315#define ARGI_TIMER_OP ARG_NONE
316#define ARGI_TO_BCD_OP ARGI_LIST2 (ARGI_INTEGER, ARGI_FIXED_TARGET) 316#define ARGI_TO_BCD_OP ARGI_LIST2 (ARGI_INTEGER, ARGI_TARGETREF)
317#define ARGI_TO_BUFFER_OP ARGI_LIST2 (ARGI_COMPUTEDATA,ARGI_FIXED_TARGET) 317#define ARGI_TO_BUFFER_OP ARGI_LIST2 (ARGI_COMPUTEDATA,ARGI_TARGETREF)
318#define ARGI_TO_DEC_STR_OP ARGI_LIST2 (ARGI_COMPUTEDATA,ARGI_FIXED_TARGET) 318#define ARGI_TO_DEC_STR_OP ARGI_LIST2 (ARGI_COMPUTEDATA,ARGI_TARGETREF)
319#define ARGI_TO_HEX_STR_OP ARGI_LIST2 (ARGI_COMPUTEDATA,ARGI_FIXED_TARGET) 319#define ARGI_TO_HEX_STR_OP ARGI_LIST2 (ARGI_COMPUTEDATA,ARGI_TARGETREF)
320#define ARGI_TO_INTEGER_OP ARGI_LIST2 (ARGI_COMPUTEDATA,ARGI_FIXED_TARGET) 320#define ARGI_TO_INTEGER_OP ARGI_LIST2 (ARGI_COMPUTEDATA,ARGI_TARGETREF)
321#define ARGI_TO_STRING_OP ARGI_LIST3 (ARGI_BUFFER, ARGI_INTEGER, ARGI_FIXED_TARGET) 321#define ARGI_TO_STRING_OP ARGI_LIST3 (ARGI_BUFFER, ARGI_INTEGER, ARGI_TARGETREF)
322#define ARGI_UNLOAD_OP ARGI_LIST1 (ARGI_DDBHANDLE) 322#define ARGI_UNLOAD_OP ARGI_LIST1 (ARGI_DDBHANDLE)
323#define ARGI_VAR_PACKAGE_OP ARGI_LIST1 (ARGI_INTEGER) 323#define ARGI_VAR_PACKAGE_OP ARGI_LIST1 (ARGI_INTEGER)
324#define ARGI_WAIT_OP ARGI_LIST2 (ARGI_EVENT, ARGI_INTEGER) 324#define ARGI_WAIT_OP ARGI_LIST2 (ARGI_EVENT, ARGI_INTEGER)
diff --git a/drivers/acpi/acpica/acparser.h b/drivers/acpi/acpica/acparser.h
index 939d41113970..c23c47328060 100644
--- a/drivers/acpi/acpica/acparser.h
+++ b/drivers/acpi/acpica/acparser.h
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/acpredef.h b/drivers/acpi/acpica/acpredef.h
index 888440b2cf2e..dcfc05d40e36 100644
--- a/drivers/acpi/acpica/acpredef.h
+++ b/drivers/acpi/acpica/acpredef.h
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/acresrc.h b/drivers/acpi/acpica/acresrc.h
index 63da1e37caba..b4d22f6e48e2 100644
--- a/drivers/acpi/acpica/acresrc.h
+++ b/drivers/acpi/acpica/acresrc.h
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/acstruct.h b/drivers/acpi/acpica/acstruct.h
index 6235642e31d3..62134bdbeda6 100644
--- a/drivers/acpi/acpica/acstruct.h
+++ b/drivers/acpi/acpica/acstruct.h
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/actables.h b/drivers/acpi/acpica/actables.h
index 94be8a8e6c08..c8da453bd960 100644
--- a/drivers/acpi/acpica/actables.h
+++ b/drivers/acpi/acpica/actables.h
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/acutils.h b/drivers/acpi/acpica/acutils.h
index 845afb180a7e..6f28cfae2212 100644
--- a/drivers/acpi/acpica/acutils.h
+++ b/drivers/acpi/acpica/acutils.h
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/amlcode.h b/drivers/acpi/acpica/amlcode.h
index 6bd8d4bcff65..b536fd471292 100644
--- a/drivers/acpi/acpica/amlcode.h
+++ b/drivers/acpi/acpica/amlcode.h
@@ -7,7 +7,7 @@
7 *****************************************************************************/ 7 *****************************************************************************/
8 8
9/* 9/*
10 * Copyright (C) 2000 - 2016, Intel Corp. 10 * Copyright (C) 2000 - 2017, Intel Corp.
11 * All rights reserved. 11 * All rights reserved.
12 * 12 *
13 * Redistribution and use in source and binary forms, with or without 13 * Redistribution and use in source and binary forms, with or without
@@ -277,9 +277,23 @@
277#define ARGI_DEVICE_REF 0x0D 277#define ARGI_DEVICE_REF 0x0D
278#define ARGI_REFERENCE 0x0E 278#define ARGI_REFERENCE 0x0E
279#define ARGI_TARGETREF 0x0F /* Target, subject to implicit conversion */ 279#define ARGI_TARGETREF 0x0F /* Target, subject to implicit conversion */
280#define ARGI_FIXED_TARGET 0x10 /* Target, no implicit conversion */ 280#define ARGI_SIMPLE_TARGET 0x10 /* Name, Local, Arg -- no implicit conversion */
281#define ARGI_SIMPLE_TARGET 0x11 /* Name, Local, Arg -- no implicit conversion */ 281#define ARGI_STORE_TARGET 0x11 /* Target for store is TARGETREF + package objects */
282#define ARGI_STORE_TARGET 0x12 /* Target for store is TARGETREF + package objects */ 282/*
283 * #define ARGI_FIXED_TARGET 0x10 Target, no implicit conversion
284 *
285 * Removed 10/2016. ARGI_FIXED_TARGET was used for these operators:
286 * from_BCD
287 * to_BCD
288 * to_decimal_string
289 * to_hex_string
290 * to_integer
291 * to_buffer
292 * The purpose of this type was to disable "implicit result conversion",
293 * but this was incorrect per the ACPI spec and other ACPI implementations.
294 * These operators now have the target operand defined as a normal
295 * ARGI_TARGETREF.
296 */
283 297
284/* Multiple/complex types */ 298/* Multiple/complex types */
285 299
diff --git a/drivers/acpi/acpica/amlresrc.h b/drivers/acpi/acpica/amlresrc.h
index dee6c7ea4773..653a3d1ef5d5 100644
--- a/drivers/acpi/acpica/amlresrc.h
+++ b/drivers/acpi/acpica/amlresrc.h
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/dbcmds.c b/drivers/acpi/acpica/dbcmds.c
index 62bd446535f5..5984b90eb590 100644
--- a/drivers/acpi/acpica/dbcmds.c
+++ b/drivers/acpi/acpica/dbcmds.c
@@ -5,7 +5,7 @@
5 ******************************************************************************/ 5 ******************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/dbconvert.c b/drivers/acpi/acpica/dbconvert.c
index 147ce8894f76..251f9477a984 100644
--- a/drivers/acpi/acpica/dbconvert.c
+++ b/drivers/acpi/acpica/dbconvert.c
@@ -5,7 +5,7 @@
5 ******************************************************************************/ 5 ******************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/dbdisply.c b/drivers/acpi/acpica/dbdisply.c
index 502bb587f112..46bf270ac525 100644
--- a/drivers/acpi/acpica/dbdisply.c
+++ b/drivers/acpi/acpica/dbdisply.c
@@ -5,7 +5,7 @@
5 ******************************************************************************/ 5 ******************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/dbexec.c b/drivers/acpi/acpica/dbexec.c
index fe3da7c31bb7..b611cd92b5f5 100644
--- a/drivers/acpi/acpica/dbexec.c
+++ b/drivers/acpi/acpica/dbexec.c
@@ -5,7 +5,7 @@
5 ******************************************************************************/ 5 ******************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/dbfileio.c b/drivers/acpi/acpica/dbfileio.c
index 6f05b8c271a5..4d81ea291d93 100644
--- a/drivers/acpi/acpica/dbfileio.c
+++ b/drivers/acpi/acpica/dbfileio.c
@@ -6,7 +6,7 @@
6 ******************************************************************************/ 6 ******************************************************************************/
7 7
8/* 8/*
9 * Copyright (C) 2000 - 2016, Intel Corp. 9 * Copyright (C) 2000 - 2017, Intel Corp.
10 * All rights reserved. 10 * All rights reserved.
11 * 11 *
12 * Redistribution and use in source and binary forms, with or without 12 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/dbhistry.c b/drivers/acpi/acpica/dbhistry.c
index 46bd65d38df9..7d08974c64c2 100644
--- a/drivers/acpi/acpica/dbhistry.c
+++ b/drivers/acpi/acpica/dbhistry.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/dbinput.c b/drivers/acpi/acpica/dbinput.c
index 068214f9cc9d..2626d79db064 100644
--- a/drivers/acpi/acpica/dbinput.c
+++ b/drivers/acpi/acpica/dbinput.c
@@ -5,7 +5,7 @@
5 ******************************************************************************/ 5 ******************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/dbmethod.c b/drivers/acpi/acpica/dbmethod.c
index 314b94cf086a..15c8237b8a80 100644
--- a/drivers/acpi/acpica/dbmethod.c
+++ b/drivers/acpi/acpica/dbmethod.c
@@ -5,7 +5,7 @@
5 ******************************************************************************/ 5 ******************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/dbnames.c b/drivers/acpi/acpica/dbnames.c
index 8667f14d535e..8c207c772517 100644
--- a/drivers/acpi/acpica/dbnames.c
+++ b/drivers/acpi/acpica/dbnames.c
@@ -5,7 +5,7 @@
5 ******************************************************************************/ 5 ******************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/dbobject.c b/drivers/acpi/acpica/dbobject.c
index 08eaaf350b24..f2252b1ac0b3 100644
--- a/drivers/acpi/acpica/dbobject.c
+++ b/drivers/acpi/acpica/dbobject.c
@@ -5,7 +5,7 @@
5 ******************************************************************************/ 5 ******************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/dbstats.c b/drivers/acpi/acpica/dbstats.c
index a414e1fa6f9d..99fb0160b8fb 100644
--- a/drivers/acpi/acpica/dbstats.c
+++ b/drivers/acpi/acpica/dbstats.c
@@ -5,7 +5,7 @@
5 ******************************************************************************/ 5 ******************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/dbtest.c b/drivers/acpi/acpica/dbtest.c
index 74aa38156cdc..c6bee6143266 100644
--- a/drivers/acpi/acpica/dbtest.c
+++ b/drivers/acpi/acpica/dbtest.c
@@ -5,7 +5,7 @@
5 ******************************************************************************/ 5 ******************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/dbutils.c b/drivers/acpi/acpica/dbutils.c
index ae80106d1000..bfa972b64171 100644
--- a/drivers/acpi/acpica/dbutils.c
+++ b/drivers/acpi/acpica/dbutils.c
@@ -5,7 +5,7 @@
5 ******************************************************************************/ 5 ******************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/dbxface.c b/drivers/acpi/acpica/dbxface.c
index 124db237775d..205b8e0eded5 100644
--- a/drivers/acpi/acpica/dbxface.c
+++ b/drivers/acpi/acpica/dbxface.c
@@ -5,7 +5,7 @@
5 ******************************************************************************/ 5 ******************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
@@ -430,7 +430,7 @@ acpi_status acpi_initialize_debugger(void)
430 430
431 /* These were created with one unit, grab it */ 431 /* These were created with one unit, grab it */
432 432
433 status = acpi_os_initialize_command_signals(); 433 status = acpi_os_initialize_debugger();
434 if (ACPI_FAILURE(status)) { 434 if (ACPI_FAILURE(status)) {
435 acpi_os_printf("Could not get debugger mutex\n"); 435 acpi_os_printf("Could not get debugger mutex\n");
436 return_ACPI_STATUS(status); 436 return_ACPI_STATUS(status);
@@ -482,7 +482,7 @@ void acpi_terminate_debugger(void)
482 acpi_os_sleep(100); 482 acpi_os_sleep(100);
483 } 483 }
484 484
485 acpi_os_terminate_command_signals(); 485 acpi_os_terminate_debugger();
486 } 486 }
487 487
488 if (acpi_gbl_db_buffer) { 488 if (acpi_gbl_db_buffer) {
diff --git a/drivers/acpi/acpica/dsargs.c b/drivers/acpi/acpica/dsargs.c
index ad0413beeeae..287b3fd73cfc 100644
--- a/drivers/acpi/acpica/dsargs.c
+++ b/drivers/acpi/acpica/dsargs.c
@@ -6,7 +6,7 @@
6 *****************************************************************************/ 6 *****************************************************************************/
7 7
8/* 8/*
9 * Copyright (C) 2000 - 2016, Intel Corp. 9 * Copyright (C) 2000 - 2017, Intel Corp.
10 * All rights reserved. 10 * All rights reserved.
11 * 11 *
12 * Redistribution and use in source and binary forms, with or without 12 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/dscontrol.c b/drivers/acpi/acpica/dscontrol.c
index 4ddcbf100234..d31b49feaa79 100644
--- a/drivers/acpi/acpica/dscontrol.c
+++ b/drivers/acpi/acpica/dscontrol.c
@@ -6,7 +6,7 @@
6 *****************************************************************************/ 6 *****************************************************************************/
7 7
8/* 8/*
9 * Copyright (C) 2000 - 2016, Intel Corp. 9 * Copyright (C) 2000 - 2017, Intel Corp.
10 * All rights reserved. 10 * All rights reserved.
11 * 11 *
12 * Redistribution and use in source and binary forms, with or without 12 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/dsdebug.c b/drivers/acpi/acpica/dsdebug.c
index 56c3aadb4cba..4d885eb8eda9 100644
--- a/drivers/acpi/acpica/dsdebug.c
+++ b/drivers/acpi/acpica/dsdebug.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/dsfield.c b/drivers/acpi/acpica/dsfield.c
index 6a4b603d0e83..c5dccc54307d 100644
--- a/drivers/acpi/acpica/dsfield.c
+++ b/drivers/acpi/acpica/dsfield.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/dsinit.c b/drivers/acpi/acpica/dsinit.c
index 5de3f10cab03..b1842dd4edf7 100644
--- a/drivers/acpi/acpica/dsinit.c
+++ b/drivers/acpi/acpica/dsinit.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/dsmethod.c b/drivers/acpi/acpica/dsmethod.c
index 2b3210f42a46..31c9c7aec3d5 100644
--- a/drivers/acpi/acpica/dsmethod.c
+++ b/drivers/acpi/acpica/dsmethod.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/dsmthdat.c b/drivers/acpi/acpica/dsmthdat.c
index 45cbebaa32c0..adcc72cd53a7 100644
--- a/drivers/acpi/acpica/dsmthdat.c
+++ b/drivers/acpi/acpica/dsmthdat.c
@@ -5,7 +5,7 @@
5 ******************************************************************************/ 5 ******************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/dsobject.c b/drivers/acpi/acpica/dsobject.c
index a91de2b4603c..8deaa16493a0 100644
--- a/drivers/acpi/acpica/dsobject.c
+++ b/drivers/acpi/acpica/dsobject.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/dsopcode.c b/drivers/acpi/acpica/dsopcode.c
index 77fd7c84ec39..148523205d41 100644
--- a/drivers/acpi/acpica/dsopcode.c
+++ b/drivers/acpi/acpica/dsopcode.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/dsutils.c b/drivers/acpi/acpica/dsutils.c
index 7d8ef52fb88d..049fbab4e5a6 100644
--- a/drivers/acpi/acpica/dsutils.c
+++ b/drivers/acpi/acpica/dsutils.c
@@ -5,7 +5,7 @@
5 ******************************************************************************/ 5 ******************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/dswexec.c b/drivers/acpi/acpica/dswexec.c
index 438597cf6cc5..78f8e6a4f72f 100644
--- a/drivers/acpi/acpica/dswexec.c
+++ b/drivers/acpi/acpica/dswexec.c
@@ -6,7 +6,7 @@
6 *****************************************************************************/ 6 *****************************************************************************/
7 7
8/* 8/*
9 * Copyright (C) 2000 - 2016, Intel Corp. 9 * Copyright (C) 2000 - 2017, Intel Corp.
10 * All rights reserved. 10 * All rights reserved.
11 * 11 *
12 * Redistribution and use in source and binary forms, with or without 12 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/dswload.c b/drivers/acpi/acpica/dswload.c
index fd34040d4f44..cafb3ab567ab 100644
--- a/drivers/acpi/acpica/dswload.c
+++ b/drivers/acpi/acpica/dswload.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/dswload2.c b/drivers/acpi/acpica/dswload2.c
index 651f35a66cc2..44d4553dfbdd 100644
--- a/drivers/acpi/acpica/dswload2.c
+++ b/drivers/acpi/acpica/dswload2.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/dswscope.c b/drivers/acpi/acpica/dswscope.c
index 9f32e08a07d9..3e081983d2ee 100644
--- a/drivers/acpi/acpica/dswscope.c
+++ b/drivers/acpi/acpica/dswscope.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/dswstate.c b/drivers/acpi/acpica/dswstate.c
index e3338698e56b..da111a1f5bfb 100644
--- a/drivers/acpi/acpica/dswstate.c
+++ b/drivers/acpi/acpica/dswstate.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/evevent.c b/drivers/acpi/acpica/evevent.c
index 80fc0b9b11e5..d3b6b314fa50 100644
--- a/drivers/acpi/acpica/evevent.c
+++ b/drivers/acpi/acpica/evevent.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/evglock.c b/drivers/acpi/acpica/evglock.c
index 9f015782cdd3..0ce33b0f430c 100644
--- a/drivers/acpi/acpica/evglock.c
+++ b/drivers/acpi/acpica/evglock.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/evgpe.c b/drivers/acpi/acpica/evgpe.c
index bdb10bee13ce..229382035550 100644
--- a/drivers/acpi/acpica/evgpe.c
+++ b/drivers/acpi/acpica/evgpe.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/evgpeblk.c b/drivers/acpi/acpica/evgpeblk.c
index d54014cab01d..9c941947a063 100644
--- a/drivers/acpi/acpica/evgpeblk.c
+++ b/drivers/acpi/acpica/evgpeblk.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/evgpeinit.c b/drivers/acpi/acpica/evgpeinit.c
index 16ce4835e7d0..8649c6242478 100644
--- a/drivers/acpi/acpica/evgpeinit.c
+++ b/drivers/acpi/acpica/evgpeinit.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/evgpeutil.c b/drivers/acpi/acpica/evgpeutil.c
index 3f150d567e64..c8adb400330a 100644
--- a/drivers/acpi/acpica/evgpeutil.c
+++ b/drivers/acpi/acpica/evgpeutil.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/evhandler.c b/drivers/acpi/acpica/evhandler.c
index 24768ca03f19..2db61ef1b4a3 100644
--- a/drivers/acpi/acpica/evhandler.c
+++ b/drivers/acpi/acpica/evhandler.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/evmisc.c b/drivers/acpi/acpica/evmisc.c
index f51d43adb7d1..4f6bb3f016ab 100644
--- a/drivers/acpi/acpica/evmisc.c
+++ b/drivers/acpi/acpica/evmisc.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/evregion.c b/drivers/acpi/acpica/evregion.c
index 4c6f79514040..28b447ff92df 100644
--- a/drivers/acpi/acpica/evregion.c
+++ b/drivers/acpi/acpica/evregion.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/evrgnini.c b/drivers/acpi/acpica/evrgnini.c
index a9092251ce80..93ec528bcd9a 100644
--- a/drivers/acpi/acpica/evrgnini.c
+++ b/drivers/acpi/acpica/evrgnini.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/evsci.c b/drivers/acpi/acpica/evsci.c
index 3b7757c9c916..8ce73b962006 100644
--- a/drivers/acpi/acpica/evsci.c
+++ b/drivers/acpi/acpica/evsci.c
@@ -6,7 +6,7 @@
6 ******************************************************************************/ 6 ******************************************************************************/
7 7
8/* 8/*
9 * Copyright (C) 2000 - 2016, Intel Corp. 9 * Copyright (C) 2000 - 2017, Intel Corp.
10 * All rights reserved. 10 * All rights reserved.
11 * 11 *
12 * Redistribution and use in source and binary forms, with or without 12 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/evxface.c b/drivers/acpi/acpica/evxface.c
index e4e9260cdc57..dd1b9dd64cef 100644
--- a/drivers/acpi/acpica/evxface.c
+++ b/drivers/acpi/acpica/evxface.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/evxfevnt.c b/drivers/acpi/acpica/evxfevnt.c
index 9179e9abe3db..82e8971f23a4 100644
--- a/drivers/acpi/acpica/evxfevnt.c
+++ b/drivers/acpi/acpica/evxfevnt.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/evxfgpe.c b/drivers/acpi/acpica/evxfgpe.c
index d7a3b2775505..57718a3e029a 100644
--- a/drivers/acpi/acpica/evxfgpe.c
+++ b/drivers/acpi/acpica/evxfgpe.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/evxfregn.c b/drivers/acpi/acpica/evxfregn.c
index d2743067126a..beba9d56a0d8 100644
--- a/drivers/acpi/acpica/evxfregn.c
+++ b/drivers/acpi/acpica/evxfregn.c
@@ -6,7 +6,7 @@
6 *****************************************************************************/ 6 *****************************************************************************/
7 7
8/* 8/*
9 * Copyright (C) 2000 - 2016, Intel Corp. 9 * Copyright (C) 2000 - 2017, Intel Corp.
10 * All rights reserved. 10 * All rights reserved.
11 * 11 *
12 * Redistribution and use in source and binary forms, with or without 12 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/exconcat.c b/drivers/acpi/acpica/exconcat.c
index 5429c2a6bc41..76bfb7dcae2f 100644
--- a/drivers/acpi/acpica/exconcat.c
+++ b/drivers/acpi/acpica/exconcat.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/exconfig.c b/drivers/acpi/acpica/exconfig.c
index c32c7829878a..61813bd43f9e 100644
--- a/drivers/acpi/acpica/exconfig.c
+++ b/drivers/acpi/acpica/exconfig.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/exconvrt.c b/drivers/acpi/acpica/exconvrt.c
index 588ad1409dbe..f71028e334ee 100644
--- a/drivers/acpi/acpica/exconvrt.c
+++ b/drivers/acpi/acpica/exconvrt.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
@@ -592,7 +592,6 @@ acpi_ex_convert_to_target_type(acpi_object_type destination_type,
592 */ 592 */
593 switch (GET_CURRENT_ARG_TYPE(walk_state->op_info->runtime_args)) { 593 switch (GET_CURRENT_ARG_TYPE(walk_state->op_info->runtime_args)) {
594 case ARGI_SIMPLE_TARGET: 594 case ARGI_SIMPLE_TARGET:
595 case ARGI_FIXED_TARGET:
596 case ARGI_INTEGER_REF: /* Handles Increment, Decrement cases */ 595 case ARGI_INTEGER_REF: /* Handles Increment, Decrement cases */
597 596
598 switch (destination_type) { 597 switch (destination_type) {
diff --git a/drivers/acpi/acpica/excreate.c b/drivers/acpi/acpica/excreate.c
index 613ba6eb08bb..d43d7da4c734 100644
--- a/drivers/acpi/acpica/excreate.c
+++ b/drivers/acpi/acpica/excreate.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/exdebug.c b/drivers/acpi/acpica/exdebug.c
index 37a509d016da..ec614f5a3bcb 100644
--- a/drivers/acpi/acpica/exdebug.c
+++ b/drivers/acpi/acpica/exdebug.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/exdump.c b/drivers/acpi/acpica/exdump.c
index fce6b2e10209..970dc6c53994 100644
--- a/drivers/acpi/acpica/exdump.c
+++ b/drivers/acpi/acpica/exdump.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/exfield.c b/drivers/acpi/acpica/exfield.c
index d7d3ee36338b..5fda981f6498 100644
--- a/drivers/acpi/acpica/exfield.c
+++ b/drivers/acpi/acpica/exfield.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/exfldio.c b/drivers/acpi/acpica/exfldio.c
index ee76d299b3d0..a656608dca84 100644
--- a/drivers/acpi/acpica/exfldio.c
+++ b/drivers/acpi/acpica/exfldio.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/exmisc.c b/drivers/acpi/acpica/exmisc.c
index 37c88b424a02..1a6f59079ea5 100644
--- a/drivers/acpi/acpica/exmisc.c
+++ b/drivers/acpi/acpica/exmisc.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/exmutex.c b/drivers/acpi/acpica/exmutex.c
index 26faa91e930c..ecd95b3f35f1 100644
--- a/drivers/acpi/acpica/exmutex.c
+++ b/drivers/acpi/acpica/exmutex.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/exnames.c b/drivers/acpi/acpica/exnames.c
index 3d6af93fe561..ee7b62a86661 100644
--- a/drivers/acpi/acpica/exnames.c
+++ b/drivers/acpi/acpica/exnames.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/exoparg1.c b/drivers/acpi/acpica/exoparg1.c
index 007300433cde..af73fcde7e5c 100644
--- a/drivers/acpi/acpica/exoparg1.c
+++ b/drivers/acpi/acpica/exoparg1.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/exoparg2.c b/drivers/acpi/acpica/exoparg2.c
index 79ef3b6811a9..44ecba50c0da 100644
--- a/drivers/acpi/acpica/exoparg2.c
+++ b/drivers/acpi/acpica/exoparg2.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/exoparg3.c b/drivers/acpi/acpica/exoparg3.c
index 69e4e269ad2f..ce857addc8db 100644
--- a/drivers/acpi/acpica/exoparg3.c
+++ b/drivers/acpi/acpica/exoparg3.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/exoparg6.c b/drivers/acpi/acpica/exoparg6.c
index 786d53b0bb37..31e4df97cbe1 100644
--- a/drivers/acpi/acpica/exoparg6.c
+++ b/drivers/acpi/acpica/exoparg6.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/exprep.c b/drivers/acpi/acpica/exprep.c
index aed8d3459220..8de060664204 100644
--- a/drivers/acpi/acpica/exprep.c
+++ b/drivers/acpi/acpica/exprep.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/exregion.c b/drivers/acpi/acpica/exregion.c
index 31b381cae94d..7bcc9d809b7e 100644
--- a/drivers/acpi/acpica/exregion.c
+++ b/drivers/acpi/acpica/exregion.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/exresnte.c b/drivers/acpi/acpica/exresnte.c
index a183cb740d24..91c1de046442 100644
--- a/drivers/acpi/acpica/exresnte.c
+++ b/drivers/acpi/acpica/exresnte.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/exresolv.c b/drivers/acpi/acpica/exresolv.c
index e1d3878be2c6..7fecefc2e1b4 100644
--- a/drivers/acpi/acpica/exresolv.c
+++ b/drivers/acpi/acpica/exresolv.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/exresop.c b/drivers/acpi/acpica/exresop.c
index f29eba1dc5e9..c4852429e2ff 100644
--- a/drivers/acpi/acpica/exresop.c
+++ b/drivers/acpi/acpica/exresop.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
@@ -305,7 +305,6 @@ acpi_ex_resolve_operands(u16 opcode,
305 case ARGI_OBJECT_REF: 305 case ARGI_OBJECT_REF:
306 case ARGI_DEVICE_REF: 306 case ARGI_DEVICE_REF:
307 case ARGI_TARGETREF: /* Allows implicit conversion rules before store */ 307 case ARGI_TARGETREF: /* Allows implicit conversion rules before store */
308 case ARGI_FIXED_TARGET: /* No implicit conversion before store to target */
309 case ARGI_SIMPLE_TARGET: /* Name, Local, or arg - no implicit conversion */ 308 case ARGI_SIMPLE_TARGET: /* Name, Local, or arg - no implicit conversion */
310 case ARGI_STORE_TARGET: 309 case ARGI_STORE_TARGET:
311 310
diff --git a/drivers/acpi/acpica/exstore.c b/drivers/acpi/acpica/exstore.c
index cd70cbcf6de6..a2f8001aeb86 100644
--- a/drivers/acpi/acpica/exstore.c
+++ b/drivers/acpi/acpica/exstore.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/exstoren.c b/drivers/acpi/acpica/exstoren.c
index 13bbb2b241a3..85db4716a043 100644
--- a/drivers/acpi/acpica/exstoren.c
+++ b/drivers/acpi/acpica/exstoren.c
@@ -6,7 +6,7 @@
6 *****************************************************************************/ 6 *****************************************************************************/
7 7
8/* 8/*
9 * Copyright (C) 2000 - 2016, Intel Corp. 9 * Copyright (C) 2000 - 2017, Intel Corp.
10 * All rights reserved. 10 * All rights reserved.
11 * 11 *
12 * Redistribution and use in source and binary forms, with or without 12 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/exstorob.c b/drivers/acpi/acpica/exstorob.c
index 1dab82746d06..4ba7fcbf23b0 100644
--- a/drivers/acpi/acpica/exstorob.c
+++ b/drivers/acpi/acpica/exstorob.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/exsystem.c b/drivers/acpi/acpica/exsystem.c
index ac09c31cc70e..ad3b610057f3 100644
--- a/drivers/acpi/acpica/exsystem.c
+++ b/drivers/acpi/acpica/exsystem.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/extrace.c b/drivers/acpi/acpica/extrace.c
index c9ca82610d77..ae9df8672d9e 100644
--- a/drivers/acpi/acpica/extrace.c
+++ b/drivers/acpi/acpica/extrace.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/exutils.c b/drivers/acpi/acpica/exutils.c
index a8b857a7e9fb..34d608358eaf 100644
--- a/drivers/acpi/acpica/exutils.c
+++ b/drivers/acpi/acpica/exutils.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/hwacpi.c b/drivers/acpi/acpica/hwacpi.c
index 3ebbb09030b4..fad249e774b4 100644
--- a/drivers/acpi/acpica/hwacpi.c
+++ b/drivers/acpi/acpica/hwacpi.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/hwesleep.c b/drivers/acpi/acpica/hwesleep.c
index 3f2fb4b31fdc..12626d021a9b 100644
--- a/drivers/acpi/acpica/hwesleep.c
+++ b/drivers/acpi/acpica/hwesleep.c
@@ -6,7 +6,7 @@
6 *****************************************************************************/ 6 *****************************************************************************/
7 7
8/* 8/*
9 * Copyright (C) 2000 - 2016, Intel Corp. 9 * Copyright (C) 2000 - 2017, Intel Corp.
10 * All rights reserved. 10 * All rights reserved.
11 * 11 *
12 * Redistribution and use in source and binary forms, with or without 12 * Redistribution and use in source and binary forms, with or without
@@ -43,7 +43,6 @@
43 */ 43 */
44 44
45#include <acpi/acpi.h> 45#include <acpi/acpi.h>
46#include <linux/acpi.h>
47#include "accommon.h" 46#include "accommon.h"
48 47
49#define _COMPONENT ACPI_HARDWARE 48#define _COMPONENT ACPI_HARDWARE
@@ -103,7 +102,7 @@ void acpi_hw_execute_sleep_method(char *method_pathname, u32 integer_argument)
103acpi_status acpi_hw_extended_sleep(u8 sleep_state) 102acpi_status acpi_hw_extended_sleep(u8 sleep_state)
104{ 103{
105 acpi_status status; 104 acpi_status status;
106 u8 sleep_type_value; 105 u8 sleep_control;
107 u64 sleep_status; 106 u64 sleep_status;
108 107
109 ACPI_FUNCTION_TRACE(hw_extended_sleep); 108 ACPI_FUNCTION_TRACE(hw_extended_sleep);
@@ -125,18 +124,6 @@ acpi_status acpi_hw_extended_sleep(u8 sleep_state)
125 124
126 acpi_gbl_system_awake_and_running = FALSE; 125 acpi_gbl_system_awake_and_running = FALSE;
127 126
128 /* Flush caches, as per ACPI specification */
129
130 ACPI_FLUSH_CPU_CACHE();
131
132 status = acpi_os_prepare_extended_sleep(sleep_state,
133 acpi_gbl_sleep_type_a,
134 acpi_gbl_sleep_type_b);
135 if (ACPI_SKIP(status))
136 return_ACPI_STATUS(AE_OK);
137 if (ACPI_FAILURE(status))
138 return_ACPI_STATUS(status);
139
140 /* 127 /*
141 * Set the SLP_TYP and SLP_EN bits. 128 * Set the SLP_TYP and SLP_EN bits.
142 * 129 *
@@ -146,12 +133,22 @@ acpi_status acpi_hw_extended_sleep(u8 sleep_state)
146 ACPI_DEBUG_PRINT((ACPI_DB_INIT, 133 ACPI_DEBUG_PRINT((ACPI_DB_INIT,
147 "Entering sleep state [S%u]\n", sleep_state)); 134 "Entering sleep state [S%u]\n", sleep_state));
148 135
149 sleep_type_value = 136 sleep_control = ((acpi_gbl_sleep_type_a << ACPI_X_SLEEP_TYPE_POSITION) &
150 ((acpi_gbl_sleep_type_a << ACPI_X_SLEEP_TYPE_POSITION) & 137 ACPI_X_SLEEP_TYPE_MASK) | ACPI_X_SLEEP_ENABLE;
151 ACPI_X_SLEEP_TYPE_MASK); 138
139 /* Flush caches, as per ACPI specification */
140
141 ACPI_FLUSH_CPU_CACHE();
142
143 status = acpi_os_enter_sleep(sleep_state, sleep_control, 0);
144 if (status == AE_CTRL_TERMINATE) {
145 return_ACPI_STATUS(AE_OK);
146 }
147 if (ACPI_FAILURE(status)) {
148 return_ACPI_STATUS(status);
149 }
152 150
153 status = acpi_write((u64)(sleep_type_value | ACPI_X_SLEEP_ENABLE), 151 status = acpi_write((u64)sleep_control, &acpi_gbl_FADT.sleep_control);
154 &acpi_gbl_FADT.sleep_control);
155 if (ACPI_FAILURE(status)) { 152 if (ACPI_FAILURE(status)) {
156 return_ACPI_STATUS(status); 153 return_ACPI_STATUS(status);
157 } 154 }
diff --git a/drivers/acpi/acpica/hwgpe.c b/drivers/acpi/acpica/hwgpe.c
index 76b0e350f5bb..5eb11b30a79e 100644
--- a/drivers/acpi/acpica/hwgpe.c
+++ b/drivers/acpi/acpica/hwgpe.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/hwpci.c b/drivers/acpi/acpica/hwpci.c
index 3dd60c96aa07..283819930be6 100644
--- a/drivers/acpi/acpica/hwpci.c
+++ b/drivers/acpi/acpica/hwpci.c
@@ -5,7 +5,7 @@
5 ******************************************************************************/ 5 ******************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/hwregs.c b/drivers/acpi/acpica/hwregs.c
index 3b7fb99362b6..de74a4c25085 100644
--- a/drivers/acpi/acpica/hwregs.c
+++ b/drivers/acpi/acpica/hwregs.c
@@ -6,7 +6,7 @@
6 ******************************************************************************/ 6 ******************************************************************************/
7 7
8/* 8/*
9 * Copyright (C) 2000 - 2016, Intel Corp. 9 * Copyright (C) 2000 - 2017, Intel Corp.
10 * All rights reserved. 10 * All rights reserved.
11 * 11 *
12 * Redistribution and use in source and binary forms, with or without 12 * Redistribution and use in source and binary forms, with or without
@@ -52,7 +52,8 @@ ACPI_MODULE_NAME("hwregs")
52#if (!ACPI_REDUCED_HARDWARE) 52#if (!ACPI_REDUCED_HARDWARE)
53/* Local Prototypes */ 53/* Local Prototypes */
54static u8 54static u8
55acpi_hw_get_access_bit_width(struct acpi_generic_address *reg, 55acpi_hw_get_access_bit_width(u64 address,
56 struct acpi_generic_address *reg,
56 u8 max_bit_width); 57 u8 max_bit_width);
57 58
58static acpi_status 59static acpi_status
@@ -71,7 +72,8 @@ acpi_hw_write_multiple(u32 value,
71 * 72 *
72 * FUNCTION: acpi_hw_get_access_bit_width 73 * FUNCTION: acpi_hw_get_access_bit_width
73 * 74 *
74 * PARAMETERS: reg - GAS register structure 75 * PARAMETERS: address - GAS register address
76 * reg - GAS register structure
75 * max_bit_width - Max bit_width supported (32 or 64) 77 * max_bit_width - Max bit_width supported (32 or 64)
76 * 78 *
77 * RETURN: Status 79 * RETURN: Status
@@ -81,27 +83,59 @@ acpi_hw_write_multiple(u32 value,
81 ******************************************************************************/ 83 ******************************************************************************/
82 84
83static u8 85static u8
84acpi_hw_get_access_bit_width(struct acpi_generic_address *reg, u8 max_bit_width) 86acpi_hw_get_access_bit_width(u64 address,
87 struct acpi_generic_address *reg, u8 max_bit_width)
85{ 88{
86 if (!reg->access_width) { 89 u8 access_bit_width;
87 if (reg->space_id == ACPI_ADR_SPACE_SYSTEM_IO) {
88 max_bit_width = 32;
89 }
90 90
91 /* 91 /*
92 * Detect old register descriptors where only the bit_width field 92 * GAS format "register", used by FADT:
93 * makes senses. 93 * 1. Detected if bit_offset is 0 and bit_width is 8/16/32/64;
94 */ 94 * 2. access_size field is ignored and bit_width field is used for
95 if (reg->bit_width < max_bit_width && 95 * determining the boundary of the IO accesses.
96 !reg->bit_offset && reg->bit_width && 96 * GAS format "region", used by APEI registers:
97 ACPI_IS_POWER_OF_TWO(reg->bit_width) && 97 * 1. Detected if bit_offset is not 0 or bit_width is not 8/16/32/64;
98 ACPI_IS_ALIGNED(reg->bit_width, 8)) { 98 * 2. access_size field is used for determining the boundary of the
99 return (reg->bit_width); 99 * IO accesses;
100 } 100 * 3. bit_offset/bit_width fields are used to describe the "region".
101 return (max_bit_width); 101 *
102 * Note: This algorithm assumes that the "Address" fields should always
103 * contain aligned values.
104 */
105 if (!reg->bit_offset && reg->bit_width &&
106 ACPI_IS_POWER_OF_TWO(reg->bit_width) &&
107 ACPI_IS_ALIGNED(reg->bit_width, 8)) {
108 access_bit_width = reg->bit_width;
109 } else if (reg->access_width) {
110 access_bit_width = (1 << (reg->access_width + 2));
102 } else { 111 } else {
103 return (1 << (reg->access_width + 2)); 112 access_bit_width =
113 ACPI_ROUND_UP_POWER_OF_TWO_8(reg->bit_offset +
114 reg->bit_width);
115 if (access_bit_width <= 8) {
116 access_bit_width = 8;
117 } else {
118 while (!ACPI_IS_ALIGNED(address, access_bit_width >> 3)) {
119 access_bit_width >>= 1;
120 }
121 }
104 } 122 }
123
124 /* Maximum IO port access bit width is 32 */
125
126 if (reg->space_id == ACPI_ADR_SPACE_SYSTEM_IO) {
127 max_bit_width = 32;
128 }
129
130 /*
131 * Return access width according to the requested maximum access bit width,
132 * as the caller should know the format of the register and may enforce
133 * a 32-bit accesses.
134 */
135 if (access_bit_width < max_bit_width) {
136 return (access_bit_width);
137 }
138 return (max_bit_width);
105} 139}
106 140
107/****************************************************************************** 141/******************************************************************************
@@ -163,7 +197,8 @@ acpi_hw_validate_register(struct acpi_generic_address *reg,
163 197
164 /* Validate the bit_width, convert access_width into number of bits */ 198 /* Validate the bit_width, convert access_width into number of bits */
165 199
166 access_width = acpi_hw_get_access_bit_width(reg, max_bit_width); 200 access_width =
201 acpi_hw_get_access_bit_width(*address, reg, max_bit_width);
167 bit_width = 202 bit_width =
168 ACPI_ROUND_UP(reg->bit_offset + reg->bit_width, access_width); 203 ACPI_ROUND_UP(reg->bit_offset + reg->bit_width, access_width);
169 if (max_bit_width < bit_width) { 204 if (max_bit_width < bit_width) {
@@ -219,7 +254,7 @@ acpi_status acpi_hw_read(u32 *value, struct acpi_generic_address *reg)
219 * into number of bits based 254 * into number of bits based
220 */ 255 */
221 *value = 0; 256 *value = 0;
222 access_width = acpi_hw_get_access_bit_width(reg, 32); 257 access_width = acpi_hw_get_access_bit_width(address, reg, 32);
223 bit_width = reg->bit_offset + reg->bit_width; 258 bit_width = reg->bit_offset + reg->bit_width;
224 bit_offset = reg->bit_offset; 259 bit_offset = reg->bit_offset;
225 260
@@ -252,20 +287,6 @@ acpi_status acpi_hw_read(u32 *value, struct acpi_generic_address *reg)
252 &value32, 287 &value32,
253 access_width); 288 access_width);
254 } 289 }
255
256 /*
257 * Use offset style bit masks because:
258 * bit_offset < access_width/bit_width < access_width, and
259 * access_width is ensured to be less than 32-bits by
260 * acpi_hw_validate_register().
261 */
262 if (bit_offset) {
263 value32 &= ACPI_MASK_BITS_BELOW(bit_offset);
264 bit_offset = 0;
265 }
266 if (bit_width < access_width) {
267 value32 &= ACPI_MASK_BITS_ABOVE(bit_width);
268 }
269 } 290 }
270 291
271 /* 292 /*
@@ -306,6 +327,12 @@ acpi_status acpi_hw_read(u32 *value, struct acpi_generic_address *reg)
306acpi_status acpi_hw_write(u32 value, struct acpi_generic_address *reg) 327acpi_status acpi_hw_write(u32 value, struct acpi_generic_address *reg)
307{ 328{
308 u64 address; 329 u64 address;
330 u8 access_width;
331 u32 bit_width;
332 u8 bit_offset;
333 u64 value64;
334 u32 value32;
335 u8 index;
309 acpi_status status; 336 acpi_status status;
310 337
311 ACPI_FUNCTION_NAME(hw_write); 338 ACPI_FUNCTION_NAME(hw_write);
@@ -317,23 +344,61 @@ acpi_status acpi_hw_write(u32 value, struct acpi_generic_address *reg)
317 return (status); 344 return (status);
318 } 345 }
319 346
347 /* Convert access_width into number of bits based */
348
349 access_width = acpi_hw_get_access_bit_width(address, reg, 32);
350 bit_width = reg->bit_offset + reg->bit_width;
351 bit_offset = reg->bit_offset;
352
320 /* 353 /*
321 * Two address spaces supported: Memory or IO. PCI_Config is 354 * Two address spaces supported: Memory or IO. PCI_Config is
322 * not supported here because the GAS structure is insufficient 355 * not supported here because the GAS structure is insufficient
323 */ 356 */
324 if (reg->space_id == ACPI_ADR_SPACE_SYSTEM_MEMORY) { 357 index = 0;
325 status = acpi_os_write_memory((acpi_physical_address) 358 while (bit_width) {
326 address, (u64)value, 359 /*
327 reg->bit_width); 360 * Use offset style bit reads because "Index * AccessWidth" is
328 } else { /* ACPI_ADR_SPACE_SYSTEM_IO, validated earlier */ 361 * ensured to be less than 32-bits by acpi_hw_validate_register().
329 362 */
330 status = acpi_hw_write_port((acpi_io_address) 363 value32 = ACPI_GET_BITS(&value, index * access_width,
331 address, value, reg->bit_width); 364 ACPI_MASK_BITS_ABOVE_32(access_width));
365
366 if (bit_offset >= access_width) {
367 bit_offset -= access_width;
368 } else {
369 if (reg->space_id == ACPI_ADR_SPACE_SYSTEM_MEMORY) {
370 value64 = (u64)value32;
371 status =
372 acpi_os_write_memory((acpi_physical_address)
373 address +
374 index *
375 ACPI_DIV_8
376 (access_width),
377 value64, access_width);
378 } else { /* ACPI_ADR_SPACE_SYSTEM_IO, validated earlier */
379
380 status = acpi_hw_write_port((acpi_io_address)
381 address +
382 index *
383 ACPI_DIV_8
384 (access_width),
385 value32,
386 access_width);
387 }
388 }
389
390 /*
391 * Index * access_width is ensured to be less than 32-bits by
392 * acpi_hw_validate_register().
393 */
394 bit_width -=
395 bit_width > access_width ? access_width : bit_width;
396 index++;
332 } 397 }
333 398
334 ACPI_DEBUG_PRINT((ACPI_DB_IO, 399 ACPI_DEBUG_PRINT((ACPI_DB_IO,
335 "Wrote: %8.8X width %2d to %8.8X%8.8X (%s)\n", 400 "Wrote: %8.8X width %2d to %8.8X%8.8X (%s)\n",
336 value, reg->bit_width, ACPI_FORMAT_UINT64(address), 401 value, access_width, ACPI_FORMAT_UINT64(address),
337 acpi_ut_get_region_name(reg->space_id))); 402 acpi_ut_get_region_name(reg->space_id)));
338 403
339 return (status); 404 return (status);
diff --git a/drivers/acpi/acpica/hwsleep.c b/drivers/acpi/acpica/hwsleep.c
index d00c9810845b..1fe7387a00e6 100644
--- a/drivers/acpi/acpica/hwsleep.c
+++ b/drivers/acpi/acpica/hwsleep.c
@@ -6,7 +6,7 @@
6 *****************************************************************************/ 6 *****************************************************************************/
7 7
8/* 8/*
9 * Copyright (C) 2000 - 2016, Intel Corp. 9 * Copyright (C) 2000 - 2017, Intel Corp.
10 * All rights reserved. 10 * All rights reserved.
11 * 11 *
12 * Redistribution and use in source and binary forms, with or without 12 * Redistribution and use in source and binary forms, with or without
@@ -43,7 +43,6 @@
43 */ 43 */
44 44
45#include <acpi/acpi.h> 45#include <acpi/acpi.h>
46#include <linux/acpi.h>
47#include "accommon.h" 46#include "accommon.h"
48 47
49#define _COMPONENT ACPI_HARDWARE 48#define _COMPONENT ACPI_HARDWARE
@@ -152,12 +151,14 @@ acpi_status acpi_hw_legacy_sleep(u8 sleep_state)
152 151
153 ACPI_FLUSH_CPU_CACHE(); 152 ACPI_FLUSH_CPU_CACHE();
154 153
155 status = acpi_os_prepare_sleep(sleep_state, pm1a_control, 154 status = acpi_os_enter_sleep(sleep_state, pm1a_control, pm1b_control);
156 pm1b_control); 155 if (status == AE_CTRL_TERMINATE) {
157 if (ACPI_SKIP(status))
158 return_ACPI_STATUS(AE_OK); 156 return_ACPI_STATUS(AE_OK);
159 if (ACPI_FAILURE(status)) 157 }
158 if (ACPI_FAILURE(status)) {
160 return_ACPI_STATUS(status); 159 return_ACPI_STATUS(status);
160 }
161
161 /* Write #2: Write both SLP_TYP + SLP_EN */ 162 /* Write #2: Write both SLP_TYP + SLP_EN */
162 163
163 status = acpi_hw_write_pm1_control(pm1a_control, pm1b_control); 164 status = acpi_hw_write_pm1_control(pm1a_control, pm1b_control);
diff --git a/drivers/acpi/acpica/hwtimer.c b/drivers/acpi/acpica/hwtimer.c
index 04cc9406c7d8..b3c5d8c754bb 100644
--- a/drivers/acpi/acpica/hwtimer.c
+++ b/drivers/acpi/acpica/hwtimer.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/hwvalid.c b/drivers/acpi/acpica/hwvalid.c
index ad0a745712a9..531620abed80 100644
--- a/drivers/acpi/acpica/hwvalid.c
+++ b/drivers/acpi/acpica/hwvalid.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/hwxface.c b/drivers/acpi/acpica/hwxface.c
index 98c26ff39409..34684ae89981 100644
--- a/drivers/acpi/acpica/hwxface.c
+++ b/drivers/acpi/acpica/hwxface.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/hwxfsleep.c b/drivers/acpi/acpica/hwxfsleep.c
index f76e0eab32b8..5733b1167e46 100644
--- a/drivers/acpi/acpica/hwxfsleep.c
+++ b/drivers/acpi/acpica/hwxfsleep.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/nsaccess.c b/drivers/acpi/acpica/nsaccess.c
index 73f98d3fed25..498bb8f70e6b 100644
--- a/drivers/acpi/acpica/nsaccess.c
+++ b/drivers/acpi/acpica/nsaccess.c
@@ -5,7 +5,7 @@
5 ******************************************************************************/ 5 ******************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/nsalloc.c b/drivers/acpi/acpica/nsalloc.c
index c2cf73fd3918..8ba5b32c9f71 100644
--- a/drivers/acpi/acpica/nsalloc.c
+++ b/drivers/acpi/acpica/nsalloc.c
@@ -5,7 +5,7 @@
5 ******************************************************************************/ 5 ******************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/nsarguments.c b/drivers/acpi/acpica/nsarguments.c
index f45bff632692..9095d51f6b37 100644
--- a/drivers/acpi/acpica/nsarguments.c
+++ b/drivers/acpi/acpica/nsarguments.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/nsconvert.c b/drivers/acpi/acpica/nsconvert.c
index 2b85dee6d4c0..e4a7da8a11f0 100644
--- a/drivers/acpi/acpica/nsconvert.c
+++ b/drivers/acpi/acpica/nsconvert.c
@@ -6,7 +6,7 @@
6 *****************************************************************************/ 6 *****************************************************************************/
7 7
8/* 8/*
9 * Copyright (C) 2000 - 2016, Intel Corp. 9 * Copyright (C) 2000 - 2017, Intel Corp.
10 * All rights reserved. 10 * All rights reserved.
11 * 11 *
12 * Redistribution and use in source and binary forms, with or without 12 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/nsdump.c b/drivers/acpi/acpica/nsdump.c
index 84f35dd27033..4123b5077a7d 100644
--- a/drivers/acpi/acpica/nsdump.c
+++ b/drivers/acpi/acpica/nsdump.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/nsdumpdv.c b/drivers/acpi/acpica/nsdumpdv.c
index 7060a5668989..5026594763ea 100644
--- a/drivers/acpi/acpica/nsdumpdv.c
+++ b/drivers/acpi/acpica/nsdumpdv.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/nseval.c b/drivers/acpi/acpica/nseval.c
index 5d59cfcef6f4..d22167cbd0ca 100644
--- a/drivers/acpi/acpica/nseval.c
+++ b/drivers/acpi/acpica/nseval.c
@@ -5,7 +5,7 @@
5 ******************************************************************************/ 5 ******************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/nsinit.c b/drivers/acpi/acpica/nsinit.c
index 36643a8cf65a..ce33e7297ea7 100644
--- a/drivers/acpi/acpica/nsinit.c
+++ b/drivers/acpi/acpica/nsinit.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/nsload.c b/drivers/acpi/acpica/nsload.c
index d1f20143bb11..d2915e186ae1 100644
--- a/drivers/acpi/acpica/nsload.c
+++ b/drivers/acpi/acpica/nsload.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/nsnames.c b/drivers/acpi/acpica/nsnames.c
index 94d5d3339845..3db9ca25a620 100644
--- a/drivers/acpi/acpica/nsnames.c
+++ b/drivers/acpi/acpica/nsnames.c
@@ -5,7 +5,7 @@
5 ******************************************************************************/ 5 ******************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/nsobject.c b/drivers/acpi/acpica/nsobject.c
index cfa2bb7162d8..707b2aa501e1 100644
--- a/drivers/acpi/acpica/nsobject.c
+++ b/drivers/acpi/acpica/nsobject.c
@@ -6,7 +6,7 @@
6 ******************************************************************************/ 6 ******************************************************************************/
7 7
8/* 8/*
9 * Copyright (C) 2000 - 2016, Intel Corp. 9 * Copyright (C) 2000 - 2017, Intel Corp.
10 * All rights reserved. 10 * All rights reserved.
11 * 11 *
12 * Redistribution and use in source and binary forms, with or without 12 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/nsparse.c b/drivers/acpi/acpica/nsparse.c
index 4f14e9205bff..2fc33a5203f4 100644
--- a/drivers/acpi/acpica/nsparse.c
+++ b/drivers/acpi/acpica/nsparse.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/nspredef.c b/drivers/acpi/acpica/nspredef.c
index 6d7844580b2a..3dbbecf22087 100644
--- a/drivers/acpi/acpica/nspredef.c
+++ b/drivers/acpi/acpica/nspredef.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/nsprepkg.c b/drivers/acpi/acpica/nsprepkg.c
index fbedc6e8ab36..4954cb6c9090 100644
--- a/drivers/acpi/acpica/nsprepkg.c
+++ b/drivers/acpi/acpica/nsprepkg.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/nsrepair.c b/drivers/acpi/acpica/nsrepair.c
index 9523d41c7ae9..38316266521e 100644
--- a/drivers/acpi/acpica/nsrepair.c
+++ b/drivers/acpi/acpica/nsrepair.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/nsrepair2.c b/drivers/acpi/acpica/nsrepair2.c
index d5336122486b..352265498e90 100644
--- a/drivers/acpi/acpica/nsrepair2.c
+++ b/drivers/acpi/acpica/nsrepair2.c
@@ -6,7 +6,7 @@
6 *****************************************************************************/ 6 *****************************************************************************/
7 7
8/* 8/*
9 * Copyright (C) 2000 - 2016, Intel Corp. 9 * Copyright (C) 2000 - 2017, Intel Corp.
10 * All rights reserved. 10 * All rights reserved.
11 * 11 *
12 * Redistribution and use in source and binary forms, with or without 12 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/nssearch.c b/drivers/acpi/acpica/nssearch.c
index 61036d210274..5de8957f5ef0 100644
--- a/drivers/acpi/acpica/nssearch.c
+++ b/drivers/acpi/acpica/nssearch.c
@@ -5,7 +5,7 @@
5 ******************************************************************************/ 5 ******************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/nsutils.c b/drivers/acpi/acpica/nsutils.c
index 691814dfed31..661676714f7b 100644
--- a/drivers/acpi/acpica/nsutils.c
+++ b/drivers/acpi/acpica/nsutils.c
@@ -6,7 +6,7 @@
6 *****************************************************************************/ 6 *****************************************************************************/
7 7
8/* 8/*
9 * Copyright (C) 2000 - 2016, Intel Corp. 9 * Copyright (C) 2000 - 2017, Intel Corp.
10 * All rights reserved. 10 * All rights reserved.
11 * 11 *
12 * Redistribution and use in source and binary forms, with or without 12 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/nswalk.c b/drivers/acpi/acpica/nswalk.c
index ebd731fe8e45..6b6e6f498cff 100644
--- a/drivers/acpi/acpica/nswalk.c
+++ b/drivers/acpi/acpica/nswalk.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/nsxfeval.c b/drivers/acpi/acpica/nsxfeval.c
index d2a9b4fd739f..8e365c0e766b 100644
--- a/drivers/acpi/acpica/nsxfeval.c
+++ b/drivers/acpi/acpica/nsxfeval.c
@@ -6,7 +6,7 @@
6 ******************************************************************************/ 6 ******************************************************************************/
7 7
8/* 8/*
9 * Copyright (C) 2000 - 2016, Intel Corp. 9 * Copyright (C) 2000 - 2017, Intel Corp.
10 * All rights reserved. 10 * All rights reserved.
11 * 11 *
12 * Redistribution and use in source and binary forms, with or without 12 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/nsxfname.c b/drivers/acpi/acpica/nsxfname.c
index e525cbe7d83b..106966235805 100644
--- a/drivers/acpi/acpica/nsxfname.c
+++ b/drivers/acpi/acpica/nsxfname.c
@@ -6,7 +6,7 @@
6 *****************************************************************************/ 6 *****************************************************************************/
7 7
8/* 8/*
9 * Copyright (C) 2000 - 2016, Intel Corp. 9 * Copyright (C) 2000 - 2017, Intel Corp.
10 * All rights reserved. 10 * All rights reserved.
11 * 11 *
12 * Redistribution and use in source and binary forms, with or without 12 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/nsxfobj.c b/drivers/acpi/acpica/nsxfobj.c
index 32d372b85243..47f689ec3fcb 100644
--- a/drivers/acpi/acpica/nsxfobj.c
+++ b/drivers/acpi/acpica/nsxfobj.c
@@ -6,7 +6,7 @@
6 ******************************************************************************/ 6 ******************************************************************************/
7 7
8/* 8/*
9 * Copyright (C) 2000 - 2016, Intel Corp. 9 * Copyright (C) 2000 - 2017, Intel Corp.
10 * All rights reserved. 10 * All rights reserved.
11 * 11 *
12 * Redistribution and use in source and binary forms, with or without 12 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/psargs.c b/drivers/acpi/acpica/psargs.c
index c29c930ffa08..05b62ad44c3e 100644
--- a/drivers/acpi/acpica/psargs.c
+++ b/drivers/acpi/acpica/psargs.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
@@ -269,23 +269,27 @@ acpi_ps_get_next_namepath(struct acpi_walk_state *walk_state,
269 */ 269 */
270 if (ACPI_SUCCESS(status) && 270 if (ACPI_SUCCESS(status) &&
271 possible_method_call && (node->type == ACPI_TYPE_METHOD)) { 271 possible_method_call && (node->type == ACPI_TYPE_METHOD)) {
272 if (walk_state->opcode == AML_UNLOAD_OP) { 272 if ((GET_CURRENT_ARG_TYPE(walk_state->arg_types) ==
273 ARGP_SUPERNAME)
274 || (GET_CURRENT_ARG_TYPE(walk_state->arg_types) ==
275 ARGP_TARGET)) {
273 /* 276 /*
274 * acpi_ps_get_next_namestring has increased the AML pointer, 277 * acpi_ps_get_next_namestring has increased the AML pointer past
275 * so we need to restore the saved AML pointer for method call. 278 * the method invocation namestring, so we need to restore the
279 * saved AML pointer back to the original method invocation
280 * namestring.
276 */ 281 */
277 walk_state->parser_state.aml = start; 282 walk_state->parser_state.aml = start;
278 walk_state->arg_count = 1; 283 walk_state->arg_count = 1;
279 acpi_ps_init_op(arg, AML_INT_METHODCALL_OP); 284 acpi_ps_init_op(arg, AML_INT_METHODCALL_OP);
280 return_ACPI_STATUS(AE_OK);
281 } 285 }
282 286
283 /* This name is actually a control method invocation */ 287 /* This name is actually a control method invocation */
284 288
285 method_desc = acpi_ns_get_attached_object(node); 289 method_desc = acpi_ns_get_attached_object(node);
286 ACPI_DEBUG_PRINT((ACPI_DB_PARSE, 290 ACPI_DEBUG_PRINT((ACPI_DB_PARSE,
287 "Control Method - %p Desc %p Path=%p\n", node, 291 "Control Method invocation %4.4s - %p Desc %p Path=%p\n",
288 method_desc, path)); 292 node->name.ascii, node, method_desc, path));
289 293
290 name_op = acpi_ps_alloc_op(AML_INT_NAMEPATH_OP, start); 294 name_op = acpi_ps_alloc_op(AML_INT_NAMEPATH_OP, start);
291 if (!name_op) { 295 if (!name_op) {
@@ -719,6 +723,10 @@ acpi_ps_get_next_arg(struct acpi_walk_state *walk_state,
719 723
720 ACPI_FUNCTION_TRACE_PTR(ps_get_next_arg, parser_state); 724 ACPI_FUNCTION_TRACE_PTR(ps_get_next_arg, parser_state);
721 725
726 ACPI_DEBUG_PRINT((ACPI_DB_PARSE,
727 "Expected argument type ARGP: %s (%2.2X)\n",
728 acpi_ut_get_argument_type_name(arg_type), arg_type));
729
722 switch (arg_type) { 730 switch (arg_type) {
723 case ARGP_BYTEDATA: 731 case ARGP_BYTEDATA:
724 case ARGP_WORDDATA: 732 case ARGP_WORDDATA:
@@ -796,11 +804,14 @@ acpi_ps_get_next_arg(struct acpi_walk_state *walk_state,
796 } 804 }
797 break; 805 break;
798 806
799 case ARGP_TARGET:
800 case ARGP_SUPERNAME:
801 case ARGP_SIMPLENAME: 807 case ARGP_SIMPLENAME:
802 case ARGP_NAME_OR_REF: 808 case ARGP_NAME_OR_REF:
803 809
810 ACPI_DEBUG_PRINT((ACPI_DB_PARSE,
811 "**** SimpleName/NameOrRef: %s (%2.2X)\n",
812 acpi_ut_get_argument_type_name(arg_type),
813 arg_type));
814
804 subop = acpi_ps_peek_opcode(parser_state); 815 subop = acpi_ps_peek_opcode(parser_state);
805 if (subop == 0 || 816 if (subop == 0 ||
806 acpi_ps_is_leading_char(subop) || 817 acpi_ps_is_leading_char(subop) ||
@@ -816,28 +827,49 @@ acpi_ps_get_next_arg(struct acpi_walk_state *walk_state,
816 return_ACPI_STATUS(AE_NO_MEMORY); 827 return_ACPI_STATUS(AE_NO_MEMORY);
817 } 828 }
818 829
819 /* To support super_name arg of Unload */ 830 status =
820 831 acpi_ps_get_next_namepath(walk_state, parser_state,
821 if (walk_state->opcode == AML_UNLOAD_OP) { 832 arg,
822 status = 833 ACPI_NOT_METHOD_CALL);
823 acpi_ps_get_next_namepath(walk_state, 834 } else {
824 parser_state, arg, 835 /* Single complex argument, nothing returned */
825 ACPI_POSSIBLE_METHOD_CALL); 836
826 837 walk_state->arg_count = 1;
827 /* 838 }
828 * If the super_name argument is a method call, we have 839 break;
829 * already restored the AML pointer, just free this Arg 840
830 */ 841 case ARGP_TARGET:
831 if (arg->common.aml_opcode == 842 case ARGP_SUPERNAME:
832 AML_INT_METHODCALL_OP) { 843
833 acpi_ps_free_op(arg); 844 ACPI_DEBUG_PRINT((ACPI_DB_PARSE,
834 arg = NULL; 845 "**** Target/Supername: %s (%2.2X)\n",
835 } 846 acpi_ut_get_argument_type_name(arg_type),
836 } else { 847 arg_type));
837 status = 848
838 acpi_ps_get_next_namepath(walk_state, 849 subop = acpi_ps_peek_opcode(parser_state);
839 parser_state, arg, 850 if (subop == 0 ||
840 ACPI_NOT_METHOD_CALL); 851 acpi_ps_is_leading_char(subop) ||
852 ACPI_IS_ROOT_PREFIX(subop) ||
853 ACPI_IS_PARENT_PREFIX(subop)) {
854
855 /* NULL target (zero). Convert to a NULL namepath */
856
857 arg =
858 acpi_ps_alloc_op(AML_INT_NAMEPATH_OP,
859 parser_state->aml);
860 if (!arg) {
861 return_ACPI_STATUS(AE_NO_MEMORY);
862 }
863
864 status =
865 acpi_ps_get_next_namepath(walk_state, parser_state,
866 arg,
867 ACPI_POSSIBLE_METHOD_CALL);
868
869 if (arg->common.aml_opcode == AML_INT_METHODCALL_OP) {
870 acpi_ps_free_op(arg);
871 arg = NULL;
872 walk_state->arg_count = 1;
841 } 873 }
842 } else { 874 } else {
843 /* Single complex argument, nothing returned */ 875 /* Single complex argument, nothing returned */
@@ -849,6 +881,11 @@ acpi_ps_get_next_arg(struct acpi_walk_state *walk_state,
849 case ARGP_DATAOBJ: 881 case ARGP_DATAOBJ:
850 case ARGP_TERMARG: 882 case ARGP_TERMARG:
851 883
884 ACPI_DEBUG_PRINT((ACPI_DB_PARSE,
885 "**** TermArg/DataObj: %s (%2.2X)\n",
886 acpi_ut_get_argument_type_name(arg_type),
887 arg_type));
888
852 /* Single complex argument, nothing returned */ 889 /* Single complex argument, nothing returned */
853 890
854 walk_state->arg_count = 1; 891 walk_state->arg_count = 1;
diff --git a/drivers/acpi/acpica/psloop.c b/drivers/acpi/acpica/psloop.c
index 6a9f5059f682..14d689606d2f 100644
--- a/drivers/acpi/acpica/psloop.c
+++ b/drivers/acpi/acpica/psloop.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
@@ -92,6 +92,10 @@ acpi_ps_get_arguments(struct acpi_walk_state *walk_state,
92 92
93 ACPI_FUNCTION_TRACE_PTR(ps_get_arguments, walk_state); 93 ACPI_FUNCTION_TRACE_PTR(ps_get_arguments, walk_state);
94 94
95 ACPI_DEBUG_PRINT((ACPI_DB_PARSE,
96 "Get arguments for opcode [%s]\n",
97 op->common.aml_op_name));
98
95 switch (op->common.aml_opcode) { 99 switch (op->common.aml_opcode) {
96 case AML_BYTE_OP: /* AML_BYTEDATA_ARG */ 100 case AML_BYTE_OP: /* AML_BYTEDATA_ARG */
97 case AML_WORD_OP: /* AML_WORDDATA_ARG */ 101 case AML_WORD_OP: /* AML_WORDDATA_ARG */
diff --git a/drivers/acpi/acpica/psobject.c b/drivers/acpi/acpica/psobject.c
index db0e90342e82..5c4aff0f4f26 100644
--- a/drivers/acpi/acpica/psobject.c
+++ b/drivers/acpi/acpica/psobject.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
@@ -348,7 +348,15 @@ acpi_ps_create_op(struct acpi_walk_state *walk_state,
348 argument_count) { 348 argument_count) {
349 op->common.flags |= ACPI_PARSEOP_TARGET; 349 op->common.flags |= ACPI_PARSEOP_TARGET;
350 } 350 }
351 } else if (parent_scope->common.aml_opcode == AML_INCREMENT_OP) { 351 }
352
353 /*
354 * Special case for both Increment() and Decrement(), where
355 * the lone argument is both a source and a target.
356 */
357 else if ((parent_scope->common.aml_opcode == AML_INCREMENT_OP)
358 || (parent_scope->common.aml_opcode ==
359 AML_DECREMENT_OP)) {
352 op->common.flags |= ACPI_PARSEOP_TARGET; 360 op->common.flags |= ACPI_PARSEOP_TARGET;
353 } 361 }
354 } 362 }
diff --git a/drivers/acpi/acpica/psopcode.c b/drivers/acpi/acpica/psopcode.c
index 8e0c97dca01f..451b672915f1 100644
--- a/drivers/acpi/acpica/psopcode.c
+++ b/drivers/acpi/acpica/psopcode.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/psopinfo.c b/drivers/acpi/acpica/psopinfo.c
index 177b05b239b7..89f95b7f26e9 100644
--- a/drivers/acpi/acpica/psopinfo.c
+++ b/drivers/acpi/acpica/psopinfo.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/psparse.c b/drivers/acpi/acpica/psparse.c
index 1ce26d9f8ff6..a813bbbd5a8b 100644
--- a/drivers/acpi/acpica/psparse.c
+++ b/drivers/acpi/acpica/psparse.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/psscope.c b/drivers/acpi/acpica/psscope.c
index 560c3684ef43..22d7f1d6849b 100644
--- a/drivers/acpi/acpica/psscope.c
+++ b/drivers/acpi/acpica/psscope.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/pstree.c b/drivers/acpi/acpica/pstree.c
index 0288cdbda88e..9677fff8fd47 100644
--- a/drivers/acpi/acpica/pstree.c
+++ b/drivers/acpi/acpica/pstree.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
@@ -129,10 +129,10 @@ acpi_ps_append_arg(union acpi_parse_object *op, union acpi_parse_object *arg)
129 union acpi_parse_object *prev_arg; 129 union acpi_parse_object *prev_arg;
130 const struct acpi_opcode_info *op_info; 130 const struct acpi_opcode_info *op_info;
131 131
132 ACPI_FUNCTION_ENTRY(); 132 ACPI_FUNCTION_TRACE(ps_append_arg);
133 133
134 if (!op) { 134 if (!op) {
135 return; 135 return_VOID;
136 } 136 }
137 137
138 /* Get the info structure for this opcode */ 138 /* Get the info structure for this opcode */
@@ -144,7 +144,7 @@ acpi_ps_append_arg(union acpi_parse_object *op, union acpi_parse_object *arg)
144 144
145 ACPI_ERROR((AE_INFO, "Invalid AML Opcode: 0x%2.2X", 145 ACPI_ERROR((AE_INFO, "Invalid AML Opcode: 0x%2.2X",
146 op->common.aml_opcode)); 146 op->common.aml_opcode));
147 return; 147 return_VOID;
148 } 148 }
149 149
150 /* Check if this opcode requires argument sub-objects */ 150 /* Check if this opcode requires argument sub-objects */
@@ -153,7 +153,7 @@ acpi_ps_append_arg(union acpi_parse_object *op, union acpi_parse_object *arg)
153 153
154 /* Has no linked argument objects */ 154 /* Has no linked argument objects */
155 155
156 return; 156 return_VOID;
157 } 157 }
158 158
159 /* Append the argument to the linked argument list */ 159 /* Append the argument to the linked argument list */
@@ -181,6 +181,8 @@ acpi_ps_append_arg(union acpi_parse_object *op, union acpi_parse_object *arg)
181 181
182 op->common.arg_list_length++; 182 op->common.arg_list_length++;
183 } 183 }
184
185 return_VOID;
184} 186}
185 187
186/******************************************************************************* 188/*******************************************************************************
diff --git a/drivers/acpi/acpica/psutils.c b/drivers/acpi/acpica/psutils.c
index 89cb4bffcc7c..2fa38bb76a55 100644
--- a/drivers/acpi/acpica/psutils.c
+++ b/drivers/acpi/acpica/psutils.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/pswalk.c b/drivers/acpi/acpica/pswalk.c
index 04f98c0a7684..22a37c82af19 100644
--- a/drivers/acpi/acpica/pswalk.c
+++ b/drivers/acpi/acpica/pswalk.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/psxface.c b/drivers/acpi/acpica/psxface.c
index f3c87264bd1b..c88a681586bf 100644
--- a/drivers/acpi/acpica/psxface.c
+++ b/drivers/acpi/acpica/psxface.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/rsaddr.c b/drivers/acpi/acpica/rsaddr.c
index 492d5b011f33..a131a28bb09d 100644
--- a/drivers/acpi/acpica/rsaddr.c
+++ b/drivers/acpi/acpica/rsaddr.c
@@ -5,7 +5,7 @@
5 ******************************************************************************/ 5 ******************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/rscalc.c b/drivers/acpi/acpica/rscalc.c
index f1e83addd5b4..74e47f829ccb 100644
--- a/drivers/acpi/acpica/rscalc.c
+++ b/drivers/acpi/acpica/rscalc.c
@@ -5,7 +5,7 @@
5 ******************************************************************************/ 5 ******************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/rscreate.c b/drivers/acpi/acpica/rscreate.c
index 809b61c114fe..f72ff0b54a63 100644
--- a/drivers/acpi/acpica/rscreate.c
+++ b/drivers/acpi/acpica/rscreate.c
@@ -5,7 +5,7 @@
5 ******************************************************************************/ 5 ******************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/rsdump.c b/drivers/acpi/acpica/rsdump.c
index 5ffdb5602d8d..f4cdf8d832dc 100644
--- a/drivers/acpi/acpica/rsdump.c
+++ b/drivers/acpi/acpica/rsdump.c
@@ -5,7 +5,7 @@
5 ******************************************************************************/ 5 ******************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/rsdumpinfo.c b/drivers/acpi/acpica/rsdumpinfo.c
index 61e8f16c857d..8aacd28293fa 100644
--- a/drivers/acpi/acpica/rsdumpinfo.c
+++ b/drivers/acpi/acpica/rsdumpinfo.c
@@ -5,7 +5,7 @@
5 ******************************************************************************/ 5 ******************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/rsinfo.c b/drivers/acpi/acpica/rsinfo.c
index 8e067cb73973..475da9d6aed5 100644
--- a/drivers/acpi/acpica/rsinfo.c
+++ b/drivers/acpi/acpica/rsinfo.c
@@ -5,7 +5,7 @@
5 ******************************************************************************/ 5 ******************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/rsio.c b/drivers/acpi/acpica/rsio.c
index 07dfbed10d55..b7a47fbc519b 100644
--- a/drivers/acpi/acpica/rsio.c
+++ b/drivers/acpi/acpica/rsio.c
@@ -5,7 +5,7 @@
5 ******************************************************************************/ 5 ******************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/rsirq.c b/drivers/acpi/acpica/rsirq.c
index bc8f34590d95..092a733c42b8 100644
--- a/drivers/acpi/acpica/rsirq.c
+++ b/drivers/acpi/acpica/rsirq.c
@@ -5,7 +5,7 @@
5 ******************************************************************************/ 5 ******************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/rslist.c b/drivers/acpi/acpica/rslist.c
index 8c42dd734559..36a6657dd34d 100644
--- a/drivers/acpi/acpica/rslist.c
+++ b/drivers/acpi/acpica/rslist.c
@@ -5,7 +5,7 @@
5 ******************************************************************************/ 5 ******************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/rsmemory.c b/drivers/acpi/acpica/rsmemory.c
index 88b53ef9105d..273eecb3001b 100644
--- a/drivers/acpi/acpica/rsmemory.c
+++ b/drivers/acpi/acpica/rsmemory.c
@@ -5,7 +5,7 @@
5 ******************************************************************************/ 5 ******************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/rsmisc.c b/drivers/acpi/acpica/rsmisc.c
index 25165ca42051..2ae79613f6b7 100644
--- a/drivers/acpi/acpica/rsmisc.c
+++ b/drivers/acpi/acpica/rsmisc.c
@@ -5,7 +5,7 @@
5 ******************************************************************************/ 5 ******************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/rsserial.c b/drivers/acpi/acpica/rsserial.c
index b82c061f205a..c20e6d07928d 100644
--- a/drivers/acpi/acpica/rsserial.c
+++ b/drivers/acpi/acpica/rsserial.c
@@ -5,7 +5,7 @@
5 ******************************************************************************/ 5 ******************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/rsutils.c b/drivers/acpi/acpica/rsutils.c
index fa491c64c040..b2aeca01204a 100644
--- a/drivers/acpi/acpica/rsutils.c
+++ b/drivers/acpi/acpica/rsutils.c
@@ -5,7 +5,7 @@
5 ******************************************************************************/ 5 ******************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/rsxface.c b/drivers/acpi/acpica/rsxface.c
index 465ed8137167..59a4f9ed06a7 100644
--- a/drivers/acpi/acpica/rsxface.c
+++ b/drivers/acpi/acpica/rsxface.c
@@ -5,7 +5,7 @@
5 ******************************************************************************/ 5 ******************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/tbdata.c b/drivers/acpi/acpica/tbdata.c
index b0399e8f6d27..27c5c27d4818 100644
--- a/drivers/acpi/acpica/tbdata.c
+++ b/drivers/acpi/acpica/tbdata.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/tbfadt.c b/drivers/acpi/acpica/tbfadt.c
index 81473a4880ce..51860bfc111e 100644
--- a/drivers/acpi/acpica/tbfadt.c
+++ b/drivers/acpi/acpica/tbfadt.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/tbfind.c b/drivers/acpi/acpica/tbfind.c
index f6b9b4e4298b..fea89c8d305c 100644
--- a/drivers/acpi/acpica/tbfind.c
+++ b/drivers/acpi/acpica/tbfind.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/tbinstal.c b/drivers/acpi/acpica/tbinstal.c
index 01e1b3d63fc0..4620f3c68c13 100644
--- a/drivers/acpi/acpica/tbinstal.c
+++ b/drivers/acpi/acpica/tbinstal.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/tbprint.c b/drivers/acpi/acpica/tbprint.c
index 26d61dbace0a..edfd7b10be19 100644
--- a/drivers/acpi/acpica/tbprint.c
+++ b/drivers/acpi/acpica/tbprint.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/tbutils.c b/drivers/acpi/acpica/tbutils.c
index 86854e846800..5a968a78652b 100644
--- a/drivers/acpi/acpica/tbutils.c
+++ b/drivers/acpi/acpica/tbutils.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/tbxface.c b/drivers/acpi/acpica/tbxface.c
index 7684707b254b..010b1c43df92 100644
--- a/drivers/acpi/acpica/tbxface.c
+++ b/drivers/acpi/acpica/tbxface.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/tbxfload.c b/drivers/acpi/acpica/tbxfload.c
index 82019c01a0e5..b71ce3b817ea 100644
--- a/drivers/acpi/acpica/tbxfload.c
+++ b/drivers/acpi/acpica/tbxfload.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/tbxfroot.c b/drivers/acpi/acpica/tbxfroot.c
index 0adb1c78d863..f9f9a7da2cad 100644
--- a/drivers/acpi/acpica/tbxfroot.c
+++ b/drivers/acpi/acpica/tbxfroot.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/utaddress.c b/drivers/acpi/acpica/utaddress.c
index 433d822798b6..26a0633115be 100644
--- a/drivers/acpi/acpica/utaddress.c
+++ b/drivers/acpi/acpica/utaddress.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/utalloc.c b/drivers/acpi/acpica/utalloc.c
index 13324a27b99b..a3401bd29413 100644
--- a/drivers/acpi/acpica/utalloc.c
+++ b/drivers/acpi/acpica/utalloc.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/utascii.c b/drivers/acpi/acpica/utascii.c
index 706c1f346490..909bdb198651 100644
--- a/drivers/acpi/acpica/utascii.c
+++ b/drivers/acpi/acpica/utascii.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/utbuffer.c b/drivers/acpi/acpica/utbuffer.c
index ff2981275b9a..f17eaa009dde 100644
--- a/drivers/acpi/acpica/utbuffer.c
+++ b/drivers/acpi/acpica/utbuffer.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/utcache.c b/drivers/acpi/acpica/utcache.c
index 3b8d23ef351f..11c7f72f2d56 100644
--- a/drivers/acpi/acpica/utcache.c
+++ b/drivers/acpi/acpica/utcache.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/utcopy.c b/drivers/acpi/acpica/utcopy.c
index 82f971402d85..e9382255d6c6 100644
--- a/drivers/acpi/acpica/utcopy.c
+++ b/drivers/acpi/acpica/utcopy.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/utdebug.c b/drivers/acpi/acpica/utdebug.c
index 044df9b0356e..bd5ea3101eb7 100644
--- a/drivers/acpi/acpica/utdebug.c
+++ b/drivers/acpi/acpica/utdebug.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/utdecode.c b/drivers/acpi/acpica/utdecode.c
index b3d8421cfb80..60868309e326 100644
--- a/drivers/acpi/acpica/utdecode.c
+++ b/drivers/acpi/acpica/utdecode.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
@@ -238,7 +238,7 @@ const char *acpi_ut_get_object_type_name(union acpi_operand_object *obj_desc)
238 238
239 if (!obj_desc) { 239 if (!obj_desc) {
240 ACPI_DEBUG_PRINT((ACPI_DB_EXEC, "Null Object Descriptor\n")); 240 ACPI_DEBUG_PRINT((ACPI_DB_EXEC, "Null Object Descriptor\n"));
241 return_PTR("[NULL Object Descriptor]"); 241 return_STR("[NULL Object Descriptor]");
242 } 242 }
243 243
244 /* These descriptor types share a common area */ 244 /* These descriptor types share a common area */
@@ -251,7 +251,7 @@ const char *acpi_ut_get_object_type_name(union acpi_operand_object *obj_desc)
251 acpi_ut_get_descriptor_name(obj_desc), 251 acpi_ut_get_descriptor_name(obj_desc),
252 obj_desc)); 252 obj_desc));
253 253
254 return_PTR("Invalid object"); 254 return_STR("Invalid object");
255 } 255 }
256 256
257 return_STR(acpi_ut_get_type_name(obj_desc->common.type)); 257 return_STR(acpi_ut_get_type_name(obj_desc->common.type));
diff --git a/drivers/acpi/acpica/utdelete.c b/drivers/acpi/acpica/utdelete.c
index 529d6c38ea7c..c6eb9fae70f9 100644
--- a/drivers/acpi/acpica/utdelete.c
+++ b/drivers/acpi/acpica/utdelete.c
@@ -5,7 +5,7 @@
5 ******************************************************************************/ 5 ******************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
@@ -421,8 +421,10 @@ acpi_ut_update_ref_count(union acpi_operand_object *object, u32 action)
421 } 421 }
422 422
423 ACPI_DEBUG_PRINT((ACPI_DB_ALLOCATIONS, 423 ACPI_DEBUG_PRINT((ACPI_DB_ALLOCATIONS,
424 "Obj %p Type %.2X Refs %.2X [Incremented]\n", 424 "Obj %p Type %.2X [%s] Refs %.2X [Incremented]\n",
425 object, object->common.type, new_count)); 425 object, object->common.type,
426 acpi_ut_get_object_type_name(object),
427 new_count));
426 break; 428 break;
427 429
428 case REF_DECREMENT: 430 case REF_DECREMENT:
diff --git a/drivers/acpi/acpica/uterror.c b/drivers/acpi/acpica/uterror.c
index 475932cecf1a..e3368186e1c1 100644
--- a/drivers/acpi/acpica/uterror.c
+++ b/drivers/acpi/acpica/uterror.c
@@ -5,7 +5,7 @@
5 ******************************************************************************/ 5 ******************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/uteval.c b/drivers/acpi/acpica/uteval.c
index 7bad13f2e518..3fce7519c690 100644
--- a/drivers/acpi/acpica/uteval.c
+++ b/drivers/acpi/acpica/uteval.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/utexcep.c b/drivers/acpi/acpica/utexcep.c
index 695240338e00..eb6dcab33d2f 100644
--- a/drivers/acpi/acpica/utexcep.c
+++ b/drivers/acpi/acpica/utexcep.c
@@ -5,7 +5,7 @@
5 ******************************************************************************/ 5 ******************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/utglobal.c b/drivers/acpi/acpica/utglobal.c
index dd3fd7f97f8e..230a50c82f22 100644
--- a/drivers/acpi/acpica/utglobal.c
+++ b/drivers/acpi/acpica/utglobal.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/uthex.c b/drivers/acpi/acpica/uthex.c
index 36d2fc789088..6600bc257516 100644
--- a/drivers/acpi/acpica/uthex.c
+++ b/drivers/acpi/acpica/uthex.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/utids.c b/drivers/acpi/acpica/utids.c
index f7cd2d52643b..a6eb580ee21d 100644
--- a/drivers/acpi/acpica/utids.c
+++ b/drivers/acpi/acpica/utids.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/utinit.c b/drivers/acpi/acpica/utinit.c
index 1711fdf41709..23e766d1691d 100644
--- a/drivers/acpi/acpica/utinit.c
+++ b/drivers/acpi/acpica/utinit.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/utlock.c b/drivers/acpi/acpica/utlock.c
index 3cd0978925ef..db2d9910866e 100644
--- a/drivers/acpi/acpica/utlock.c
+++ b/drivers/acpi/acpica/utlock.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/utmath.c b/drivers/acpi/acpica/utmath.c
index 2d6530ee7e51..aa0502d1d019 100644
--- a/drivers/acpi/acpica/utmath.c
+++ b/drivers/acpi/acpica/utmath.c
@@ -5,7 +5,7 @@
5 ******************************************************************************/ 5 ******************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/utmisc.c b/drivers/acpi/acpica/utmisc.c
index 389de3bd1ff1..443ffad01209 100644
--- a/drivers/acpi/acpica/utmisc.c
+++ b/drivers/acpi/acpica/utmisc.c
@@ -5,7 +5,7 @@
5 ******************************************************************************/ 5 ******************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/utmutex.c b/drivers/acpi/acpica/utmutex.c
index 15073375bd00..586354788018 100644
--- a/drivers/acpi/acpica/utmutex.c
+++ b/drivers/acpi/acpica/utmutex.c
@@ -5,7 +5,7 @@
5 ******************************************************************************/ 5 ******************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/utnonansi.c b/drivers/acpi/acpica/utnonansi.c
index 2514239282c2..792664982ea3 100644
--- a/drivers/acpi/acpica/utnonansi.c
+++ b/drivers/acpi/acpica/utnonansi.c
@@ -5,7 +5,7 @@
5 ******************************************************************************/ 5 ******************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/utobject.c b/drivers/acpi/acpica/utobject.c
index 72b9a062bbab..64e6641bfe82 100644
--- a/drivers/acpi/acpica/utobject.c
+++ b/drivers/acpi/acpica/utobject.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/utosi.c b/drivers/acpi/acpica/utosi.c
index f0484b058c44..3175b133c0e4 100644
--- a/drivers/acpi/acpica/utosi.c
+++ b/drivers/acpi/acpica/utosi.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/utownerid.c b/drivers/acpi/acpica/utownerid.c
index 3cd573c5f7f9..c82399f9b456 100644
--- a/drivers/acpi/acpica/utownerid.c
+++ b/drivers/acpi/acpica/utownerid.c
@@ -5,7 +5,7 @@
5 ******************************************************************************/ 5 ******************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/utpredef.c b/drivers/acpi/acpica/utpredef.c
index ce18346b6144..350709f23e4c 100644
--- a/drivers/acpi/acpica/utpredef.c
+++ b/drivers/acpi/acpica/utpredef.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/utprint.c b/drivers/acpi/acpica/utprint.c
index 40eba804d49c..7e6e1ae6140f 100644
--- a/drivers/acpi/acpica/utprint.c
+++ b/drivers/acpi/acpica/utprint.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/utresrc.c b/drivers/acpi/acpica/utresrc.c
index 1de3376da66a..c86bae7b1d0f 100644
--- a/drivers/acpi/acpica/utresrc.c
+++ b/drivers/acpi/acpica/utresrc.c
@@ -5,7 +5,7 @@
5 ******************************************************************************/ 5 ******************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
@@ -421,8 +421,10 @@ acpi_ut_walk_aml_resources(struct acpi_walk_state *walk_state,
421 421
422 ACPI_FUNCTION_TRACE(ut_walk_aml_resources); 422 ACPI_FUNCTION_TRACE(ut_walk_aml_resources);
423 423
424 /* The absolute minimum resource template is one end_tag descriptor */ 424 /*
425 425 * The absolute minimum resource template is one end_tag descriptor.
426 * However, we will treat a lone end_tag as just a simple buffer.
427 */
426 if (aml_length < sizeof(struct aml_resource_end_tag)) { 428 if (aml_length < sizeof(struct aml_resource_end_tag)) {
427 return_ACPI_STATUS(AE_AML_NO_RESOURCE_END_TAG); 429 return_ACPI_STATUS(AE_AML_NO_RESOURCE_END_TAG);
428 } 430 }
@@ -454,9 +456,8 @@ acpi_ut_walk_aml_resources(struct acpi_walk_state *walk_state,
454 /* Invoke the user function */ 456 /* Invoke the user function */
455 457
456 if (user_function) { 458 if (user_function) {
457 status = 459 status = user_function(aml, length, offset,
458 user_function(aml, length, offset, resource_index, 460 resource_index, context);
459 context);
460 if (ACPI_FAILURE(status)) { 461 if (ACPI_FAILURE(status)) {
461 return_ACPI_STATUS(status); 462 return_ACPI_STATUS(status);
462 } 463 }
@@ -480,6 +481,12 @@ acpi_ut_walk_aml_resources(struct acpi_walk_state *walk_state,
480 *context = aml; 481 *context = aml;
481 } 482 }
482 483
484 /* Check if buffer is defined to be longer than the resource length */
485
486 if (aml_length > (offset + length)) {
487 return_ACPI_STATUS(AE_AML_NO_RESOURCE_END_TAG);
488 }
489
483 /* Normal exit */ 490 /* Normal exit */
484 491
485 return_ACPI_STATUS(AE_OK); 492 return_ACPI_STATUS(AE_OK);
diff --git a/drivers/acpi/acpica/utstate.c b/drivers/acpi/acpica/utstate.c
index f3d4dbd5fac0..64308c304ade 100644
--- a/drivers/acpi/acpica/utstate.c
+++ b/drivers/acpi/acpica/utstate.c
@@ -5,7 +5,7 @@
5 ******************************************************************************/ 5 ******************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/utstring.c b/drivers/acpi/acpica/utstring.c
index 288913a0e709..9eacbcb9e4f4 100644
--- a/drivers/acpi/acpica/utstring.c
+++ b/drivers/acpi/acpica/utstring.c
@@ -5,7 +5,7 @@
5 ******************************************************************************/ 5 ******************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/utstrtoul64.c b/drivers/acpi/acpica/utstrtoul64.c
index b4f341c98a95..f42be01d99fd 100644
--- a/drivers/acpi/acpica/utstrtoul64.c
+++ b/drivers/acpi/acpica/utstrtoul64.c
@@ -5,7 +5,7 @@
5 ******************************************************************************/ 5 ******************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/uttrack.c b/drivers/acpi/acpica/uttrack.c
index df31d71ce596..9a07a42cae34 100644
--- a/drivers/acpi/acpica/uttrack.c
+++ b/drivers/acpi/acpica/uttrack.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/utuuid.c b/drivers/acpi/acpica/utuuid.c
index 81088ff9d67b..5028e06718b1 100644
--- a/drivers/acpi/acpica/utuuid.c
+++ b/drivers/acpi/acpica/utuuid.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/utxface.c b/drivers/acpi/acpica/utxface.c
index ec503c862961..6b9ba4029f8e 100644
--- a/drivers/acpi/acpica/utxface.c
+++ b/drivers/acpi/acpica/utxface.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/utxferror.c b/drivers/acpi/acpica/utxferror.c
index d9f15cbcd8a0..a16bd9eac653 100644
--- a/drivers/acpi/acpica/utxferror.c
+++ b/drivers/acpi/acpica/utxferror.c
@@ -5,7 +5,7 @@
5 ******************************************************************************/ 5 ******************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/utxfinit.c b/drivers/acpi/acpica/utxfinit.c
index a5ca0f57cd08..6d5180601cf2 100644
--- a/drivers/acpi/acpica/utxfinit.c
+++ b/drivers/acpi/acpica/utxfinit.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/acpica/utxfmutex.c b/drivers/acpi/acpica/utxfmutex.c
index 850de0155528..c016211c35ae 100644
--- a/drivers/acpi/acpica/utxfmutex.c
+++ b/drivers/acpi/acpica/utxfmutex.c
@@ -5,7 +5,7 @@
5 ******************************************************************************/ 5 ******************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/drivers/acpi/apei/einj.c b/drivers/acpi/apei/einj.c
index eebb7e39c49c..ec50c32ea3da 100644
--- a/drivers/acpi/apei/einj.c
+++ b/drivers/acpi/apei/einj.c
@@ -711,7 +711,7 @@ static int __init einj_init(void)
711 711
712 rc = einj_check_table(einj_tab); 712 rc = einj_check_table(einj_tab);
713 if (rc) { 713 if (rc) {
714 pr_warn(FW_BUG "Invalid EINJ table.n"); 714 pr_warn(FW_BUG "Invalid EINJ table.\n");
715 return -EINVAL; 715 return -EINVAL;
716 } 716 }
717 717
diff --git a/drivers/acpi/bus.c b/drivers/acpi/bus.c
index 95855cb9d6fb..80cb5eb75b63 100644
--- a/drivers/acpi/bus.c
+++ b/drivers/acpi/bus.c
@@ -677,6 +677,48 @@ static bool acpi_of_match_device(struct acpi_device *adev,
677 return false; 677 return false;
678} 678}
679 679
680static bool acpi_of_modalias(struct acpi_device *adev,
681 char *modalias, size_t len)
682{
683 const union acpi_object *of_compatible;
684 const union acpi_object *obj;
685 const char *str, *chr;
686
687 of_compatible = adev->data.of_compatible;
688 if (!of_compatible)
689 return false;
690
691 if (of_compatible->type == ACPI_TYPE_PACKAGE)
692 obj = of_compatible->package.elements;
693 else /* Must be ACPI_TYPE_STRING. */
694 obj = of_compatible;
695
696 str = obj->string.pointer;
697 chr = strchr(str, ',');
698 strlcpy(modalias, chr ? chr + 1 : str, len);
699
700 return true;
701}
702
703/**
704 * acpi_set_modalias - Set modalias using "compatible" property or supplied ID
705 * @adev: ACPI device object to match
706 * @default_id: ID string to use as default if no compatible string found
707 * @modalias: Pointer to buffer that modalias value will be copied into
708 * @len: Length of modalias buffer
709 *
710 * This is a counterpart of of_modalias_node() for struct acpi_device objects.
711 * If there is a compatible string for @adev, it will be copied to @modalias
712 * with the vendor prefix stripped; otherwise, @default_id will be used.
713 */
714void acpi_set_modalias(struct acpi_device *adev, const char *default_id,
715 char *modalias, size_t len)
716{
717 if (!acpi_of_modalias(adev, modalias, len))
718 strlcpy(modalias, default_id, len);
719}
720EXPORT_SYMBOL_GPL(acpi_set_modalias);
721
680static bool __acpi_match_device_cls(const struct acpi_device_id *id, 722static bool __acpi_match_device_cls(const struct acpi_device_id *id,
681 struct acpi_hardware_id *hwid) 723 struct acpi_hardware_id *hwid)
682{ 724{
diff --git a/drivers/acpi/button.c b/drivers/acpi/button.c
index e19f530f1083..668137e4a069 100644
--- a/drivers/acpi/button.c
+++ b/drivers/acpi/button.c
@@ -57,7 +57,6 @@
57 57
58#define ACPI_BUTTON_LID_INIT_IGNORE 0x00 58#define ACPI_BUTTON_LID_INIT_IGNORE 0x00
59#define ACPI_BUTTON_LID_INIT_OPEN 0x01 59#define ACPI_BUTTON_LID_INIT_OPEN 0x01
60#define ACPI_BUTTON_LID_INIT_METHOD 0x02
61 60
62#define _COMPONENT ACPI_BUTTON_COMPONENT 61#define _COMPONENT ACPI_BUTTON_COMPONENT
63ACPI_MODULE_NAME("button"); 62ACPI_MODULE_NAME("button");
@@ -113,7 +112,7 @@ struct acpi_button {
113 112
114static BLOCKING_NOTIFIER_HEAD(acpi_lid_notifier); 113static BLOCKING_NOTIFIER_HEAD(acpi_lid_notifier);
115static struct acpi_device *lid_device; 114static struct acpi_device *lid_device;
116static u8 lid_init_state = ACPI_BUTTON_LID_INIT_METHOD; 115static u8 lid_init_state = ACPI_BUTTON_LID_INIT_OPEN;
117 116
118static unsigned long lid_report_interval __read_mostly = 500; 117static unsigned long lid_report_interval __read_mostly = 500;
119module_param(lid_report_interval, ulong, 0644); 118module_param(lid_report_interval, ulong, 0644);
@@ -377,9 +376,6 @@ static void acpi_lid_initialize_state(struct acpi_device *device)
377 case ACPI_BUTTON_LID_INIT_OPEN: 376 case ACPI_BUTTON_LID_INIT_OPEN:
378 (void)acpi_lid_notify_state(device, 1); 377 (void)acpi_lid_notify_state(device, 1);
379 break; 378 break;
380 case ACPI_BUTTON_LID_INIT_METHOD:
381 (void)acpi_lid_update_state(device);
382 break;
383 case ACPI_BUTTON_LID_INIT_IGNORE: 379 case ACPI_BUTTON_LID_INIT_IGNORE:
384 default: 380 default:
385 break; 381 break;
@@ -563,9 +559,6 @@ static int param_set_lid_init_state(const char *val, struct kernel_param *kp)
563 if (!strncmp(val, "open", sizeof("open") - 1)) { 559 if (!strncmp(val, "open", sizeof("open") - 1)) {
564 lid_init_state = ACPI_BUTTON_LID_INIT_OPEN; 560 lid_init_state = ACPI_BUTTON_LID_INIT_OPEN;
565 pr_info("Notify initial lid state as open\n"); 561 pr_info("Notify initial lid state as open\n");
566 } else if (!strncmp(val, "method", sizeof("method") - 1)) {
567 lid_init_state = ACPI_BUTTON_LID_INIT_METHOD;
568 pr_info("Notify initial lid state with _LID return value\n");
569 } else if (!strncmp(val, "ignore", sizeof("ignore") - 1)) { 562 } else if (!strncmp(val, "ignore", sizeof("ignore") - 1)) {
570 lid_init_state = ACPI_BUTTON_LID_INIT_IGNORE; 563 lid_init_state = ACPI_BUTTON_LID_INIT_IGNORE;
571 pr_info("Do not notify initial lid state\n"); 564 pr_info("Do not notify initial lid state\n");
@@ -579,8 +572,6 @@ static int param_get_lid_init_state(char *buffer, struct kernel_param *kp)
579 switch (lid_init_state) { 572 switch (lid_init_state) {
580 case ACPI_BUTTON_LID_INIT_OPEN: 573 case ACPI_BUTTON_LID_INIT_OPEN:
581 return sprintf(buffer, "open"); 574 return sprintf(buffer, "open");
582 case ACPI_BUTTON_LID_INIT_METHOD:
583 return sprintf(buffer, "method");
584 case ACPI_BUTTON_LID_INIT_IGNORE: 575 case ACPI_BUTTON_LID_INIT_IGNORE:
585 return sprintf(buffer, "ignore"); 576 return sprintf(buffer, "ignore");
586 default: 577 default:
diff --git a/drivers/acpi/ec.c b/drivers/acpi/ec.c
index 48e19d013170..c24235d8fb52 100644
--- a/drivers/acpi/ec.c
+++ b/drivers/acpi/ec.c
@@ -188,7 +188,6 @@ EXPORT_SYMBOL(first_ec);
188static bool boot_ec_is_ecdt = false; 188static bool boot_ec_is_ecdt = false;
189static struct workqueue_struct *ec_query_wq; 189static struct workqueue_struct *ec_query_wq;
190 190
191static int EC_FLAGS_CLEAR_ON_RESUME; /* Needs acpi_ec_clear() on boot/resume */
192static int EC_FLAGS_QUERY_HANDSHAKE; /* Needs QR_EC issued when SCI_EVT set */ 191static int EC_FLAGS_QUERY_HANDSHAKE; /* Needs QR_EC issued when SCI_EVT set */
193static int EC_FLAGS_CORRECT_ECDT; /* Needs ECDT port address correction */ 192static int EC_FLAGS_CORRECT_ECDT; /* Needs ECDT port address correction */
194 193
@@ -492,26 +491,6 @@ static inline void __acpi_ec_disable_event(struct acpi_ec *ec)
492 ec_log_drv("event blocked"); 491 ec_log_drv("event blocked");
493} 492}
494 493
495/*
496 * Process _Q events that might have accumulated in the EC.
497 * Run with locked ec mutex.
498 */
499static void acpi_ec_clear(struct acpi_ec *ec)
500{
501 int i, status;
502 u8 value = 0;
503
504 for (i = 0; i < ACPI_EC_CLEAR_MAX; i++) {
505 status = acpi_ec_query(ec, &value);
506 if (status || !value)
507 break;
508 }
509 if (unlikely(i == ACPI_EC_CLEAR_MAX))
510 pr_warn("Warning: Maximum of %d stale EC events cleared\n", i);
511 else
512 pr_info("%d stale EC events cleared\n", i);
513}
514
515static void acpi_ec_enable_event(struct acpi_ec *ec) 494static void acpi_ec_enable_event(struct acpi_ec *ec)
516{ 495{
517 unsigned long flags; 496 unsigned long flags;
@@ -520,10 +499,6 @@ static void acpi_ec_enable_event(struct acpi_ec *ec)
520 if (acpi_ec_started(ec)) 499 if (acpi_ec_started(ec))
521 __acpi_ec_enable_event(ec); 500 __acpi_ec_enable_event(ec);
522 spin_unlock_irqrestore(&ec->lock, flags); 501 spin_unlock_irqrestore(&ec->lock, flags);
523
524 /* Drain additional events if hardware requires that */
525 if (EC_FLAGS_CLEAR_ON_RESUME)
526 acpi_ec_clear(ec);
527} 502}
528 503
529#ifdef CONFIG_PM_SLEEP 504#ifdef CONFIG_PM_SLEEP
@@ -729,12 +704,12 @@ static void start_transaction(struct acpi_ec *ec)
729 704
730static int ec_guard(struct acpi_ec *ec) 705static int ec_guard(struct acpi_ec *ec)
731{ 706{
732 unsigned long guard = usecs_to_jiffies(ec_polling_guard); 707 unsigned long guard = usecs_to_jiffies(ec->polling_guard);
733 unsigned long timeout = ec->timestamp + guard; 708 unsigned long timeout = ec->timestamp + guard;
734 709
735 /* Ensure guarding period before polling EC status */ 710 /* Ensure guarding period before polling EC status */
736 do { 711 do {
737 if (ec_busy_polling) { 712 if (ec->busy_polling) {
738 /* Perform busy polling */ 713 /* Perform busy polling */
739 if (ec_transaction_completed(ec)) 714 if (ec_transaction_completed(ec))
740 return 0; 715 return 0;
@@ -998,6 +973,28 @@ static void acpi_ec_stop(struct acpi_ec *ec, bool suspending)
998 spin_unlock_irqrestore(&ec->lock, flags); 973 spin_unlock_irqrestore(&ec->lock, flags);
999} 974}
1000 975
976static void acpi_ec_enter_noirq(struct acpi_ec *ec)
977{
978 unsigned long flags;
979
980 spin_lock_irqsave(&ec->lock, flags);
981 ec->busy_polling = true;
982 ec->polling_guard = 0;
983 ec_log_drv("interrupt blocked");
984 spin_unlock_irqrestore(&ec->lock, flags);
985}
986
987static void acpi_ec_leave_noirq(struct acpi_ec *ec)
988{
989 unsigned long flags;
990
991 spin_lock_irqsave(&ec->lock, flags);
992 ec->busy_polling = ec_busy_polling;
993 ec->polling_guard = ec_polling_guard;
994 ec_log_drv("interrupt unblocked");
995 spin_unlock_irqrestore(&ec->lock, flags);
996}
997
1001void acpi_ec_block_transactions(void) 998void acpi_ec_block_transactions(void)
1002{ 999{
1003 struct acpi_ec *ec = first_ec; 1000 struct acpi_ec *ec = first_ec;
@@ -1278,7 +1275,7 @@ acpi_ec_space_handler(u32 function, acpi_physical_address address,
1278 if (function != ACPI_READ && function != ACPI_WRITE) 1275 if (function != ACPI_READ && function != ACPI_WRITE)
1279 return AE_BAD_PARAMETER; 1276 return AE_BAD_PARAMETER;
1280 1277
1281 if (ec_busy_polling || bits > 8) 1278 if (ec->busy_polling || bits > 8)
1282 acpi_ec_burst_enable(ec); 1279 acpi_ec_burst_enable(ec);
1283 1280
1284 for (i = 0; i < bytes; ++i, ++address, ++value) 1281 for (i = 0; i < bytes; ++i, ++address, ++value)
@@ -1286,7 +1283,7 @@ acpi_ec_space_handler(u32 function, acpi_physical_address address,
1286 acpi_ec_read(ec, address, value) : 1283 acpi_ec_read(ec, address, value) :
1287 acpi_ec_write(ec, address, *value); 1284 acpi_ec_write(ec, address, *value);
1288 1285
1289 if (ec_busy_polling || bits > 8) 1286 if (ec->busy_polling || bits > 8)
1290 acpi_ec_burst_disable(ec); 1287 acpi_ec_burst_disable(ec);
1291 1288
1292 switch (result) { 1289 switch (result) {
@@ -1329,6 +1326,8 @@ static struct acpi_ec *acpi_ec_alloc(void)
1329 spin_lock_init(&ec->lock); 1326 spin_lock_init(&ec->lock);
1330 INIT_WORK(&ec->work, acpi_ec_event_handler); 1327 INIT_WORK(&ec->work, acpi_ec_event_handler);
1331 ec->timestamp = jiffies; 1328 ec->timestamp = jiffies;
1329 ec->busy_polling = true;
1330 ec->polling_guard = 0;
1332 return ec; 1331 return ec;
1333} 1332}
1334 1333
@@ -1390,6 +1389,7 @@ static int ec_install_handlers(struct acpi_ec *ec, bool handle_events)
1390 acpi_ec_start(ec, false); 1389 acpi_ec_start(ec, false);
1391 1390
1392 if (!test_bit(EC_FLAGS_EC_HANDLER_INSTALLED, &ec->flags)) { 1391 if (!test_bit(EC_FLAGS_EC_HANDLER_INSTALLED, &ec->flags)) {
1392 acpi_ec_enter_noirq(ec);
1393 status = acpi_install_address_space_handler(ec->handle, 1393 status = acpi_install_address_space_handler(ec->handle,
1394 ACPI_ADR_SPACE_EC, 1394 ACPI_ADR_SPACE_EC,
1395 &acpi_ec_space_handler, 1395 &acpi_ec_space_handler,
@@ -1429,6 +1429,7 @@ static int ec_install_handlers(struct acpi_ec *ec, bool handle_events)
1429 /* This is not fatal as we can poll EC events */ 1429 /* This is not fatal as we can poll EC events */
1430 if (ACPI_SUCCESS(status)) { 1430 if (ACPI_SUCCESS(status)) {
1431 set_bit(EC_FLAGS_GPE_HANDLER_INSTALLED, &ec->flags); 1431 set_bit(EC_FLAGS_GPE_HANDLER_INSTALLED, &ec->flags);
1432 acpi_ec_leave_noirq(ec);
1432 if (test_bit(EC_FLAGS_STARTED, &ec->flags) && 1433 if (test_bit(EC_FLAGS_STARTED, &ec->flags) &&
1433 ec->reference_count >= 1) 1434 ec->reference_count >= 1)
1434 acpi_ec_enable_gpe(ec, true); 1435 acpi_ec_enable_gpe(ec, true);
@@ -1741,31 +1742,6 @@ static int ec_flag_query_handshake(const struct dmi_system_id *id)
1741#endif 1742#endif
1742 1743
1743/* 1744/*
1744 * On some hardware it is necessary to clear events accumulated by the EC during
1745 * sleep. These ECs stop reporting GPEs until they are manually polled, if too
1746 * many events are accumulated. (e.g. Samsung Series 5/9 notebooks)
1747 *
1748 * https://bugzilla.kernel.org/show_bug.cgi?id=44161
1749 *
1750 * Ideally, the EC should also be instructed NOT to accumulate events during
1751 * sleep (which Windows seems to do somehow), but the interface to control this
1752 * behaviour is not known at this time.
1753 *
1754 * Models known to be affected are Samsung 530Uxx/535Uxx/540Uxx/550Pxx/900Xxx,
1755 * however it is very likely that other Samsung models are affected.
1756 *
1757 * On systems which don't accumulate _Q events during sleep, this extra check
1758 * should be harmless.
1759 */
1760static int ec_clear_on_resume(const struct dmi_system_id *id)
1761{
1762 pr_debug("Detected system needing EC poll on resume.\n");
1763 EC_FLAGS_CLEAR_ON_RESUME = 1;
1764 ec_event_clearing = ACPI_EC_EVT_TIMING_STATUS;
1765 return 0;
1766}
1767
1768/*
1769 * Some ECDTs contain wrong register addresses. 1745 * Some ECDTs contain wrong register addresses.
1770 * MSI MS-171F 1746 * MSI MS-171F
1771 * https://bugzilla.kernel.org/show_bug.cgi?id=12461 1747 * https://bugzilla.kernel.org/show_bug.cgi?id=12461
@@ -1782,9 +1758,6 @@ static struct dmi_system_id ec_dmi_table[] __initdata = {
1782 ec_correct_ecdt, "MSI MS-171F", { 1758 ec_correct_ecdt, "MSI MS-171F", {
1783 DMI_MATCH(DMI_SYS_VENDOR, "Micro-Star"), 1759 DMI_MATCH(DMI_SYS_VENDOR, "Micro-Star"),
1784 DMI_MATCH(DMI_PRODUCT_NAME, "MS-171F"),}, NULL}, 1760 DMI_MATCH(DMI_PRODUCT_NAME, "MS-171F"),}, NULL},
1785 {
1786 ec_clear_on_resume, "Samsung hardware", {
1787 DMI_MATCH(DMI_SYS_VENDOR, "SAMSUNG ELECTRONICS CO., LTD.")}, NULL},
1788 {}, 1761 {},
1789}; 1762};
1790 1763
@@ -1839,34 +1812,6 @@ error:
1839} 1812}
1840 1813
1841#ifdef CONFIG_PM_SLEEP 1814#ifdef CONFIG_PM_SLEEP
1842static void acpi_ec_enter_noirq(struct acpi_ec *ec)
1843{
1844 unsigned long flags;
1845
1846 if (ec == first_ec) {
1847 spin_lock_irqsave(&ec->lock, flags);
1848 ec->saved_busy_polling = ec_busy_polling;
1849 ec->saved_polling_guard = ec_polling_guard;
1850 ec_busy_polling = true;
1851 ec_polling_guard = 0;
1852 ec_log_drv("interrupt blocked");
1853 spin_unlock_irqrestore(&ec->lock, flags);
1854 }
1855}
1856
1857static void acpi_ec_leave_noirq(struct acpi_ec *ec)
1858{
1859 unsigned long flags;
1860
1861 if (ec == first_ec) {
1862 spin_lock_irqsave(&ec->lock, flags);
1863 ec_busy_polling = ec->saved_busy_polling;
1864 ec_polling_guard = ec->saved_polling_guard;
1865 ec_log_drv("interrupt unblocked");
1866 spin_unlock_irqrestore(&ec->lock, flags);
1867 }
1868}
1869
1870static int acpi_ec_suspend_noirq(struct device *dev) 1815static int acpi_ec_suspend_noirq(struct device *dev)
1871{ 1816{
1872 struct acpi_ec *ec = 1817 struct acpi_ec *ec =
diff --git a/drivers/acpi/internal.h b/drivers/acpi/internal.h
index 0c452265c111..219b90bc0922 100644
--- a/drivers/acpi/internal.h
+++ b/drivers/acpi/internal.h
@@ -172,8 +172,8 @@ struct acpi_ec {
172 struct work_struct work; 172 struct work_struct work;
173 unsigned long timestamp; 173 unsigned long timestamp;
174 unsigned long nr_pending_queries; 174 unsigned long nr_pending_queries;
175 bool saved_busy_polling; 175 bool busy_polling;
176 unsigned int saved_polling_guard; 176 unsigned int polling_guard;
177}; 177};
178 178
179extern struct acpi_ec *first_ec; 179extern struct acpi_ec *first_ec;
diff --git a/drivers/acpi/osl.c b/drivers/acpi/osl.c
index 57fb5f468ac2..db78d353bab1 100644
--- a/drivers/acpi/osl.c
+++ b/drivers/acpi/osl.c
@@ -1686,7 +1686,7 @@ acpi_status acpi_os_prepare_sleep(u8 sleep_state, u32 pm1a_control,
1686 if (rc < 0) 1686 if (rc < 0)
1687 return AE_ERROR; 1687 return AE_ERROR;
1688 else if (rc > 0) 1688 else if (rc > 0)
1689 return AE_CTRL_SKIP; 1689 return AE_CTRL_TERMINATE;
1690 1690
1691 return AE_OK; 1691 return AE_OK;
1692} 1692}
@@ -1697,6 +1697,7 @@ void acpi_os_set_prepare_sleep(int (*func)(u8 sleep_state,
1697 __acpi_os_prepare_sleep = func; 1697 __acpi_os_prepare_sleep = func;
1698} 1698}
1699 1699
1700#if (ACPI_REDUCED_HARDWARE)
1700acpi_status acpi_os_prepare_extended_sleep(u8 sleep_state, u32 val_a, 1701acpi_status acpi_os_prepare_extended_sleep(u8 sleep_state, u32 val_a,
1701 u32 val_b) 1702 u32 val_b)
1702{ 1703{
@@ -1707,13 +1708,35 @@ acpi_status acpi_os_prepare_extended_sleep(u8 sleep_state, u32 val_a,
1707 if (rc < 0) 1708 if (rc < 0)
1708 return AE_ERROR; 1709 return AE_ERROR;
1709 else if (rc > 0) 1710 else if (rc > 0)
1710 return AE_CTRL_SKIP; 1711 return AE_CTRL_TERMINATE;
1711 1712
1712 return AE_OK; 1713 return AE_OK;
1713} 1714}
1715#else
1716acpi_status acpi_os_prepare_extended_sleep(u8 sleep_state, u32 val_a,
1717 u32 val_b)
1718{
1719 return AE_OK;
1720}
1721#endif
1714 1722
1715void acpi_os_set_prepare_extended_sleep(int (*func)(u8 sleep_state, 1723void acpi_os_set_prepare_extended_sleep(int (*func)(u8 sleep_state,
1716 u32 val_a, u32 val_b)) 1724 u32 val_a, u32 val_b))
1717{ 1725{
1718 __acpi_os_prepare_extended_sleep = func; 1726 __acpi_os_prepare_extended_sleep = func;
1719} 1727}
1728
1729acpi_status acpi_os_enter_sleep(u8 sleep_state,
1730 u32 reg_a_value, u32 reg_b_value)
1731{
1732 acpi_status status;
1733
1734 if (acpi_gbl_reduced_hardware)
1735 status = acpi_os_prepare_extended_sleep(sleep_state,
1736 reg_a_value,
1737 reg_b_value);
1738 else
1739 status = acpi_os_prepare_sleep(sleep_state,
1740 reg_a_value, reg_b_value);
1741 return status;
1742}
diff --git a/drivers/acpi/sleep.c b/drivers/acpi/sleep.c
index 54abb26b7366..a4327af676fe 100644
--- a/drivers/acpi/sleep.c
+++ b/drivers/acpi/sleep.c
@@ -130,6 +130,12 @@ void __init acpi_nvs_nosave_s3(void)
130 nvs_nosave_s3 = true; 130 nvs_nosave_s3 = true;
131} 131}
132 132
133static int __init init_nvs_save_s3(const struct dmi_system_id *d)
134{
135 nvs_nosave_s3 = false;
136 return 0;
137}
138
133/* 139/*
134 * ACPI 1.0 wants us to execute _PTS before suspending devices, so we allow the 140 * ACPI 1.0 wants us to execute _PTS before suspending devices, so we allow the
135 * user to request that behavior by using the 'acpi_old_suspend_ordering' 141 * user to request that behavior by using the 'acpi_old_suspend_ordering'
@@ -324,6 +330,19 @@ static struct dmi_system_id acpisleep_dmi_table[] __initdata = {
324 DMI_MATCH(DMI_PRODUCT_NAME, "K54HR"), 330 DMI_MATCH(DMI_PRODUCT_NAME, "K54HR"),
325 }, 331 },
326 }, 332 },
333 /*
334 * https://bugzilla.kernel.org/show_bug.cgi?id=189431
335 * Lenovo G50-45 is a platform later than 2012, but needs nvs memory
336 * saving during S3.
337 */
338 {
339 .callback = init_nvs_save_s3,
340 .ident = "Lenovo G50-45",
341 .matches = {
342 DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
343 DMI_MATCH(DMI_PRODUCT_NAME, "80E3"),
344 },
345 },
327 {}, 346 {},
328}; 347};
329 348
diff --git a/drivers/i2c/i2c-core.c b/drivers/i2c/i2c-core.c
index 583e95042a21..1e52395e90a7 100644
--- a/drivers/i2c/i2c-core.c
+++ b/drivers/i2c/i2c-core.c
@@ -221,7 +221,8 @@ static int i2c_acpi_get_info(struct acpi_device *adev,
221 221
222 acpi_dev_free_resource_list(&resource_list); 222 acpi_dev_free_resource_list(&resource_list);
223 223
224 strlcpy(info->type, dev_name(&adev->dev), sizeof(info->type)); 224 acpi_set_modalias(adev, dev_name(&adev->dev), info->type,
225 sizeof(info->type));
225 226
226 return 0; 227 return 0;
227} 228}
diff --git a/drivers/spi/spi.c b/drivers/spi/spi.c
index f274df9e0e3e..44222ef9471e 100644
--- a/drivers/spi/spi.c
+++ b/drivers/spi/spi.c
@@ -1738,13 +1738,15 @@ static acpi_status acpi_register_spi_device(struct spi_master *master,
1738 return AE_OK; 1738 return AE_OK;
1739 } 1739 }
1740 1740
1741 acpi_set_modalias(adev, acpi_device_hid(adev), spi->modalias,
1742 sizeof(spi->modalias));
1743
1741 if (spi->irq < 0) 1744 if (spi->irq < 0)
1742 spi->irq = acpi_dev_gpio_irq_get(adev, 0); 1745 spi->irq = acpi_dev_gpio_irq_get(adev, 0);
1743 1746
1744 acpi_device_set_enumerated(adev); 1747 acpi_device_set_enumerated(adev);
1745 1748
1746 adev->power.flags.ignore_parent = true; 1749 adev->power.flags.ignore_parent = true;
1747 strlcpy(spi->modalias, acpi_device_hid(adev), sizeof(spi->modalias));
1748 if (spi_add_device(spi)) { 1750 if (spi_add_device(spi)) {
1749 adev->power.flags.ignore_parent = false; 1751 adev->power.flags.ignore_parent = false;
1750 dev_err(&master->dev, "failed to add SPI device %s from ACPI\n", 1752 dev_err(&master->dev, "failed to add SPI device %s from ACPI\n",
diff --git a/include/acpi/acbuffer.h b/include/acpi/acbuffer.h
index cd20d5586f4b..c77b91ff1149 100644
--- a/include/acpi/acbuffer.h
+++ b/include/acpi/acbuffer.h
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/include/acpi/acconfig.h b/include/acpi/acconfig.h
index d25da936750e..07740072da55 100644
--- a/include/acpi/acconfig.h
+++ b/include/acpi/acconfig.h
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/include/acpi/acexcep.h b/include/acpi/acexcep.h
index 2c396344a7a2..ad54610ea6cd 100644
--- a/include/acpi/acexcep.h
+++ b/include/acpi/acexcep.h
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
@@ -91,7 +91,6 @@ struct acpi_exception_info {
91#define ACPI_SUCCESS(a) (!(a)) 91#define ACPI_SUCCESS(a) (!(a))
92#define ACPI_FAILURE(a) (a) 92#define ACPI_FAILURE(a) (a)
93 93
94#define ACPI_SKIP(a) (a == AE_CTRL_SKIP)
95#define AE_OK (acpi_status) 0x0000 94#define AE_OK (acpi_status) 0x0000
96 95
97/* 96/*
@@ -211,11 +210,10 @@ struct acpi_exception_info {
211#define AE_CTRL_TRANSFER EXCEP_CTL (0x0008) 210#define AE_CTRL_TRANSFER EXCEP_CTL (0x0008)
212#define AE_CTRL_BREAK EXCEP_CTL (0x0009) 211#define AE_CTRL_BREAK EXCEP_CTL (0x0009)
213#define AE_CTRL_CONTINUE EXCEP_CTL (0x000A) 212#define AE_CTRL_CONTINUE EXCEP_CTL (0x000A)
214#define AE_CTRL_SKIP EXCEP_CTL (0x000B) 213#define AE_CTRL_PARSE_CONTINUE EXCEP_CTL (0x000B)
215#define AE_CTRL_PARSE_CONTINUE EXCEP_CTL (0x000C) 214#define AE_CTRL_PARSE_PENDING EXCEP_CTL (0x000C)
216#define AE_CTRL_PARSE_PENDING EXCEP_CTL (0x000D)
217 215
218#define AE_CODE_CTRL_MAX 0x000D 216#define AE_CODE_CTRL_MAX 0x000C
219 217
220/* Exception strings for acpi_format_exception */ 218/* Exception strings for acpi_format_exception */
221 219
@@ -378,7 +376,6 @@ static const struct acpi_exception_info acpi_gbl_exception_names_ctrl[] = {
378 EXCEP_TXT("AE_CTRL_TRANSFER", "Transfer control to called method"), 376 EXCEP_TXT("AE_CTRL_TRANSFER", "Transfer control to called method"),
379 EXCEP_TXT("AE_CTRL_BREAK", "A Break has been executed"), 377 EXCEP_TXT("AE_CTRL_BREAK", "A Break has been executed"),
380 EXCEP_TXT("AE_CTRL_CONTINUE", "A Continue has been executed"), 378 EXCEP_TXT("AE_CTRL_CONTINUE", "A Continue has been executed"),
381 EXCEP_TXT("AE_CTRL_SKIP", "Not currently used"),
382 EXCEP_TXT("AE_CTRL_PARSE_CONTINUE", "Used to skip over bad opcodes"), 379 EXCEP_TXT("AE_CTRL_PARSE_CONTINUE", "Used to skip over bad opcodes"),
383 EXCEP_TXT("AE_CTRL_PARSE_PENDING", "Used to implement AML While loops") 380 EXCEP_TXT("AE_CTRL_PARSE_PENDING", "Used to implement AML While loops")
384}; 381};
diff --git a/include/acpi/acnames.h b/include/acpi/acnames.h
index be779db708bd..b421584033a5 100644
--- a/include/acpi/acnames.h
+++ b/include/acpi/acnames.h
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/include/acpi/acoutput.h b/include/acpi/acoutput.h
index 48eb4dd99bb1..c2e664e74075 100644
--- a/include/acpi/acoutput.h
+++ b/include/acpi/acoutput.h
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/include/acpi/acpi.h b/include/acpi/acpi.h
index 82803ae9713f..ca036620703c 100644
--- a/include/acpi/acpi.h
+++ b/include/acpi/acpi.h
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/include/acpi/acpi_bus.h b/include/acpi/acpi_bus.h
index 4242c31ffaee..ef0ae8aaa567 100644
--- a/include/acpi/acpi_bus.h
+++ b/include/acpi/acpi_bus.h
@@ -522,6 +522,8 @@ void acpi_bus_trim(struct acpi_device *start);
522acpi_status acpi_bus_get_ejd(acpi_handle handle, acpi_handle * ejd); 522acpi_status acpi_bus_get_ejd(acpi_handle handle, acpi_handle * ejd);
523int acpi_match_device_ids(struct acpi_device *device, 523int acpi_match_device_ids(struct acpi_device *device,
524 const struct acpi_device_id *ids); 524 const struct acpi_device_id *ids);
525void acpi_set_modalias(struct acpi_device *adev, const char *default_id,
526 char *modalias, size_t len);
525int acpi_create_dir(struct acpi_device *); 527int acpi_create_dir(struct acpi_device *);
526void acpi_remove_dir(struct acpi_device *); 528void acpi_remove_dir(struct acpi_device *);
527 529
diff --git a/include/acpi/acpiosxf.h b/include/acpi/acpiosxf.h
index f3414c83abb1..c66eb8ffa454 100644
--- a/include/acpi/acpiosxf.h
+++ b/include/acpi/acpiosxf.h
@@ -7,7 +7,7 @@
7 *****************************************************************************/ 7 *****************************************************************************/
8 8
9/* 9/*
10 * Copyright (C) 2000 - 2016, Intel Corp. 10 * Copyright (C) 2000 - 2017, Intel Corp.
11 * All rights reserved. 11 * All rights reserved.
12 * 12 *
13 * Redistribution and use in source and binary forms, with or without 13 * Redistribution and use in source and binary forms, with or without
@@ -333,6 +333,10 @@ u64 acpi_os_get_timer(void);
333acpi_status acpi_os_signal(u32 function, void *info); 333acpi_status acpi_os_signal(u32 function, void *info);
334#endif 334#endif
335 335
336#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_acpi_os_enter_sleep
337acpi_status acpi_os_enter_sleep(u8 sleep_state, u32 rega_value, u32 regb_value);
338#endif
339
336/* 340/*
337 * Debug print routines 341 * Debug print routines
338 */ 342 */
@@ -355,12 +359,12 @@ void acpi_os_redirect_output(void *destination);
355acpi_status acpi_os_get_line(char *buffer, u32 buffer_length, u32 *bytes_read); 359acpi_status acpi_os_get_line(char *buffer, u32 buffer_length, u32 *bytes_read);
356#endif 360#endif
357 361
358#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_acpi_os_initialize_command_signals 362#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_acpi_os_initialize_debugger
359acpi_status acpi_os_initialize_command_signals(void); 363acpi_status acpi_os_initialize_debugger(void);
360#endif 364#endif
361 365
362#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_acpi_os_terminate_command_signals 366#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_acpi_os_terminate_debugger
363void acpi_os_terminate_command_signals(void); 367void acpi_os_terminate_debugger(void);
364#endif 368#endif
365 369
366#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_acpi_os_wait_command_ready 370#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_acpi_os_wait_command_ready
diff --git a/include/acpi/acpixf.h b/include/acpi/acpixf.h
index f5e10dd8e86b..3795386ea706 100644
--- a/include/acpi/acpixf.h
+++ b/include/acpi/acpixf.h
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
@@ -46,7 +46,7 @@
46 46
47/* Current ACPICA subsystem version in YYYYMMDD format */ 47/* Current ACPICA subsystem version in YYYYMMDD format */
48 48
49#define ACPI_CA_VERSION 0x20160930 49#define ACPI_CA_VERSION 0x20170119
50 50
51#include <acpi/acconfig.h> 51#include <acpi/acconfig.h>
52#include <acpi/actypes.h> 52#include <acpi/actypes.h>
diff --git a/include/acpi/acrestyp.h b/include/acpi/acrestyp.h
index 16c189283ea0..f0f7403d2000 100644
--- a/include/acpi/acrestyp.h
+++ b/include/acpi/acrestyp.h
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/include/acpi/actbl.h b/include/acpi/actbl.h
index da5708caf8a1..d92543f3bbfd 100644
--- a/include/acpi/actbl.h
+++ b/include/acpi/actbl.h
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/include/acpi/actbl1.h b/include/acpi/actbl1.h
index 796d6baae3a3..b4ce55c008b0 100644
--- a/include/acpi/actbl1.h
+++ b/include/acpi/actbl1.h
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/include/acpi/actbl2.h b/include/acpi/actbl2.h
index c93dbadfc71d..7aee9fb3bd1f 100644
--- a/include/acpi/actbl2.h
+++ b/include/acpi/actbl2.h
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/include/acpi/actbl3.h b/include/acpi/actbl3.h
index ebc1f4f9fe66..94414b255a38 100644
--- a/include/acpi/actbl3.h
+++ b/include/acpi/actbl3.h
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/include/acpi/actypes.h b/include/acpi/actypes.h
index 1d798abae710..d549e31c6d18 100644
--- a/include/acpi/actypes.h
+++ b/include/acpi/actypes.h
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/include/acpi/acuuid.h b/include/acpi/acuuid.h
index 0f269e088f7a..699a1999afe8 100644
--- a/include/acpi/acuuid.h
+++ b/include/acpi/acuuid.h
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/include/acpi/platform/acenv.h b/include/acpi/platform/acenv.h
index 34cce729109c..09994b063243 100644
--- a/include/acpi/platform/acenv.h
+++ b/include/acpi/platform/acenv.h
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
@@ -75,7 +75,8 @@
75 (defined ACPI_NAMES_APP) || \ 75 (defined ACPI_NAMES_APP) || \
76 (defined ACPI_SRC_APP) || \ 76 (defined ACPI_SRC_APP) || \
77 (defined ACPI_XTRACT_APP) || \ 77 (defined ACPI_XTRACT_APP) || \
78 (defined ACPI_EXAMPLE_APP) 78 (defined ACPI_EXAMPLE_APP) || \
79 (defined ACPI_EFI_HELLO)
79#define ACPI_APPLICATION 80#define ACPI_APPLICATION
80#define ACPI_SINGLE_THREADED 81#define ACPI_SINGLE_THREADED
81#define USE_NATIVE_ALLOCATE_ZEROED 82#define USE_NATIVE_ALLOCATE_ZEROED
@@ -177,7 +178,7 @@
177#include "acmsvc.h" 178#include "acmsvc.h"
178 179
179#elif defined(__INTEL_COMPILER) 180#elif defined(__INTEL_COMPILER)
180#include "acintel.h" 181#include <acpi/platform/acintel.h>
181 182
182#endif 183#endif
183 184
@@ -357,7 +358,7 @@
357#include <stdlib.h> 358#include <stdlib.h>
358#include <string.h> 359#include <string.h>
359#include <ctype.h> 360#include <ctype.h>
360#ifdef ACPI_APPLICATION 361#if defined (ACPI_APPLICATION) || defined(ACPI_LIBRARY)
361#include <stdio.h> 362#include <stdio.h>
362#include <fcntl.h> 363#include <fcntl.h>
363#include <errno.h> 364#include <errno.h>
diff --git a/include/acpi/platform/acenvex.h b/include/acpi/platform/acenvex.h
index b3171b9d6974..127c848a1ba7 100644
--- a/include/acpi/platform/acenvex.h
+++ b/include/acpi/platform/acenvex.h
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/include/acpi/platform/acgcc.h b/include/acpi/platform/acgcc.h
index 8f66aaabadf7..e877a35ee977 100644
--- a/include/acpi/platform/acgcc.h
+++ b/include/acpi/platform/acgcc.h
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/include/acpi/platform/acgccex.h b/include/acpi/platform/acgccex.h
index 46ead2caada4..4f701b288cec 100644
--- a/include/acpi/platform/acgccex.h
+++ b/include/acpi/platform/acgccex.h
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/include/acpi/platform/acintel.h b/include/acpi/platform/acintel.h
new file mode 100644
index 000000000000..17bd3b7b4e5a
--- /dev/null
+++ b/include/acpi/platform/acintel.h
@@ -0,0 +1,87 @@
1/******************************************************************************
2 *
3 * Name: acintel.h - VC specific defines, etc.
4 *
5 *****************************************************************************/
6
7/*
8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved.
10 *
11 * Redistribution and use in source and binary forms, with or without
12 * modification, are permitted provided that the following conditions
13 * are met:
14 * 1. Redistributions of source code must retain the above copyright
15 * notice, this list of conditions, and the following disclaimer,
16 * without modification.
17 * 2. Redistributions in binary form must reproduce at minimum a disclaimer
18 * substantially similar to the "NO WARRANTY" disclaimer below
19 * ("Disclaimer") and any redistribution must be conditioned upon
20 * including a substantially similar Disclaimer requirement for further
21 * binary redistribution.
22 * 3. Neither the names of the above-listed copyright holders nor the names
23 * of any contributors may be used to endorse or promote products derived
24 * from this software without specific prior written permission.
25 *
26 * Alternatively, this software may be distributed under the terms of the
27 * GNU General Public License ("GPL") version 2 as published by the Free
28 * Software Foundation.
29 *
30 * NO WARRANTY
31 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
32 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
33 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
34 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
35 * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
36 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
37 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
38 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
39 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
40 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
41 * POSSIBILITY OF SUCH DAMAGES.
42 */
43
44#ifndef __ACINTEL_H__
45#define __ACINTEL_H__
46
47/*
48 * Use compiler specific <stdarg.h> is a good practice for even when
49 * -nostdinc is specified (i.e., ACPI_USE_STANDARD_HEADERS undefined.
50 */
51#include <stdarg.h>
52
53/* Configuration specific to Intel 64-bit C compiler */
54
55#define COMPILER_DEPENDENT_INT64 __int64
56#define COMPILER_DEPENDENT_UINT64 unsigned __int64
57#define ACPI_INLINE __inline
58
59/*
60 * Calling conventions:
61 *
62 * ACPI_SYSTEM_XFACE - Interfaces to host OS (handlers, threads)
63 * ACPI_EXTERNAL_XFACE - External ACPI interfaces
64 * ACPI_INTERNAL_XFACE - Internal ACPI interfaces
65 * ACPI_INTERNAL_VAR_XFACE - Internal variable-parameter list interfaces
66 */
67#define ACPI_SYSTEM_XFACE
68#define ACPI_EXTERNAL_XFACE
69#define ACPI_INTERNAL_XFACE
70#define ACPI_INTERNAL_VAR_XFACE
71
72/* remark 981 - operands evaluated in no particular order */
73#pragma warning(disable:981)
74
75/* warn C4100: unreferenced formal parameter */
76#pragma warning(disable:4100)
77
78/* warn C4127: conditional expression is constant */
79#pragma warning(disable:4127)
80
81/* warn C4706: assignment within conditional expression */
82#pragma warning(disable:4706)
83
84/* warn C4214: bit field types other than int */
85#pragma warning(disable:4214)
86
87#endif /* __ACINTEL_H__ */
diff --git a/include/acpi/platform/aclinux.h b/include/acpi/platform/aclinux.h
index e861a24f06f2..a39e3f67616f 100644
--- a/include/acpi/platform/aclinux.h
+++ b/include/acpi/platform/aclinux.h
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
@@ -156,8 +156,8 @@
156 */ 156 */
157#define ACPI_USE_ALTERNATE_PROTOTYPE_acpi_os_readable 157#define ACPI_USE_ALTERNATE_PROTOTYPE_acpi_os_readable
158#define ACPI_USE_ALTERNATE_PROTOTYPE_acpi_os_writable 158#define ACPI_USE_ALTERNATE_PROTOTYPE_acpi_os_writable
159#define ACPI_USE_ALTERNATE_PROTOTYPE_acpi_os_initialize_command_signals 159#define ACPI_USE_ALTERNATE_PROTOTYPE_acpi_os_initialize_debugger
160#define ACPI_USE_ALTERNATE_PROTOTYPE_acpi_os_terminate_command_signals 160#define ACPI_USE_ALTERNATE_PROTOTYPE_acpi_os_terminate_debugger
161 161
162/* 162/*
163 * OSL interfaces used by utilities 163 * OSL interfaces used by utilities
@@ -201,7 +201,8 @@
201#define ACPI_CAST_PTHREAD_T(pthread) ((acpi_thread_id) (pthread)) 201#define ACPI_CAST_PTHREAD_T(pthread) ((acpi_thread_id) (pthread))
202 202
203#if defined(__ia64__) || defined(__x86_64__) ||\ 203#if defined(__ia64__) || defined(__x86_64__) ||\
204 defined(__aarch64__) || defined(__PPC64__) 204 defined(__aarch64__) || defined(__PPC64__) ||\
205 defined(__s390x__)
205#define ACPI_MACHINE_WIDTH 64 206#define ACPI_MACHINE_WIDTH 64
206#define COMPILER_DEPENDENT_INT64 long 207#define COMPILER_DEPENDENT_INT64 long
207#define COMPILER_DEPENDENT_UINT64 unsigned long 208#define COMPILER_DEPENDENT_UINT64 unsigned long
diff --git a/include/acpi/platform/aclinuxex.h b/include/acpi/platform/aclinuxex.h
index 7dbb1141f546..efdff527f8fc 100644
--- a/include/acpi/platform/aclinuxex.h
+++ b/include/acpi/platform/aclinuxex.h
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
@@ -129,12 +129,12 @@ static inline u8 acpi_os_readable(void *pointer, acpi_size length)
129 return TRUE; 129 return TRUE;
130} 130}
131 131
132static inline acpi_status acpi_os_initialize_command_signals(void) 132static inline acpi_status acpi_os_initialize_debugger(void)
133{ 133{
134 return AE_OK; 134 return AE_OK;
135} 135}
136 136
137static inline void acpi_os_terminate_command_signals(void) 137static inline void acpi_os_terminate_debugger(void)
138{ 138{
139 return; 139 return;
140} 140}
diff --git a/include/linux/acpi.h b/include/linux/acpi.h
index 8e577c2cb0ce..673acda012af 100644
--- a/include/linux/acpi.h
+++ b/include/linux/acpi.h
@@ -291,7 +291,8 @@ bool acpi_processor_validate_proc_id(int proc_id);
291 291
292#ifdef CONFIG_ACPI_HOTPLUG_CPU 292#ifdef CONFIG_ACPI_HOTPLUG_CPU
293/* Arch dependent functions for cpu hotplug support */ 293/* Arch dependent functions for cpu hotplug support */
294int acpi_map_cpu(acpi_handle handle, phys_cpuid_t physid, int *pcpu); 294int acpi_map_cpu(acpi_handle handle, phys_cpuid_t physid, u32 acpi_id,
295 int *pcpu);
295int acpi_unmap_cpu(int cpu); 296int acpi_unmap_cpu(int cpu);
296int acpi_map_cpu2node(acpi_handle handle, int cpu, int physid); 297int acpi_map_cpu2node(acpi_handle handle, int cpu, int physid);
297#endif /* CONFIG_ACPI_HOTPLUG_CPU */ 298#endif /* CONFIG_ACPI_HOTPLUG_CPU */
diff --git a/tools/power/acpi/common/cmfsize.c b/tools/power/acpi/common/cmfsize.c
index bc82596d7354..5b38dc2fec4f 100644
--- a/tools/power/acpi/common/cmfsize.c
+++ b/tools/power/acpi/common/cmfsize.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/tools/power/acpi/common/getopt.c b/tools/power/acpi/common/getopt.c
index 3919970f5aea..6e78413bb2cb 100644
--- a/tools/power/acpi/common/getopt.c
+++ b/tools/power/acpi/common/getopt.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/tools/power/acpi/os_specific/service_layers/oslinuxtbl.c b/tools/power/acpi/os_specific/service_layers/oslinuxtbl.c
index 546cf4a503b7..82a2ff896a95 100644
--- a/tools/power/acpi/os_specific/service_layers/oslinuxtbl.c
+++ b/tools/power/acpi/os_specific/service_layers/oslinuxtbl.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/tools/power/acpi/os_specific/service_layers/osunixdir.c b/tools/power/acpi/os_specific/service_layers/osunixdir.c
index 66c4badf03e5..ea14eaeb268f 100644
--- a/tools/power/acpi/os_specific/service_layers/osunixdir.c
+++ b/tools/power/acpi/os_specific/service_layers/osunixdir.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/tools/power/acpi/os_specific/service_layers/osunixmap.c b/tools/power/acpi/os_specific/service_layers/osunixmap.c
index cbfbce18783d..cf9b5a54df92 100644
--- a/tools/power/acpi/os_specific/service_layers/osunixmap.c
+++ b/tools/power/acpi/os_specific/service_layers/osunixmap.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/tools/power/acpi/os_specific/service_layers/osunixxf.c b/tools/power/acpi/os_specific/service_layers/osunixxf.c
index 10648aaf6164..c04e8fea2c60 100644
--- a/tools/power/acpi/os_specific/service_layers/osunixxf.c
+++ b/tools/power/acpi/os_specific/service_layers/osunixxf.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
@@ -318,6 +318,28 @@ acpi_os_physical_table_override(struct acpi_table_header *existing_table,
318 318
319/****************************************************************************** 319/******************************************************************************
320 * 320 *
321 * FUNCTION: acpi_os_enter_sleep
322 *
323 * PARAMETERS: sleep_state - Which sleep state to enter
324 * rega_value - Register A value
325 * regb_value - Register B value
326 *
327 * RETURN: Status
328 *
329 * DESCRIPTION: A hook before writing sleep registers to enter the sleep
330 * state. Return AE_CTRL_TERMINATE to skip further sleep register
331 * writes.
332 *
333 *****************************************************************************/
334
335acpi_status acpi_os_enter_sleep(u8 sleep_state, u32 rega_value, u32 regb_value)
336{
337
338 return (AE_OK);
339}
340
341/******************************************************************************
342 *
321 * FUNCTION: acpi_os_redirect_output 343 * FUNCTION: acpi_os_redirect_output
322 * 344 *
323 * PARAMETERS: destination - An open file handle/pointer 345 * PARAMETERS: destination - An open file handle/pointer
diff --git a/tools/power/acpi/tools/acpidump/acpidump.h b/tools/power/acpi/tools/acpidump/acpidump.h
index 00423fc45e7c..d6aa40fce2b1 100644
--- a/tools/power/acpi/tools/acpidump/acpidump.h
+++ b/tools/power/acpi/tools/acpidump/acpidump.h
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/tools/power/acpi/tools/acpidump/apdump.c b/tools/power/acpi/tools/acpidump/apdump.c
index 9031be1afe63..60df1fbd4a77 100644
--- a/tools/power/acpi/tools/acpidump/apdump.c
+++ b/tools/power/acpi/tools/acpidump/apdump.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/tools/power/acpi/tools/acpidump/apfiles.c b/tools/power/acpi/tools/acpidump/apfiles.c
index dd5b861dc4a8..31b5a7f74015 100644
--- a/tools/power/acpi/tools/acpidump/apfiles.c
+++ b/tools/power/acpi/tools/acpidump/apfiles.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
diff --git a/tools/power/acpi/tools/acpidump/apmain.c b/tools/power/acpi/tools/acpidump/apmain.c
index 7ff46be908f0..dd82afa897bd 100644
--- a/tools/power/acpi/tools/acpidump/apmain.c
+++ b/tools/power/acpi/tools/acpidump/apmain.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2016, Intel Corp. 8 * Copyright (C) 2000 - 2017, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without