ACK: [PATCH] ACPICA: Update to version 20200717
Alex Hung
alex.hung at canonical.com
Tue Jul 21 01:06:29 UTC 2020
On 2020-07-17 4:30 p.m., Colin King wrote:
> From: Colin Ian King <colin.king at canonical.com>
>
> Changes in this release of ACPICA are detailed at the following
> link on the ACPICA developer mailing list:
>
> https://lists.acpica.org/hyperkitty/list/devel@acpica.org/thread/CXHTTCYQS6APX5VI4ZS6GC7WD7E5FD3B/
>
> Signed-off-by: Colin Ian King <colin.king at canonical.com>
> ---
> src/acpica/source/compiler/aslerror.c | 2 +-
> src/acpica/source/compiler/aslexternal.c | 8 ++++++++
> src/acpica/source/compiler/aslload.c | 10 +++++-----
> src/acpica/source/compiler/aslmethod.c | 12 ++++++++++++
> src/acpica/source/compiler/aslxref.c | 4 +++-
> src/acpica/source/components/executer/exprep.c | 4 ----
> src/acpica/source/components/utilities/utdelete.c | 6 +-----
> src/acpica/source/components/utilities/utids.c | 2 +-
> src/acpica/source/include/acpixf.h | 2 +-
> src/acpica/source/include/actypes.h | 2 +-
> 10 files changed, 33 insertions(+), 19 deletions(-)
>
> diff --git a/src/acpica/source/compiler/aslerror.c b/src/acpica/source/compiler/aslerror.c
> index 8fae779d..15098342 100644
> --- a/src/acpica/source/compiler/aslerror.c
> +++ b/src/acpica/source/compiler/aslerror.c
> @@ -1056,7 +1056,7 @@ GetModifiedLevel (
> UINT8 Level,
> UINT16 MessageId)
> {
> - UINT16 i;
> + UINT32 i;
> UINT16 ExceptionCode;
>
>
> diff --git a/src/acpica/source/compiler/aslexternal.c b/src/acpica/source/compiler/aslexternal.c
> index 315247be..a05ba118 100644
> --- a/src/acpica/source/compiler/aslexternal.c
> +++ b/src/acpica/source/compiler/aslexternal.c
> @@ -200,6 +200,14 @@ ExDoExternal (
>
>
> ExternType = AnMapObjTypeToBtype (ExternTypeOp);
> + if (ExternType != ACPI_BTYPE_METHOD)
> + {
> + /*
> + * If this is not a method, it has zero parameters this local variable
> + * is used only for methods
> + */
> + ParamCount = 0;
> + }
>
> /*
> * The parser allows optional parameter return types regardless of the
> diff --git a/src/acpica/source/compiler/aslload.c b/src/acpica/source/compiler/aslload.c
> index bdc0d805..454fa8f5 100644
> --- a/src/acpica/source/compiler/aslload.c
> +++ b/src/acpica/source/compiler/aslload.c
> @@ -1177,13 +1177,13 @@ LdAnalyzeExternals (
> * previously declared External
> */
> Node->Flags &= ~ANOBJ_IS_EXTERNAL;
> - Node->Type = (UINT8) ExternalOpType;
> + Node->Type = (UINT8) ActualOpType;
>
> /* Just retyped a node, probably will need to open a scope */
>
> - if (AcpiNsOpensScope (ExternalOpType))
> + if (AcpiNsOpensScope (ActualOpType))
> {
> - Status = AcpiDsScopeStackPush (Node, ExternalOpType, WalkState);
> + Status = AcpiDsScopeStackPush (Node, ActualOpType, WalkState);
> if (ACPI_FAILURE (Status))
> {
> return (Status);
> @@ -1204,11 +1204,11 @@ LdAnalyzeExternals (
> }
> else if ((Node->Flags & ANOBJ_IS_EXTERNAL) &&
> (Op->Asl.ParseOpcode == PARSEOP_EXTERNAL) &&
> - (ExternalOpType == ACPI_TYPE_ANY))
> + (ActualOpType == ACPI_TYPE_ANY))
> {
> /* Allow update of externals of unknown type. */
>
> - Node->Type = (UINT8) ExternalOpType;
> + Node->Type = (UINT8) ActualExternalOpType;
> Status = AE_OK;
> }
>
> diff --git a/src/acpica/source/compiler/aslmethod.c b/src/acpica/source/compiler/aslmethod.c
> index ff6fd474..32b4b123 100644
> --- a/src/acpica/source/compiler/aslmethod.c
> +++ b/src/acpica/source/compiler/aslmethod.c
> @@ -306,6 +306,8 @@ MtMethodAnalysisWalkBegin (
> {
> ActualArgs = MtProcessParameterTypeList (NextType,
> MethodInfo->ValidArgTypes);
> + MethodInfo->NumArguments = ActualArgs;
> + ArgNode->Asl.Value.Integer |= ActualArgs;
> }
>
> if ((MethodInfo->NumArguments) &&
> @@ -671,6 +673,16 @@ MtProcessParameterTypeList (
> UINT8 ParameterCount = 0;
>
>
> + if (ParamTypeOp && ParamTypeOp->Asl.ParseOpcode != PARSEOP_DEFAULT_ARG)
> + {
> + /* Special case for a single parameter without braces */
> +
> + TypeList[ParameterCount] =
> + MtProcessTypeOp (ParamTypeOp);
> +
> + return (1);
> + }
> +
> while (ParamTypeOp)
> {
> TypeList[ParameterCount] =
> diff --git a/src/acpica/source/compiler/aslxref.c b/src/acpica/source/compiler/aslxref.c
> index 4bbbe2bd..9306af20 100644
> --- a/src/acpica/source/compiler/aslxref.c
> +++ b/src/acpica/source/compiler/aslxref.c
> @@ -994,12 +994,14 @@ XfNamespaceLocateBegin (
> * invocation of the method, it is simply a reference to the method.
> *
> * September 2016: Removed DeRefOf from this list
> + * July 2020: Added Alias to this list
> */
> if ((Op->Asl.Parent) &&
> ((Op->Asl.Parent->Asl.ParseOpcode == PARSEOP_REFOF) ||
> (Op->Asl.Parent->Asl.ParseOpcode == PARSEOP_PACKAGE) ||
> (Op->Asl.Parent->Asl.ParseOpcode == PARSEOP_VAR_PACKAGE)||
> - (Op->Asl.Parent->Asl.ParseOpcode == PARSEOP_OBJECTTYPE)))
> + (Op->Asl.Parent->Asl.ParseOpcode == PARSEOP_OBJECTTYPE) ||
> + (Op->Asl.Parent->Asl.ParseOpcode == PARSEOP_ALIAS)))
> {
> return_ACPI_STATUS (AE_OK);
> }
> diff --git a/src/acpica/source/components/executer/exprep.c b/src/acpica/source/components/executer/exprep.c
> index 6ceac68f..3074366d 100644
> --- a/src/acpica/source/components/executer/exprep.c
> +++ b/src/acpica/source/components/executer/exprep.c
> @@ -651,10 +651,6 @@ AcpiExPrepFieldValue (
> }
> }
>
> - /* An additional reference for the container */
> -
> - AcpiUtAddReference (ObjDesc->Field.RegionObj);
> -
> ACPI_DEBUG_PRINT ((ACPI_DB_BFIELD,
> "RegionField: BitOff %X, Off %X, Gran %X, Region %p\n",
> ObjDesc->Field.StartFieldBitOffset,
> diff --git a/src/acpica/source/components/utilities/utdelete.c b/src/acpica/source/components/utilities/utdelete.c
> index 502ff413..aafd5295 100644
> --- a/src/acpica/source/components/utilities/utdelete.c
> +++ b/src/acpica/source/components/utilities/utdelete.c
> @@ -749,11 +749,6 @@ AcpiUtUpdateObjectReference (
> NextObject = Object->BufferField.BufferObj;
> break;
>
> - case ACPI_TYPE_LOCAL_REGION_FIELD:
> -
> - NextObject = Object->Field.RegionObj;
> - break;
> -
> case ACPI_TYPE_LOCAL_BANK_FIELD:
>
> NextObject = Object->BankField.BankObj;
> @@ -789,6 +784,7 @@ AcpiUtUpdateObjectReference (
> }
> break;
>
> + case ACPI_TYPE_LOCAL_REGION_FIELD:
> case ACPI_TYPE_REGION:
> default:
>
> diff --git a/src/acpica/source/components/utilities/utids.c b/src/acpica/source/components/utilities/utids.c
> index e296c00a..34ae697a 100644
> --- a/src/acpica/source/components/utilities/utids.c
> +++ b/src/acpica/source/components/utilities/utids.c
> @@ -435,7 +435,7 @@ AcpiUtExecute_CID (
> * 3) Size of the actual CID strings
> */
> CidListSize = sizeof (ACPI_PNP_DEVICE_ID_LIST) +
> - ((Count - 1) * sizeof (ACPI_PNP_DEVICE_ID)) +
> + (Count * sizeof (ACPI_PNP_DEVICE_ID)) +
> StringAreaSize;
>
> CidList = ACPI_ALLOCATE_ZEROED (CidListSize);
> diff --git a/src/acpica/source/include/acpixf.h b/src/acpica/source/include/acpixf.h
> index 2eafdeac..c1b55401 100644
> --- a/src/acpica/source/include/acpixf.h
> +++ b/src/acpica/source/include/acpixf.h
> @@ -154,7 +154,7 @@
>
> /* Current ACPICA subsystem version in YYYYMMDD format */
>
> -#define ACPI_CA_VERSION 0x20200528
> +#define ACPI_CA_VERSION 0x20200717
>
> #include "acconfig.h"
> #include "actypes.h"
> diff --git a/src/acpica/source/include/actypes.h b/src/acpica/source/include/actypes.h
> index 2666ebfb..0ec14a36 100644
> --- a/src/acpica/source/include/actypes.h
> +++ b/src/acpica/source/include/actypes.h
> @@ -1379,7 +1379,7 @@ typedef struct acpi_pnp_device_id_list
> {
> UINT32 Count; /* Number of IDs in Ids array */
> UINT32 ListSize; /* Size of list, including ID strings */
> - ACPI_PNP_DEVICE_ID Ids[1]; /* ID array */
> + ACPI_PNP_DEVICE_ID Ids[]; /* ID array */
>
> } ACPI_PNP_DEVICE_ID_LIST;
>
>
Acked-by: Alex Hung <alex.hung at canonical.com>
More information about the fwts-devel
mailing list