diff mbox series

[6/7] acpi: method: refine _PRW method tests

Message ID 20210123021231.54136-6-alex.hung@canonical.com
State Accepted
Headers show
Series [1/7] acpi: method: refine _PSS and _TSS method tests | expand

Commit Message

Alex Hung Jan. 23, 2021, 2:12 a.m. UTC
Signed-off-by: Alex Hung <alex.hung@canonical.com>
---
 src/acpi/method/method.c | 23 ++++++-----------------
 1 file changed, 6 insertions(+), 17 deletions(-)

Comments

Ivan Hu Jan. 25, 2021, 3:19 a.m. UTC | #1
On 1/23/21 10:12 AM, Alex Hung wrote:
> Signed-off-by: Alex Hung <alex.hung@canonical.com>
> ---
>  src/acpi/method/method.c | 23 ++++++-----------------
>  1 file changed, 6 insertions(+), 17 deletions(-)
> 
> diff --git a/src/acpi/method/method.c b/src/acpi/method/method.c
> index b9f463c8..025bd66f 100644
> --- a/src/acpi/method/method.c
> +++ b/src/acpi/method/method.c
> @@ -1331,6 +1331,11 @@ static void method_test_PRW_return(
>  	uint32_t i;
>  	bool failed = false;
>  
> +	static const fwts_package_element elements[] = {
> +		{ ACPI_TYPE_LOCAL_REFERENCE,	"DeviceName" },
> +		{ ACPI_TYPE_INTEGER,	"Index" },
> +	};
> +
>  	FWTS_UNUSED(private);
>  
>  	if (fwts_method_check_type(fw, name, buf, ACPI_TYPE_PACKAGE) != FWTS_OK)
> @@ -1350,24 +1355,8 @@ static void method_test_PRW_return(
>  	if (obj->Package.Elements[0].Type == ACPI_TYPE_PACKAGE) {
>  		ACPI_OBJECT *pkg;
>  		pkg = &obj->Package.Elements[0];
> -		if (fwts_method_subpackage_count_equal(fw, name, pkg, 0, 2) != FWTS_OK)
> -			failed = true;
> -
> -		if (pkg->Package.Elements[0].Type != ACPI_TYPE_LOCAL_REFERENCE) {
> -			fwts_failed(fw, LOG_LEVEL_MEDIUM,
> -				"Method_PRWBadSubPackageElementType",
> -				"%s sub-package 0 element 0 is not "
> -				"a reference.",name);
> -			failed = true;
> -		}
> -
> -		if (pkg->Package.Elements[1].Type != ACPI_TYPE_INTEGER) {
> -			fwts_failed(fw, LOG_LEVEL_MEDIUM,
> -				"Method_PRWBadSubPackageElementType",
> -				"%s sub-package 0 element 0 is not "
> -				"an integer.",name);
> +		if (fwts_method_package_elements_type(fw, name, pkg, elements) != FWTS_OK)
>  			failed = true;
> -		}
>  	}
>  
>  	if (obj->Package.Elements[1].Type != ACPI_TYPE_INTEGER) {
> 


Acked-by: Ivan Hu <ivan.hu@canonical.com>
Colin Ian King Jan. 26, 2021, 6:02 p.m. UTC | #2
On 23/01/2021 02:12, Alex Hung wrote:
> Signed-off-by: Alex Hung <alex.hung@canonical.com>
> ---
>  src/acpi/method/method.c | 23 ++++++-----------------
>  1 file changed, 6 insertions(+), 17 deletions(-)
> 
> diff --git a/src/acpi/method/method.c b/src/acpi/method/method.c
> index b9f463c8..025bd66f 100644
> --- a/src/acpi/method/method.c
> +++ b/src/acpi/method/method.c
> @@ -1331,6 +1331,11 @@ static void method_test_PRW_return(
>  	uint32_t i;
>  	bool failed = false;
>  
> +	static const fwts_package_element elements[] = {
> +		{ ACPI_TYPE_LOCAL_REFERENCE,	"DeviceName" },
> +		{ ACPI_TYPE_INTEGER,	"Index" },
> +	};
> +
>  	FWTS_UNUSED(private);
>  
>  	if (fwts_method_check_type(fw, name, buf, ACPI_TYPE_PACKAGE) != FWTS_OK)
> @@ -1350,24 +1355,8 @@ static void method_test_PRW_return(
>  	if (obj->Package.Elements[0].Type == ACPI_TYPE_PACKAGE) {
>  		ACPI_OBJECT *pkg;
>  		pkg = &obj->Package.Elements[0];
> -		if (fwts_method_subpackage_count_equal(fw, name, pkg, 0, 2) != FWTS_OK)
> -			failed = true;
> -
> -		if (pkg->Package.Elements[0].Type != ACPI_TYPE_LOCAL_REFERENCE) {
> -			fwts_failed(fw, LOG_LEVEL_MEDIUM,
> -				"Method_PRWBadSubPackageElementType",
> -				"%s sub-package 0 element 0 is not "
> -				"a reference.",name);
> -			failed = true;
> -		}
> -
> -		if (pkg->Package.Elements[1].Type != ACPI_TYPE_INTEGER) {
> -			fwts_failed(fw, LOG_LEVEL_MEDIUM,
> -				"Method_PRWBadSubPackageElementType",
> -				"%s sub-package 0 element 0 is not "
> -				"an integer.",name);
> +		if (fwts_method_package_elements_type(fw, name, pkg, elements) != FWTS_OK)
>  			failed = true;
> -		}
>  	}
>  
>  	if (obj->Package.Elements[1].Type != ACPI_TYPE_INTEGER) {
> 
Acked-by: Colin Ian King <colin.king@canonical.com>
diff mbox series

Patch

diff --git a/src/acpi/method/method.c b/src/acpi/method/method.c
index b9f463c8..025bd66f 100644
--- a/src/acpi/method/method.c
+++ b/src/acpi/method/method.c
@@ -1331,6 +1331,11 @@  static void method_test_PRW_return(
 	uint32_t i;
 	bool failed = false;
 
+	static const fwts_package_element elements[] = {
+		{ ACPI_TYPE_LOCAL_REFERENCE,	"DeviceName" },
+		{ ACPI_TYPE_INTEGER,	"Index" },
+	};
+
 	FWTS_UNUSED(private);
 
 	if (fwts_method_check_type(fw, name, buf, ACPI_TYPE_PACKAGE) != FWTS_OK)
@@ -1350,24 +1355,8 @@  static void method_test_PRW_return(
 	if (obj->Package.Elements[0].Type == ACPI_TYPE_PACKAGE) {
 		ACPI_OBJECT *pkg;
 		pkg = &obj->Package.Elements[0];
-		if (fwts_method_subpackage_count_equal(fw, name, pkg, 0, 2) != FWTS_OK)
-			failed = true;
-
-		if (pkg->Package.Elements[0].Type != ACPI_TYPE_LOCAL_REFERENCE) {
-			fwts_failed(fw, LOG_LEVEL_MEDIUM,
-				"Method_PRWBadSubPackageElementType",
-				"%s sub-package 0 element 0 is not "
-				"a reference.",name);
-			failed = true;
-		}
-
-		if (pkg->Package.Elements[1].Type != ACPI_TYPE_INTEGER) {
-			fwts_failed(fw, LOG_LEVEL_MEDIUM,
-				"Method_PRWBadSubPackageElementType",
-				"%s sub-package 0 element 0 is not "
-				"an integer.",name);
+		if (fwts_method_package_elements_type(fw, name, pkg, elements) != FWTS_OK)
 			failed = true;
-		}
 	}
 
 	if (obj->Package.Elements[1].Type != ACPI_TYPE_INTEGER) {