Add _PSx names to the METHOD_NAME list.

Will be used by iASL.
iASL: Add error checking for proper use of _PSx power methods.

Check to ensure the following are true:

1) _PS0 - One of these must exist: _PS1, _PS2, _PS3
2) _PS1/_PS2/_PS3: A _PS0 must exist
Merge branch 'master' of ssh://ssh.github.com/acpica/acpica
iASL: Split ASCII support functions to a new file.

New file is aslascii.c
iASL: New file, aslascii.c

For ascii support routines.
iASL: Add error detection for illegal named references.

Check for an illegal reference to a named object:

1) References from one control method to another, non-parent
method are not allowed, they will fail at runtime.

2) Forward references within a control method are not allowed.
AML interpreters use a one-pass parse of control methods
so these forward references will fail at runtime.

ACPICA BZ 1008.
iASL: Split huge parser file into multiple subfiles. Uses M4.

Split the main aslcompiler.y file into a master file and 4 included
subfiles, using the M4 macro processor to perform the actual include,
since Bison does not provide this function.

Makefiles/project files updated.

M4 is typically included in the Bison package, for both Windows
and Unix.
iASL: Update file permissions.

644
acpiexec: Ensure terminal state is always restored.

Fixes a problem where the original terminal state for the unix
version was restored in these cases:

acpiexec
acpiexec -v

ACPICA BZ 1104.
iASL: Improve cacheing, reduce memory leaks.

Ensure that the parse tree is deleted for each compile.
Fix other miscellaneous memory leaks per-compile.
Consistently deploy the use of the string cache.
Add tracking for multiple buffers within caches.
Ensure the cache buffers are always deleted.
iASL/TableCompiler: Add object caching, cleanup memory leaks.

Add object caches for the field and subtable objects, to improve
performance and to simplify memory management.
acpisrc: Add support to standardize lines after copyright header.

Now will ensure that there is exactly one blank line after the
header -- no more, no less.
Standardize one blank line after copyright header, no functional change.

From acpisrc execution -- the utility now ensures that there is
exactly one blank line after the header.
ACPI 5.1/Disassembler: Add GICC affinity subtable to SRAT table.

Update template for SRAT.
Add ClockDomain to standard CPU affinity subtable.

Mostly by: Hanjun Guo <hanjun.guo@linaro.org>
Headers: Add GTDT flag definitions for the timer subtable.

Mostly by Hanjun Guo <hanjun.guo@linaro.org>
iASL: Add _HID or _ADR requirement for Device objects. Remove for _DSD.

_DSD no longer has a requirement for a _HID.
However, a Device() object is required to have a _HID, a _ADR, or both.
Disassembler: Fix for GpioInt interrupt polarity flags.

The field is actually 2 bits, not 1.
Linuxize: Add upstream commit ID in the generated patches.

This patch adds support to add ACPICA upstream Commit ID/Author in the
generated linuxized patches. This format follows Linux stable material
format. The modifications include:
1. distiguish COMMITTER, AUTHOR, MAINTAINER:
   1. COMMITTER is automatically extracted using "git config --get";
   2. AUTHOR is automatically extracted using "git log --format=%aN <%aE>";
   3. MAINTAINER is fixed in make-patches.sh, currently it is
      "Bob Moore <robert.moore@intel.com>".
2. add AUTHOR and COMMIT ID information to form the ACPICA release patch
   header.
3. automatically correct "Robert Moore <Robert.Moore@intel.com>" to
   "Bob Moore <bob.moore@intel.com>".
4. automatically remove last empty lines in the patch description.
5. automatically append unique Signed-off-by for AUTHOR, NAINTAINER and
   COMMITTER.
6. automatically add commit URL before SOBs and add "-l" option to be ready
   for changing the host of the repo.
The generated patch format is ACKed by the Linux ACPI maintainer. Lv Zheng.

Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Events: Fix an issue that OriginallyEnabled check is not paired.

The OriginallyEnabled check is not paired between AcpiInstallGpeHandler()
and AcpiRemoveGpeHandler(). This patch contains the code that is already in
the Linux upstream. Lv Zheng.

Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Events: Fix an issue that GPE APIs cannot be invoked in atomic context.

The GPE APIs should be invoked inside of an IRQ context GPE handler or in
the task context with a driver provided lock held. This driver provided
lock should be safe to be held in the GPE handler by the driver.

While currently we cannot do this, thus we can only use the GPE APIs for
limitted cases.

This patch adds reference counting for ACPI_GPE_HANDLER_INFO. Then the GPE
handler can be safely invoked without holding the GPE lock, thus
facilitates GPE APIs to be invoked in any atomic environment. Lv Zheng.

Signed-off-by: Lv Zheng <lv.zheng@intel.com>