diff mbox series

[V2] acpi: method: replace _GPE test by fwts_method_package_elements_type

Message ID 20210113182243.234812-1-alex.hung@canonical.com
State Accepted
Headers show
Series [V2] acpi: method: replace _GPE test by fwts_method_package_elements_type | expand

Commit Message

Alex Hung Jan. 13, 2021, 6:22 p.m. UTC
Signed-off-by: Alex Hung <alex.hung@canonical.com>
---
 src/acpi/method/method.c | 20 ++++++--------------
 1 file changed, 6 insertions(+), 14 deletions(-)

Comments

Colin Ian King Jan. 13, 2021, 6:46 p.m. UTC | #1
On 13/01/2021 18:22, Alex Hung wrote:
> Signed-off-by: Alex Hung <alex.hung@canonical.com>
> ---
>  src/acpi/method/method.c | 20 ++++++--------------
>  1 file changed, 6 insertions(+), 14 deletions(-)
> 
> diff --git a/src/acpi/method/method.c b/src/acpi/method/method.c
> index cf994343..a6a06338 100644
> --- a/src/acpi/method/method.c
> +++ b/src/acpi/method/method.c
> @@ -4669,7 +4669,11 @@ static void method_test_GPE_return(
>  {
>  	FWTS_UNUSED(private);
>  	FWTS_UNUSED(buf);
> -	bool failed = false;
> +
> +	static const fwts_package_element elem[] = {
> +		{ ACPI_TYPE_LOCAL_REFERENCE,	"GPE block device" },
> +		{ ACPI_TYPE_INTEGER,		"SCI interrupt" },
> +	};
>  
>  	switch (obj->Type) {
>  	case ACPI_TYPE_INTEGER:
> @@ -4683,19 +4687,7 @@ static void method_test_GPE_return(
>  				name, (uint64_t)obj->Integer.Value);
>  		break;
>  	case ACPI_TYPE_PACKAGE:
> -		if (obj->Package.Elements[0].Type != ACPI_TYPE_LOCAL_REFERENCE) {
> -			failed = true;
> -			fwts_failed(fw, LOG_LEVEL_HIGH, "Method_GPEBadSubPackageReturnType",
> -			"%s sub-package element 0 is not a reference.",	name);
> -		}
> -
> -		if (obj->Package.Elements[1].Type != ACPI_TYPE_INTEGER) {
> -			failed = true;
> -			fwts_failed(fw, LOG_LEVEL_HIGH, "Method_GPEBadSubPackageReturnType",
> -			"%s sub-package element 1 is not an integer.", name);
> -		}
> -
> -		if (!failed)
> +		if (fwts_method_package_elements_type(fw, name, "_GPE", obj, elem, FWTS_ARRAY_SIZE(elem)) == FWTS_OK)
>  			fwts_method_passed_sane(fw, name, "package");
>  
>  		break;
> 

Thanks Alex.

Acked-by: Colin Ian King <colin.king@canonical.com>
Ivan Hu Jan. 18, 2021, 6:26 a.m. UTC | #2
On 1/14/21 2:22 AM, Alex Hung wrote:
> Signed-off-by: Alex Hung <alex.hung@canonical.com>
> ---
>  src/acpi/method/method.c | 20 ++++++--------------
>  1 file changed, 6 insertions(+), 14 deletions(-)
> 
> diff --git a/src/acpi/method/method.c b/src/acpi/method/method.c
> index cf994343..a6a06338 100644
> --- a/src/acpi/method/method.c
> +++ b/src/acpi/method/method.c
> @@ -4669,7 +4669,11 @@ static void method_test_GPE_return(
>  {
>  	FWTS_UNUSED(private);
>  	FWTS_UNUSED(buf);
> -	bool failed = false;
> +
> +	static const fwts_package_element elem[] = {
> +		{ ACPI_TYPE_LOCAL_REFERENCE,	"GPE block device" },
> +		{ ACPI_TYPE_INTEGER,		"SCI interrupt" },
> +	};
>  
>  	switch (obj->Type) {
>  	case ACPI_TYPE_INTEGER:
> @@ -4683,19 +4687,7 @@ static void method_test_GPE_return(
>  				name, (uint64_t)obj->Integer.Value);
>  		break;
>  	case ACPI_TYPE_PACKAGE:
> -		if (obj->Package.Elements[0].Type != ACPI_TYPE_LOCAL_REFERENCE) {
> -			failed = true;
> -			fwts_failed(fw, LOG_LEVEL_HIGH, "Method_GPEBadSubPackageReturnType",
> -			"%s sub-package element 0 is not a reference.",	name);
> -		}
> -
> -		if (obj->Package.Elements[1].Type != ACPI_TYPE_INTEGER) {
> -			failed = true;
> -			fwts_failed(fw, LOG_LEVEL_HIGH, "Method_GPEBadSubPackageReturnType",
> -			"%s sub-package element 1 is not an integer.", name);
> -		}
> -
> -		if (!failed)
> +		if (fwts_method_package_elements_type(fw, name, "_GPE", obj, elem, FWTS_ARRAY_SIZE(elem)) == FWTS_OK)
>  			fwts_method_passed_sane(fw, name, "package");
>  
>  		break;
> 

Acked-by: Ivan Hu <ivan.hu@canonical.com>
diff mbox series

Patch

diff --git a/src/acpi/method/method.c b/src/acpi/method/method.c
index cf994343..a6a06338 100644
--- a/src/acpi/method/method.c
+++ b/src/acpi/method/method.c
@@ -4669,7 +4669,11 @@  static void method_test_GPE_return(
 {
 	FWTS_UNUSED(private);
 	FWTS_UNUSED(buf);
-	bool failed = false;
+
+	static const fwts_package_element elem[] = {
+		{ ACPI_TYPE_LOCAL_REFERENCE,	"GPE block device" },
+		{ ACPI_TYPE_INTEGER,		"SCI interrupt" },
+	};
 
 	switch (obj->Type) {
 	case ACPI_TYPE_INTEGER:
@@ -4683,19 +4687,7 @@  static void method_test_GPE_return(
 				name, (uint64_t)obj->Integer.Value);
 		break;
 	case ACPI_TYPE_PACKAGE:
-		if (obj->Package.Elements[0].Type != ACPI_TYPE_LOCAL_REFERENCE) {
-			failed = true;
-			fwts_failed(fw, LOG_LEVEL_HIGH, "Method_GPEBadSubPackageReturnType",
-			"%s sub-package element 0 is not a reference.",	name);
-		}
-
-		if (obj->Package.Elements[1].Type != ACPI_TYPE_INTEGER) {
-			failed = true;
-			fwts_failed(fw, LOG_LEVEL_HIGH, "Method_GPEBadSubPackageReturnType",
-			"%s sub-package element 1 is not an integer.", name);
-		}
-
-		if (!failed)
+		if (fwts_method_package_elements_type(fw, name, "_GPE", obj, elem, FWTS_ARRAY_SIZE(elem)) == FWTS_OK)
 			fwts_method_passed_sane(fw, name, "package");
 
 		break;