ACK: [PATCH] ACPICA: Update to version 20201217

Alex Hung alex.hung at canonical.com
Fri Dec 18 02:09:46 UTC 2020


On 2020-12-17 2:52 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/2SUPJKO3ALTV5U4UW2IUKOTG66NJ32RG/
> 
> Signed-off-by: Colin Ian King <colin.king at canonical.com>
> ---
>  src/acpica/source/compiler/aslanalyze.c           |  2 +-
>  src/acpica/source/compiler/aslcompiler.l          |  4 ++--
>  src/acpica/source/compiler/aslerror.c             |  2 +-
>  src/acpica/source/compiler/aslmethod.c            |  1 +
>  src/acpica/source/compiler/aslparseop.c           |  4 ++--
>  src/acpica/source/compiler/aslwalks.c             |  2 +-
>  src/acpica/source/compiler/dtfield.c              |  2 +-
>  src/acpica/source/compiler/dttemplate.c           |  3 ++-
>  src/acpica/source/components/debugger/dbinput.c   |  4 ++--
>  src/acpica/source/components/debugger/dbobject.c  |  2 +-
>  .../source/components/disassembler/dmwalk.c       |  8 ++++----
>  .../source/components/dispatcher/dscontrol.c      |  2 +-
>  src/acpica/source/components/dispatcher/dsdebug.c |  2 +-
>  src/acpica/source/components/dispatcher/dswexec.c |  3 +--
>  src/acpica/source/components/dispatcher/dswload.c |  2 +-
>  .../source/components/dispatcher/dswload2.c       |  2 +-
>  src/acpica/source/components/executer/exfldio.c   |  2 +-
>  src/acpica/source/components/executer/exresop.c   |  4 ++--
>  src/acpica/source/components/executer/exstore.c   |  4 ++--
>  src/acpica/source/components/hardware/hwgpe.c     |  2 +-
>  src/acpica/source/components/parser/psloop.c      |  3 +--
>  src/acpica/source/components/parser/psparse.c     |  2 +-
>  src/acpica/source/components/utilities/utdelete.c |  2 +-
>  .../source/components/utilities/utstrsuppt.c      |  4 ++--
>  src/acpica/source/include/acexcep.h               | 10 +++++-----
>  src/acpica/source/include/acpixf.h                |  2 +-
>  src/acpica/source/include/actypes.h               |  5 +++++
>  src/acpica/source/include/platform/acgcc.h        | 15 +++++++++++++++
>  29 files changed, 61 insertions(+), 41 deletions(-)
> 
> diff --git a/src/acpica/source/compiler/aslanalyze.c b/src/acpica/source/compiler/aslanalyze.c
> index 63feba2b..d2c40eab 100644
> --- a/src/acpica/source/compiler/aslanalyze.c
> +++ b/src/acpica/source/compiler/aslanalyze.c
> @@ -470,7 +470,7 @@ AnCheckMethodReturnValue (
>                  "Method returns [%s], %s operator requires [%s]",
>                  AslGbl_StringBuffer, OpInfo->Name, AslGbl_StringBuffer2);
>  
> -            AslError (ASL_ERROR, ASL_MSG_INVALID_TYPE, ArgOp, AslGbl_MsgBuffer);
> +            AslError (ASL_WARNING, ASL_MSG_INVALID_TYPE, ArgOp, AslGbl_MsgBuffer);
>          }
>      }
>  
> diff --git a/src/acpica/source/compiler/aslcompiler.l b/src/acpica/source/compiler/aslcompiler.l
> index 8e448fb7..f77dfc0d 100644
> --- a/src/acpica/source/compiler/aslcompiler.l
> +++ b/src/acpica/source/compiler/aslcompiler.l
> @@ -812,9 +812,9 @@ NamePathTail                [.]{NameSeg}
>  "__PATH__"                  { count (0); return (PARSEOP___PATH__); }
>  "__METHOD__"                { count (0); return (PARSEOP___METHOD__); }
>  "__EXPECT__"{ErrorCode}     { char *s;
> -                                int index = 0;
> +                                unsigned int index = 0;
>                                  count (0);
> -                                while (!isdigit (AslCompilertext[index]))
> +                                while (!isdigit ((int) AslCompilertext[index]))
>                                  {
>                                      index++;
>                                  }
> diff --git a/src/acpica/source/compiler/aslerror.c b/src/acpica/source/compiler/aslerror.c
> index 15098342..51c8c9b2 100644
> --- a/src/acpica/source/compiler/aslerror.c
> +++ b/src/acpica/source/compiler/aslerror.c
> @@ -1456,7 +1456,7 @@ AslIsExceptionDisabled (
>          {
>              return (TRUE);
>          }
> -        /* Fall through */
> +        ACPI_FALLTHROUGH;
>  
>      case ASL_WARNING:
>      case ASL_REMARK:
> diff --git a/src/acpica/source/compiler/aslmethod.c b/src/acpica/source/compiler/aslmethod.c
> index 32b4b123..9f5b753b 100644
> --- a/src/acpica/source/compiler/aslmethod.c
> +++ b/src/acpica/source/compiler/aslmethod.c
> @@ -288,6 +288,7 @@ MtMethodAnalysisWalkBegin (
>          NextType = Next->Asl.Child;
>  
>          MethodInfo->ValidReturnTypes = MtProcessTypeOp (NextType);
> +        Op->Asl.AcpiBtype |= MethodInfo->ValidReturnTypes;
>  
>          /* Get the ParameterType node */
>  
> diff --git a/src/acpica/source/compiler/aslparseop.c b/src/acpica/source/compiler/aslparseop.c
> index 51ef9b8c..6b17689d 100644
> --- a/src/acpica/source/compiler/aslparseop.c
> +++ b/src/acpica/source/compiler/aslparseop.c
> @@ -414,7 +414,7 @@ TrCreateValuedLeafOp (
>  
>          for (i = 0; i < ACPI_NAMESEG_SIZE; i++)
>          {
> -            if (islower (Op->Asl.Value.Name[i]))
> +            if (islower ((int) Op->Asl.Value.Name[i]))
>              {
>                  AcpiUtStrupr (&Op->Asl.Value.Name[i]);
>                  AslError (ASL_REMARK, ASL_MSG_LOWER_CASE_NAMESEG, Op, Op->Asl.Value.Name);
> @@ -431,7 +431,7 @@ TrCreateValuedLeafOp (
>          StringPtr = Op->Asl.Value.Name;
>          for (i = 0; *StringPtr; i++)
>          {
> -            if (islower (*StringPtr))
> +            if (islower ((int) *StringPtr))
>              {
>                  AcpiUtStrupr (&Op->Asl.Value.Name[i]);
>                  AslError (ASL_REMARK, ASL_MSG_LOWER_CASE_NAMEPATH, Op, Op->Asl.Value.Name);
> diff --git a/src/acpica/source/compiler/aslwalks.c b/src/acpica/source/compiler/aslwalks.c
> index 215544f6..66e70264 100644
> --- a/src/acpica/source/compiler/aslwalks.c
> +++ b/src/acpica/source/compiler/aslwalks.c
> @@ -516,7 +516,7 @@ AnOperandTypecheckWalkEnd (
>                      break;
>                  }
>  
> -            /* Fallthrough */
> +                ACPI_FALLTHROUGH;
>  
>              case ARGI_STORE_TARGET:
>  
> diff --git a/src/acpica/source/compiler/dtfield.c b/src/acpica/source/compiler/dtfield.c
> index f976bba5..9a5729cf 100644
> --- a/src/acpica/source/compiler/dtfield.c
> +++ b/src/acpica/source/compiler/dtfield.c
> @@ -227,7 +227,7 @@ DtCompileOneField (
>              break;
>          }
>  
> -        /* Fall through. */
> +        ACPI_FALLTHROUGH;
>  
>      case DT_FIELD_TYPE_BUFFER:
>  
> diff --git a/src/acpica/source/compiler/dttemplate.c b/src/acpica/source/compiler/dttemplate.c
> index 5129138f..2262c745 100644
> --- a/src/acpica/source/compiler/dttemplate.c
> +++ b/src/acpica/source/compiler/dttemplate.c
> @@ -255,6 +255,7 @@ DtCreateTemplates (
>  
>      if (AcpiGbl_Optind < 3)
>      {
> +        fprintf (stderr, "Creating default template: [DSDT]\n");
>          Status = DtCreateOneTemplateFile (ACPI_SIG_DSDT, 0);
>          goto Exit;
>      }
> @@ -640,7 +641,7 @@ DtCreateOneTemplate (
>      {
>          fprintf (stderr,
>              "Created ACPI table templates for [%4.4s] "
> -            "and %u [SSDT], written to \"%s\"\n",
> +            "and %u [SSDT] in same file, written to \"%s\"\n",
>              Signature, TableCount, DisasmFilename);
>      }
>  
> diff --git a/src/acpica/source/components/debugger/dbinput.c b/src/acpica/source/components/debugger/dbinput.c
> index 0cc97310..15e9f351 100644
> --- a/src/acpica/source/components/debugger/dbinput.c
> +++ b/src/acpica/source/components/debugger/dbinput.c
> @@ -642,7 +642,7 @@ AcpiDbGetNextToken (
>  
>      /* Remove any spaces at the beginning, ignore blank lines */
>  
> -    while (*String && isspace (*String))
> +    while (*String && isspace ((int) *String))
>      {
>          String++;
>      }
> @@ -754,7 +754,7 @@ AcpiDbGetNextToken (
>  
>          /* Find end of token */
>  
> -        while (*String && !isspace (*String))
> +        while (*String && !isspace ((int) *String))
>          {
>              String++;
>          }
> diff --git a/src/acpica/source/components/debugger/dbobject.c b/src/acpica/source/components/debugger/dbobject.c
> index 01d885d0..a5af85d6 100644
> --- a/src/acpica/source/components/debugger/dbobject.c
> +++ b/src/acpica/source/components/debugger/dbobject.c
> @@ -201,7 +201,7 @@ AcpiDbDumpMethodInfo (
>  
>      /* Ignore control codes, they are not errors */
>  
> -    if ((Status & AE_CODE_MASK) == AE_CODE_CONTROL)
> +    if (ACPI_CNTL_EXCEPTION (Status))
>      {
>          return;
>      }
> diff --git a/src/acpica/source/components/disassembler/dmwalk.c b/src/acpica/source/components/disassembler/dmwalk.c
> index 76ef0aac..2359468f 100644
> --- a/src/acpica/source/components/disassembler/dmwalk.c
> +++ b/src/acpica/source/components/disassembler/dmwalk.c
> @@ -400,7 +400,7 @@ AcpiDmBlockType (
>              return (BLOCK_NONE);
>          }
>  
> -        /*lint -fallthrough */
> +        ACPI_FALLTHROUGH;
>  
>      case AML_PACKAGE_OP:
>      case AML_VARIABLE_PACKAGE_OP:
> @@ -422,7 +422,7 @@ AcpiDmBlockType (
>              return (BLOCK_NONE);
>          }
>  
> -        /*lint -fallthrough */
> +        ACPI_FALLTHROUGH;
>  
>      default:
>  
> @@ -688,7 +688,7 @@ AcpiDmDescendingOp (
>                  return (AE_OK);
>              }
>  
> -            /* Fallthrough */
> +            ACPI_FALLTHROUGH;
>  
>          default:
>  
> @@ -772,7 +772,7 @@ AcpiDmDescendingOp (
>                  AcpiDmNamestring (NextOp->Common.Value.Name);
>                  AcpiOsPrintf (", ");
>  
> -                /*lint -fallthrough */
> +                ACPI_FALLTHROUGH;
>  
>              default:
>  
> diff --git a/src/acpica/source/components/dispatcher/dscontrol.c b/src/acpica/source/components/dispatcher/dscontrol.c
> index 4ff0b382..32632c54 100644
> --- a/src/acpica/source/components/dispatcher/dscontrol.c
> +++ b/src/acpica/source/components/dispatcher/dscontrol.c
> @@ -210,7 +210,7 @@ AcpiDsExecBeginControlOp (
>              }
>          }
>  
> -        /*lint -fallthrough */
> +        ACPI_FALLTHROUGH;
>  
>      case AML_IF_OP:
>          /*
> diff --git a/src/acpica/source/components/dispatcher/dsdebug.c b/src/acpica/source/components/dispatcher/dsdebug.c
> index a7ece9b0..68d3fc2f 100644
> --- a/src/acpica/source/components/dispatcher/dsdebug.c
> +++ b/src/acpica/source/components/dispatcher/dsdebug.c
> @@ -254,7 +254,7 @@ AcpiDsDumpMethodStack (
>  
>      /* Ignore control codes, they are not errors */
>  
> -    if ((Status & AE_CODE_MASK) == AE_CODE_CONTROL)
> +    if (ACPI_CNTL_EXCEPTION (Status))
>      {
>          return_VOID;
>      }
> diff --git a/src/acpica/source/components/dispatcher/dswexec.c b/src/acpica/source/components/dispatcher/dswexec.c
> index 3fa7b95b..87e692a0 100644
> --- a/src/acpica/source/components/dispatcher/dswexec.c
> +++ b/src/acpica/source/components/dispatcher/dswexec.c
> @@ -772,8 +772,7 @@ AcpiDsExecEndOp (
>                      break;
>                  }
>  
> -                /* Fall through */
> -                /*lint -fallthrough */
> +                ACPI_FALLTHROUGH;
>  
>              case AML_INT_EVAL_SUBTREE_OP:
>  
> diff --git a/src/acpica/source/components/dispatcher/dswload.c b/src/acpica/source/components/dispatcher/dswload.c
> index 62a4fdca..be2f4a2b 100644
> --- a/src/acpica/source/components/dispatcher/dswload.c
> +++ b/src/acpica/source/components/dispatcher/dswload.c
> @@ -375,7 +375,7 @@ AcpiDsLoad1BeginOp (
>                  break;
>              }
>  
> -            /*lint -fallthrough */
> +            ACPI_FALLTHROUGH;
>  
>          default:
>  
> diff --git a/src/acpica/source/components/dispatcher/dswload2.c b/src/acpica/source/components/dispatcher/dswload2.c
> index 0ab715cd..76148af3 100644
> --- a/src/acpica/source/components/dispatcher/dswload2.c
> +++ b/src/acpica/source/components/dispatcher/dswload2.c
> @@ -366,7 +366,7 @@ AcpiDsLoad2BeginOp (
>                  break;
>              }
>  
> -            /*lint -fallthrough */
> +            ACPI_FALLTHROUGH;
>  
>          default:
>  
> diff --git a/src/acpica/source/components/executer/exfldio.c b/src/acpica/source/components/executer/exfldio.c
> index 69f9e1a6..64be8bf1 100644
> --- a/src/acpica/source/components/executer/exfldio.c
> +++ b/src/acpica/source/components/executer/exfldio.c
> @@ -616,7 +616,7 @@ AcpiExFieldDatumIo (
>           * RegionField case and write the datum to the Operation Region
>           */
>  
> -        /*lint -fallthrough */
> +        ACPI_FALLTHROUGH;
>  
>      case ACPI_TYPE_LOCAL_REGION_FIELD:
>          /*
> diff --git a/src/acpica/source/components/executer/exresop.c b/src/acpica/source/components/executer/exresop.c
> index bf43d5d2..b0d1c740 100644
> --- a/src/acpica/source/components/executer/exresop.c
> +++ b/src/acpica/source/components/executer/exresop.c
> @@ -358,7 +358,7 @@ AcpiExResolveOperands (
>  
>                      TargetOp = AML_DEBUG_OP;
>  
> -                    /*lint -fallthrough */
> +                    ACPI_FALLTHROUGH;
>  
>                  case ACPI_REFCLASS_ARG:
>                  case ACPI_REFCLASS_LOCAL:
> @@ -422,7 +422,7 @@ AcpiExResolveOperands (
>               * Else not a string - fall through to the normal Reference
>               * case below
>               */
> -            /*lint -fallthrough */
> +            ACPI_FALLTHROUGH;
>  
>          case ARGI_REFERENCE:            /* References: */
>          case ARGI_INTEGER_REF:
> diff --git a/src/acpica/source/components/executer/exstore.c b/src/acpica/source/components/executer/exstore.c
> index b374d6fa..d6b9143b 100644
> --- a/src/acpica/source/components/executer/exstore.c
> +++ b/src/acpica/source/components/executer/exstore.c
> @@ -248,7 +248,7 @@ AcpiExStore (
>              return_ACPI_STATUS (AE_OK);
>          }
>  
> -        /*lint -fallthrough */
> +        ACPI_FALLTHROUGH;
>  
>      default:
>  
> @@ -585,7 +585,7 @@ AcpiExStoreObjectToNode (
>                  break;
>              }
>  
> -        /* Fallthrough */
> +            ACPI_FALLTHROUGH;
>  
>          case ACPI_TYPE_DEVICE:
>          case ACPI_TYPE_EVENT:
> diff --git a/src/acpica/source/components/hardware/hwgpe.c b/src/acpica/source/components/hardware/hwgpe.c
> index e8ad8926..c7b7a469 100644
> --- a/src/acpica/source/components/hardware/hwgpe.c
> +++ b/src/acpica/source/components/hardware/hwgpe.c
> @@ -254,7 +254,7 @@ AcpiHwLowSetGpe (
>              return (AE_BAD_PARAMETER);
>          }
>  
> -        /*lint -fallthrough */
> +        ACPI_FALLTHROUGH;
>  
>      case ACPI_GPE_ENABLE:
>  
> diff --git a/src/acpica/source/components/parser/psloop.c b/src/acpica/source/components/parser/psloop.c
> index 5b4b0d98..6ccac910 100644
> --- a/src/acpica/source/components/parser/psloop.c
> +++ b/src/acpica/source/components/parser/psloop.c
> @@ -410,8 +410,7 @@ AcpiPsParseLoop (
>                   */
>                  WalkState->Op = NULL;
>                  Status = AcpiDsGetPredicateValue (WalkState, ACPI_TO_POINTER (TRUE));
> -                if (ACPI_FAILURE (Status) &&
> -                    ((Status & AE_CODE_MASK) != AE_CODE_CONTROL))
> +                if (ACPI_FAILURE (Status) && !ACPI_CNTL_EXCEPTION (Status))
>                  {
>                      if (Status == AE_AML_NO_RETURN_VALUE)
>                      {
> diff --git a/src/acpica/source/components/parser/psparse.c b/src/acpica/source/components/parser/psparse.c
> index d935ebc2..16458bc3 100644
> --- a/src/acpica/source/components/parser/psparse.c
> +++ b/src/acpica/source/components/parser/psparse.c
> @@ -533,7 +533,7 @@ AcpiPsNextParseState (
>      default:
>  
>          Status = CallbackStatus;
> -        if ((CallbackStatus & AE_CODE_MASK) == AE_CODE_CONTROL)
> +        if (ACPI_CNTL_EXCEPTION (CallbackStatus))
>          {
>              Status = AE_OK;
>          }
> diff --git a/src/acpica/source/components/utilities/utdelete.c b/src/acpica/source/components/utilities/utdelete.c
> index aafd5295..0e0500a0 100644
> --- a/src/acpica/source/components/utilities/utdelete.c
> +++ b/src/acpica/source/components/utilities/utdelete.c
> @@ -266,7 +266,7 @@ AcpiUtDeleteInternalObj (
>              (void) AcpiEvDeleteGpeBlock (Object->Device.GpeBlock);
>          }
>  
> -        /*lint -fallthrough */
> +        ACPI_FALLTHROUGH;
>  
>      case ACPI_TYPE_PROCESSOR:
>      case ACPI_TYPE_THERMAL:
> diff --git a/src/acpica/source/components/utilities/utstrsuppt.c b/src/acpica/source/components/utilities/utstrsuppt.c
> index 153b56e8..c0ea0495 100644
> --- a/src/acpica/source/components/utilities/utstrsuppt.c
> +++ b/src/acpica/source/components/utilities/utstrsuppt.c
> @@ -274,7 +274,7 @@ AcpiUtConvertDecimalString (
>           * 1) Runtime: terminate with no error, per the ACPI spec
>           * 2) Compiler: return an error
>           */
> -        if (!isdigit (*String))
> +        if (!isdigit ((int) *String))
>          {
>  #ifdef ACPI_ASL_COMPILER
>              Status = AE_BAD_DECIMAL_CONSTANT;
> @@ -336,7 +336,7 @@ AcpiUtConvertHexString (
>           * 1) Runtime: terminate with no error, per the ACPI spec
>           * 2) Compiler: return an error
>           */
> -        if (!isxdigit (*String))
> +        if (!isxdigit ((int) *String))
>          {
>  #ifdef ACPI_ASL_COMPILER
>              Status = AE_BAD_HEX_CONSTANT;
> diff --git a/src/acpica/source/include/acexcep.h b/src/acpica/source/include/acexcep.h
> index 11c81398..8cbd7549 100644
> --- a/src/acpica/source/include/acexcep.h
> +++ b/src/acpica/source/include/acexcep.h
> @@ -204,11 +204,11 @@ typedef struct acpi_exception_info
>  
>  #define AE_OK                           (ACPI_STATUS) 0x0000
>  
> -#define ACPI_ENV_EXCEPTION(Status)      (Status & AE_CODE_ENVIRONMENTAL)
> -#define ACPI_AML_EXCEPTION(Status)      (Status & AE_CODE_AML)
> -#define ACPI_PROG_EXCEPTION(Status)     (Status & AE_CODE_PROGRAMMER)
> -#define ACPI_TABLE_EXCEPTION(Status)    (Status & AE_CODE_ACPI_TABLES)
> -#define ACPI_CNTL_EXCEPTION(Status)     (Status & AE_CODE_CONTROL)
> +#define ACPI_ENV_EXCEPTION(Status)      (((Status) & AE_CODE_MASK) == AE_CODE_ENVIRONMENTAL)
> +#define ACPI_AML_EXCEPTION(Status)      (((Status) & AE_CODE_MASK) == AE_CODE_AML)
> +#define ACPI_PROG_EXCEPTION(Status)     (((Status) & AE_CODE_MASK) == AE_CODE_PROGRAMMER)
> +#define ACPI_TABLE_EXCEPTION(Status)    (((Status) & AE_CODE_MASK) == AE_CODE_ACPI_TABLES)
> +#define ACPI_CNTL_EXCEPTION(Status)     (((Status) & AE_CODE_MASK) == AE_CODE_CONTROL)
>  
>  
>  /*
> diff --git a/src/acpica/source/include/acpixf.h b/src/acpica/source/include/acpixf.h
> index df45d2dc..866f22f9 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                 0x20201113
> +#define ACPI_CA_VERSION                 0x20201217
>  
>  #include "acconfig.h"
>  #include "actypes.h"
> diff --git a/src/acpica/source/include/actypes.h b/src/acpica/source/include/actypes.h
> index 48388c21..1f0a189a 100644
> --- a/src/acpica/source/include/actypes.h
> +++ b/src/acpica/source/include/actypes.h
> @@ -1537,5 +1537,10 @@ typedef enum
>  
>  #define ACPI_OPT_END                    -1
>  
> +/* Definitions for explicit fallthrough */
> +
> +#ifndef ACPI_FALLTHROUGH
> +#define ACPI_FALLTHROUGH do {} while(0)
> +#endif
>  
>  #endif /* __ACTYPES_H__ */
> diff --git a/src/acpica/source/include/platform/acgcc.h b/src/acpica/source/include/platform/acgcc.h
> index 797fde33..87433325 100644
> --- a/src/acpica/source/include/platform/acgcc.h
> +++ b/src/acpica/source/include/platform/acgcc.h
> @@ -196,4 +196,19 @@ typedef __builtin_va_list       va_list;
>  
>  #define ACPI_USE_NATIVE_MATH64
>  
> +/* GCC did not support __has_attribute until 5.1. */
> +
> +#ifndef __has_attribute
> +#define __has_attribute(x) 0
> +#endif
> +
> +/*
> + * Explictly mark intentional explicit fallthrough to silence
> + * -Wimplicit-fallthrough in GCC 7.1+.
> + */
> +
> +#if __has_attribute(__fallthrough__)
> +#define ACPI_FALLTHROUGH __attribute__((__fallthrough__))
> +#endif
> +
>  #endif /* __ACGCC_H__ */
> 

Acked-by: Alex Hung <alex.hung at canonical.com>



More information about the fwts-devel mailing list