ACK: [PATCH 1/4] acpi: replace objname by get_object_name() in various functions

ivanhu ivan.hu at canonical.com
Mon Jan 25 03:01:21 UTC 2021



On 1/21/21 7:23 AM, Alex Hung wrote:
> Including the following functions:
>  fwts_method_package_count_min
>  fwts_method_package_count_equal
>  fwts_method_subpackage_count_equal
>  fwts_method_package_elements_all_type
>  fwts_method_package_elements_type
> 
> Signed-off-by: Alex Hung <alex.hung at canonical.com>
> ---
>  src/acpi/devices/ac_adapter/ac.c        |   8 +-
>  src/acpi/devices/battery/battery.c      |  18 ++--
>  src/acpi/devices/lid/lid.c              |   2 +-
>  src/acpi/method/method.c                | 120 ++++++++++++------------
>  src/lib/include/fwts_acpi_object_eval.h |  16 ++--
>  src/lib/src/fwts_acpi_object_eval.c     |  45 ++++-----
>  6 files changed, 105 insertions(+), 104 deletions(-)
> 
> diff --git a/src/acpi/devices/ac_adapter/ac.c b/src/acpi/devices/ac_adapter/ac.c
> index 244a221b..0de13b2d 100644
> --- a/src/acpi/devices/ac_adapter/ac.c
> +++ b/src/acpi/devices/ac_adapter/ac.c
> @@ -116,7 +116,7 @@ static void method_test_PCL_return(fwts_framework *fw,
>  	if (fwts_method_check_type(fw, name, buf, ACPI_TYPE_PACKAGE) != FWTS_OK)
>  		return;
>  
> -	if (fwts_method_package_elements_all_type(fw, name, "_PCL", obj, ACPI_TYPE_LOCAL_REFERENCE) != FWTS_OK)
> +	if (fwts_method_package_elements_all_type(fw, name, obj, ACPI_TYPE_LOCAL_REFERENCE) != FWTS_OK)
>  		return;
>  
>  	fwts_passed(fw,	"%s returned a sane package of %" PRIu32 " references.", name, obj->Package.Count);
> @@ -149,10 +149,10 @@ static void method_test_PIF_return(
>  	if (fwts_method_check_type(fw, name, buf, ACPI_TYPE_PACKAGE) != FWTS_OK)
>  		return;
>  
> -	if (fwts_method_package_count_equal(fw, name, "_PIF", obj, 6) != FWTS_OK)
> +	if (fwts_method_package_count_equal(fw, name, obj, 6) != FWTS_OK)
>  		return;
>  
> -	if (fwts_method_package_elements_type(fw, name, "_PIF", obj, elements) != FWTS_OK)
> +	if (fwts_method_package_elements_type(fw, name, obj, elements) != FWTS_OK)
>  		return;
>  
>  	fwts_acpi_object_dump(fw, obj);
> @@ -178,7 +178,7 @@ static void method_test_PRL_return(
>  	if (fwts_method_check_type(fw, name, buf, ACPI_TYPE_PACKAGE) != FWTS_OK)
>  		return;
>  
> -	if (fwts_method_package_elements_all_type(fw, name, "_PRL", obj, ACPI_TYPE_LOCAL_REFERENCE) != FWTS_OK)
> +	if (fwts_method_package_elements_all_type(fw, name, obj, ACPI_TYPE_LOCAL_REFERENCE) != FWTS_OK)
>  		return;
>  
>  	fwts_method_passed_sane(fw, name, "package");
> diff --git a/src/acpi/devices/battery/battery.c b/src/acpi/devices/battery/battery.c
> index ec250de8..049479fb 100644
> --- a/src/acpi/devices/battery/battery.c
> +++ b/src/acpi/devices/battery/battery.c
> @@ -107,10 +107,10 @@ static void method_test_BIF_return(
>  	if (fwts_method_check_type(fw, name, buf, ACPI_TYPE_PACKAGE) != FWTS_OK)
>  		return;
>  
> -	if (fwts_method_package_count_equal(fw, name, "_BIF", obj, 13) != FWTS_OK)
> +	if (fwts_method_package_count_equal(fw, name, obj, 13) != FWTS_OK)
>  		return;
>  
> -	if (fwts_method_package_elements_type(fw, name, "_BIF", obj, elements) != FWTS_OK)
> +	if (fwts_method_package_elements_type(fw, name, obj, elements) != FWTS_OK)
>  		return;
>  
>  	/* Sanity check each field */
> @@ -285,17 +285,17 @@ static void method_test_BIX_return(
>  
>  	switch (revision) {
>  	case 0:
> -		if (fwts_method_package_count_equal(fw, name, "_BIX", obj, 20) != FWTS_OK)
> +		if (fwts_method_package_count_equal(fw, name, obj, 20) != FWTS_OK)
>  			return;
>  
> -		if (fwts_method_package_elements_type(fw, name, "_BIX", obj, elements) != FWTS_OK)
> +		if (fwts_method_package_elements_type(fw, name, obj, elements) != FWTS_OK)
>  			return;
>  		break;
>  	case 1:
> -		if (fwts_method_package_count_equal(fw, name, "_BIX", obj, 21) != FWTS_OK)
> +		if (fwts_method_package_count_equal(fw, name, obj, 21) != FWTS_OK)
>  			return;
>  
> -		if (fwts_method_package_elements_type(fw, name, "_BIX", obj, elements_v1) != FWTS_OK)
> +		if (fwts_method_package_elements_type(fw, name, obj, elements_v1) != FWTS_OK)
>  			return;
>  		break;
>  	default:
> @@ -477,10 +477,10 @@ static void method_test_BST_return(
>  	if (fwts_method_check_type(fw, name, buf, ACPI_TYPE_PACKAGE) != FWTS_OK)
>  		return;
>  
> -	if (fwts_method_package_count_equal(fw, name, "_BST", obj, 4) != FWTS_OK)
> +	if (fwts_method_package_count_equal(fw, name, obj, 4) != FWTS_OK)
>  		return;
>  
> -	if (fwts_method_package_elements_all_type(fw, name, "_BST", obj, ACPI_TYPE_INTEGER) != FWTS_OK)
> +	if (fwts_method_package_elements_all_type(fw, name, obj, ACPI_TYPE_INTEGER) != FWTS_OK)
>  		return;
>  
>  	/* Sanity check each field */
> @@ -570,7 +570,7 @@ static void method_test_PCL_return(fwts_framework *fw,
>  	if (fwts_method_check_type(fw, name, buf, ACPI_TYPE_PACKAGE) != FWTS_OK)
>  		return;
>  
> -	if (fwts_method_package_elements_all_type(fw, name, "_PCL", obj, ACPI_TYPE_LOCAL_REFERENCE) != FWTS_OK)
> +	if (fwts_method_package_elements_all_type(fw, name, obj, ACPI_TYPE_LOCAL_REFERENCE) != FWTS_OK)
>  		return;
>  
>  	fwts_passed(fw,	"%s returned a sane package of %" PRIu32 " references.", name, obj->Package.Count);
> diff --git a/src/acpi/devices/lid/lid.c b/src/acpi/devices/lid/lid.c
> index dadee79e..136f2a61 100644
> --- a/src/acpi/devices/lid/lid.c
> +++ b/src/acpi/devices/lid/lid.c
> @@ -111,7 +111,7 @@ static void method_test_PRW_return(
>  	if (fwts_method_check_type(fw, name, buf, ACPI_TYPE_PACKAGE) != FWTS_OK)
>  		return;
>  
> -	if (fwts_method_package_count_min(fw, name, "_PRW", obj, 2) != FWTS_OK)
> +	if (fwts_method_package_count_min(fw, name, obj, 2) != FWTS_OK)
>  		return;
>  
>  	if (obj->Package.Elements[0].Type != ACPI_TYPE_INTEGER &&
> diff --git a/src/acpi/method/method.c b/src/acpi/method/method.c
> index 6addf7c9..544cbda7 100644
> --- a/src/acpi/method/method.c
> +++ b/src/acpi/method/method.c
> @@ -686,14 +686,14 @@ static void method_test_DLM_return(
>  	if (fwts_method_check_type(fw, name, buf, ACPI_TYPE_PACKAGE) != FWTS_OK)
>  		return;
>  
> -	if (fwts_method_package_elements_all_type(fw, name, "_DLM", obj, ACPI_TYPE_PACKAGE) != FWTS_OK)
> +	if (fwts_method_package_elements_all_type(fw, name, obj, ACPI_TYPE_PACKAGE) != FWTS_OK)
>  		return;
>  
>  	/* Could be one or more packages */
>  	for (i = 0; i < obj->Package.Count; i++) {
>  		ACPI_OBJECT *pkg = &obj->Package.Elements[i];
>  
> -		if (fwts_method_subpackage_count_equal(fw, name, "_DLM", pkg, i, 2) != FWTS_OK) {
> +		if (fwts_method_subpackage_count_equal(fw, name, pkg, i, 2) != FWTS_OK) {
>  			failed = true;
>  			continue;
>  		}
> @@ -894,7 +894,7 @@ static void method_test_PRT_return(
>  	if (fwts_method_check_type(fw, name, buf, ACPI_TYPE_PACKAGE) != FWTS_OK)
>  		return;
>  
> -	if (fwts_method_package_elements_all_type(fw, name, "_PRT", obj, ACPI_TYPE_PACKAGE) != FWTS_OK)
> +	if (fwts_method_package_elements_all_type(fw, name, obj, ACPI_TYPE_PACKAGE) != FWTS_OK)
>  		return;
>  
>  	for (i = 0; i < obj->Package.Count; i++) {
> @@ -903,7 +903,7 @@ static void method_test_PRT_return(
>  		pkg = &obj->Package.Elements[i];
>  
>  		/* check size of sub-packages */
> -		if (fwts_method_subpackage_count_equal(fw, name, "_PRT", pkg, i, 4) != FWTS_OK) {
> +		if (fwts_method_subpackage_count_equal(fw, name, pkg, i, 4) != FWTS_OK) {
>  			failed = true;
>  			continue;
>  		}
> @@ -985,7 +985,7 @@ static void method_test_FIX_return(
>  		return;
>  
>  	/* All elements in the package must be integers */
> -	if (fwts_method_package_elements_all_type(fw, name, "_FIX", obj, ACPI_TYPE_INTEGER) != FWTS_OK)
> +	if (fwts_method_package_elements_all_type(fw, name, obj, ACPI_TYPE_INTEGER) != FWTS_OK)
>  		return;
>  
>  	/* And they need to be valid IDs */
> @@ -1364,7 +1364,7 @@ static void method_test_PRW_return(
>  	if (fwts_method_check_type(fw, name, buf, ACPI_TYPE_PACKAGE) != FWTS_OK)
>  		return;
>  
> -	if (fwts_method_package_count_min(fw, name, "_PRW", obj, 2) != FWTS_OK)
> +	if (fwts_method_package_count_min(fw, name, obj, 2) != FWTS_OK)
>  		return;
>  
>  	if (obj->Package.Elements[0].Type != ACPI_TYPE_INTEGER &&
> @@ -1378,7 +1378,7 @@ 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, "_PRW", pkg, 0, 2) != FWTS_OK)
> +		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) {
> @@ -1505,14 +1505,12 @@ static void method_test_power_resources_return(
>  	ACPI_OBJECT *obj,
>  	void *private)
>  {
> -	char *objname = (char *)private;
> -
>  	FWTS_UNUSED(private);
>  
>  	if (fwts_method_check_type(fw, name, buf, ACPI_TYPE_PACKAGE) != FWTS_OK)
>  		return;
>  
> -	if (fwts_method_package_elements_all_type(fw, name, objname,
> +	if (fwts_method_package_elements_all_type(fw, name,
>  		obj, ACPI_TYPE_LOCAL_REFERENCE) != FWTS_OK)
>  		return;
>  
> @@ -1588,10 +1586,10 @@ static void method_test_PRR_return(
>  	if (fwts_method_check_type(fw, name, buf, ACPI_TYPE_PACKAGE) != FWTS_OK)
>  		return;
>  
> -	if (fwts_method_package_count_equal(fw, name, "_PRR", obj, 1) != FWTS_OK)
> +	if (fwts_method_package_count_equal(fw, name, obj, 1) != FWTS_OK)
>  		return;
>  
> -	if (fwts_method_package_elements_all_type(fw, name, "_PRR", obj, ACPI_TYPE_LOCAL_REFERENCE) != FWTS_OK)
> +	if (fwts_method_package_elements_all_type(fw, name, obj, ACPI_TYPE_LOCAL_REFERENCE) != FWTS_OK)
>  		return;
>  
>  	fwts_method_passed_sane(fw, name, "package");
> @@ -1813,26 +1811,26 @@ static void method_test_CPC_return(
>  
>  	if (revision == 1) {		// acpi 5.0
>  		/* Something is really wrong if we don't have any elements in _CPC */
> -		if (fwts_method_package_count_equal(fw, name, "_CPC", obj, 17) != FWTS_OK)
> +		if (fwts_method_package_count_equal(fw, name, obj, 17) != FWTS_OK)
>  			return;
>  
>  		/* For now, just check types */
> -		if (fwts_method_package_elements_type(fw, name, "_CPC", obj, elementsv1) != FWTS_OK)
> +		if (fwts_method_package_elements_type(fw, name, obj, elementsv1) != FWTS_OK)
>  			return;
>  	} else if (revision == 2) {	// acpi 5.1 ~ acpi 6.1a
>  		/* Something is really wrong if we don't have any elements in _CPC */
> -		if (fwts_method_package_count_equal(fw, name, "_CPC", obj, 21) != FWTS_OK)
> +		if (fwts_method_package_count_equal(fw, name, obj, 21) != FWTS_OK)
>  			return;
>  
>  		/* For now, just check types */
> -		if (fwts_method_package_elements_type(fw, name, "_CPC", obj, elementsv2) != FWTS_OK)
> +		if (fwts_method_package_elements_type(fw, name, obj, elementsv2) != FWTS_OK)
>  			return;
>  	} else if (revision == 3) {	// acpi 6.2 and later
> -		if (fwts_method_package_count_equal(fw, name, "_CPC", obj, 23) != FWTS_OK)
> +		if (fwts_method_package_count_equal(fw, name, obj, 23) != FWTS_OK)
>  			return;
>  
>  		/* For now, just check types */
> -		if (fwts_method_package_elements_type(fw, name, "_CPC", obj, elementsv3) != FWTS_OK)
> +		if (fwts_method_package_elements_type(fw, name, obj, elementsv3) != FWTS_OK)
>  			return;
>  	} else {
>  		fwts_failed(fw, LOG_LEVEL_HIGH,
> @@ -1868,7 +1866,7 @@ static void method_test_CSD_return(
>  		return;
>  
>  	/* Something is really wrong if we don't have any elements in _CSD */
> -	if (fwts_method_package_count_min(fw, name, "_CSD", obj, 1) != FWTS_OK)
> +	if (fwts_method_package_count_min(fw, name, obj, 1) != FWTS_OK)
>  		return;
>  
>  	/* Could be one or more packages */
> @@ -1877,7 +1875,7 @@ static void method_test_CSD_return(
>  		uint32_t j;
>  		bool elements_ok = true;
>  
> -		if (fwts_method_package_elements_all_type(fw, name, "_CSD",
> +		if (fwts_method_package_elements_all_type(fw, name,
>  			obj, ACPI_TYPE_PACKAGE) != FWTS_OK) {
>  			failed = true;
>  			continue;	/* Skip processing sub-package */
> @@ -1887,7 +1885,7 @@ static void method_test_CSD_return(
>  		/*
>  		 *  Currently we expect a package of 6 integers.
>  		 */
> -		if (fwts_method_subpackage_count_equal(fw, name, "_CSD", pkg, i, 6) != FWTS_OK) {
> +		if (fwts_method_subpackage_count_equal(fw, name, pkg, i, 6) != FWTS_OK) {
>  			failed = true;
>  			continue;
>  		}
> @@ -1991,7 +1989,7 @@ static void method_test_CST_return(
>  		return;
>  
>  	/* _CST has at least two elements */
> -	if (fwts_method_package_count_min(fw, name, "_CST", obj, 2) != FWTS_OK)
> +	if (fwts_method_package_count_min(fw, name, obj, 2) != FWTS_OK)
>  		return;
>  
>  	/* Element 1 must be an integer */
> @@ -2036,7 +2034,7 @@ static void method_test_CST_return(
>  
>  		pkg = &obj->Package.Elements[i];
>  
> -		if (fwts_method_subpackage_count_equal(fw, name, "_CST", pkg, i, 4) != FWTS_OK) {
> +		if (fwts_method_subpackage_count_equal(fw, name, pkg, i, 4) != FWTS_OK) {
>  			cst_elements_ok[i] = false;
>  			failed = true;
>  			continue;
> @@ -2133,10 +2131,10 @@ static void method_test_PCT_return(
>  		return;
>  
>  	/* Something is really wrong if we don't have any elements in _PCT */
> -	if (fwts_method_package_count_min(fw, name, "_PCT", obj, 2) != FWTS_OK)
> +	if (fwts_method_package_count_min(fw, name, obj, 2) != FWTS_OK)
>  		return;
>  
> -	if (fwts_method_package_elements_all_type(fw, name, "_PCT",
> +	if (fwts_method_package_elements_all_type(fw, name,
>  		obj, ACPI_TYPE_BUFFER) != FWTS_OK)
>  		return;
>  
> @@ -2170,7 +2168,7 @@ static void method_test_PSS_return(
>  		return;
>  
>  	/* Something is really wrong if we don't have any elements in _PSS */
> -	if (fwts_method_package_count_min(fw, name, "_PSS", obj, 1) != FWTS_OK)
> +	if (fwts_method_package_count_min(fw, name, obj, 1) != FWTS_OK)
>  		return;
>  
>  	element_ok = calloc(obj->Package.Count, sizeof(bool));
> @@ -2345,10 +2343,10 @@ static void method_test_PSD_return(
>  	if (fwts_method_check_type(fw, name, buf, ACPI_TYPE_PACKAGE) != FWTS_OK)
>  		return;
>  
> -	if (fwts_method_package_count_equal(fw, name, "_PSD", obj, 1) != FWTS_OK)
> +	if (fwts_method_package_count_equal(fw, name, obj, 1) != FWTS_OK)
>  		return;
>  
> -	if (fwts_method_package_elements_all_type(fw, name, "_PSD", obj, ACPI_TYPE_PACKAGE) != FWTS_OK)
> +	if (fwts_method_package_elements_all_type(fw, name, obj, ACPI_TYPE_PACKAGE) != FWTS_OK)
>  		return;
>  
>  	/* Could be one or more packages */
> @@ -2358,7 +2356,7 @@ static void method_test_PSD_return(
>  		bool elements_ok = true;
>  
>  		pkg = &obj->Package.Elements[i];
> -		if (fwts_method_subpackage_count_equal(fw, name, "_PSD", pkg, i, 5) != FWTS_OK) {
> +		if (fwts_method_subpackage_count_equal(fw, name, pkg, i, 5) != FWTS_OK) {
>  			failed = true;
>  			continue;
>  		}
> @@ -2407,10 +2405,10 @@ static void method_test_PTC_return(
>  	if (fwts_method_check_type(fw, name, buf, ACPI_TYPE_PACKAGE) != FWTS_OK)
>  		return;
>  
> -	if (fwts_method_package_elements_all_type(fw, name, "_PTC", obj, ACPI_TYPE_BUFFER) != FWTS_OK)
> +	if (fwts_method_package_elements_all_type(fw, name, obj, ACPI_TYPE_BUFFER) != FWTS_OK)
>  		return;
>  
> -	if (fwts_method_package_count_equal(fw, name, "_PTC", obj, 2) != FWTS_OK)
> +	if (fwts_method_package_count_equal(fw, name, obj, 2) != FWTS_OK)
>  		return;
>  
>  	for (i = 0; i < obj->Package.Count; i++) {
> @@ -2474,7 +2472,7 @@ static void method_test_TSD_return(
>  		return;
>  
>  	if (fwts_get_acpi_version(fw) >= FWTS_ACPI_VERSION_62) {
> -		if (fwts_method_package_count_equal(fw, name, "_TSD", obj, 1) != FWTS_OK)
> +		if (fwts_method_package_count_equal(fw, name, obj, 1) != FWTS_OK)
>  			return;
>  	}
>  
> @@ -2497,7 +2495,7 @@ static void method_test_TSD_return(
>  		/*
>  		 *  Currently we expect a package of 5 integers.
>  		 */
> -		if (fwts_method_subpackage_count_equal(fw, name, "TSD", pkg, i, 5) != FWTS_OK) {
> +		if (fwts_method_subpackage_count_equal(fw, name, pkg, i, 5) != FWTS_OK) {
>  			failed = true;
>  			continue;
>  		}
> @@ -2587,7 +2585,7 @@ static void method_test_TSS_return(
>  		return;
>  
>  	/* Something is really wrong if we don't have any elements in _TSS */
> -	if (fwts_method_package_count_min(fw, name, "_TSS", obj, 1) != FWTS_OK)
> +	if (fwts_method_package_count_min(fw, name, obj, 1) != FWTS_OK)
>  		return;
>  
>  	tss_elements_ok = calloc(obj->Package.Count, sizeof(bool));
> @@ -2617,7 +2615,7 @@ static void method_test_TSS_return(
>  		/*
>  		 *  We expect a package of 5 integers.
>  		 */
> -		if (fwts_method_subpackage_count_equal(fw, name, "_TSS", pkg, i, 5) != FWTS_OK) {
> +		if (fwts_method_subpackage_count_equal(fw, name, pkg, i, 5) != FWTS_OK) {
>  			tss_elements_ok[i] = false;
>  			failed = true;
>  			continue;	/* Skip processing sub-package */
> @@ -2710,7 +2708,7 @@ static void method_test_LPI_return(
>  	if (fwts_method_check_type(fw, name, buf, ACPI_TYPE_PACKAGE) != FWTS_OK)
>  		return;
>  
> -	if (fwts_method_package_count_min(fw, name, "_LPI", obj, 3) != FWTS_OK)
> +	if (fwts_method_package_count_min(fw, name, obj, 3) != FWTS_OK)
>  		return;
>  
>  	/* first 3 elements are integers, and rests are packages */
> @@ -2889,10 +2887,10 @@ static void method_test_PUR_return(
>  	if (fwts_method_check_type(fw, name, buf, ACPI_TYPE_PACKAGE) != FWTS_OK)
>  		return;
>  
> -	if (fwts_method_package_count_equal(fw, name, "_PUR", obj, 2) != FWTS_OK)
> +	if (fwts_method_package_count_equal(fw, name, obj, 2) != FWTS_OK)
>  		return;
>  
> -	if (fwts_method_package_elements_type(fw, name, "_PUR", obj, elements) != FWTS_OK)
> +	if (fwts_method_package_elements_type(fw, name, obj, elements) != FWTS_OK)
>  		return;
>  
>  	/* RevisionID */
> @@ -2979,7 +2977,7 @@ static void method_test_ALR_return(
>  		ACPI_OBJECT *pkg;
>  
>  		pkg = &obj->Package.Elements[i];
> -		if (fwts_method_subpackage_count_equal(fw, name, "_ALR", pkg, i, 2) != FWTS_OK) {
> +		if (fwts_method_subpackage_count_equal(fw, name, pkg, i, 2) != FWTS_OK) {
>  			failed = true;
>  		} else {
>  			/* elements should be listed in monotonically increasing order */
> @@ -3114,10 +3112,10 @@ static void method_test_UPC_return(
>  	if (fwts_method_check_type(fw, name, buf, ACPI_TYPE_PACKAGE) != FWTS_OK)
>  		return;
>  
> -	if (fwts_method_package_count_equal(fw, name, "_UPC", obj, 4) != FWTS_OK)
> +	if (fwts_method_package_count_equal(fw, name, obj, 4) != FWTS_OK)
>  		return;
>  
> -	if (fwts_method_package_elements_all_type(fw, name, "_UPC", obj, ACPI_TYPE_INTEGER) != FWTS_OK)
> +	if (fwts_method_package_elements_all_type(fw, name, obj, ACPI_TYPE_INTEGER) != FWTS_OK)
>  		return;
>  
>  	connector_type = obj->Package.Elements[1].Integer.Value;
> @@ -3477,10 +3475,10 @@ static void method_test_BIF_return(
>  	if (fwts_method_check_type(fw, name, buf, ACPI_TYPE_PACKAGE) != FWTS_OK)
>  		return;
>  
> -	if (fwts_method_package_count_equal(fw, name, "_BIF", obj, 13) != FWTS_OK)
> +	if (fwts_method_package_count_equal(fw, name, obj, 13) != FWTS_OK)
>  		return;
>  
> -	if (fwts_method_package_elements_type(fw, name, "_BIF", obj, elements) != FWTS_OK)
> +	if (fwts_method_package_elements_type(fw, name, obj, elements) != FWTS_OK)
>  		return;
>  
>  	/* Sanity check each field */
> @@ -3646,17 +3644,17 @@ static void method_test_BIX_return(
>  
>  	switch (revision) {
>  	case 0:
> -		if (fwts_method_package_count_equal(fw, name, "_BIX", obj, 20) != FWTS_OK)
> +		if (fwts_method_package_count_equal(fw, name, obj, 20) != FWTS_OK)
>  			return;
>  
> -		if (fwts_method_package_elements_type(fw, name, "_BIX", obj, elements) != FWTS_OK)
> +		if (fwts_method_package_elements_type(fw, name, obj, elements) != FWTS_OK)
>  			return;
>  		break;
>  	case 1:
> -		if (fwts_method_package_count_equal(fw, name, "_BIX", obj, 21) != FWTS_OK)
> +		if (fwts_method_package_count_equal(fw, name, obj, 21) != FWTS_OK)
>  			return;
>  
> -		if (fwts_method_package_elements_type(fw, name, "_BIX", obj, elements_v1) != FWTS_OK)
> +		if (fwts_method_package_elements_type(fw, name, obj, elements_v1) != FWTS_OK)
>  			return;
>  		break;
>  	default:
> @@ -3829,10 +3827,10 @@ static void method_test_BST_return(
>  	if (fwts_method_check_type(fw, name, buf, ACPI_TYPE_PACKAGE) != FWTS_OK)
>  		return;
>  
> -	if (fwts_method_package_count_equal(fw, name, "_BST", obj, 4) != FWTS_OK)
> +	if (fwts_method_package_count_equal(fw, name, obj, 4) != FWTS_OK)
>  		return;
>  
> -	if (fwts_method_package_elements_all_type(fw, name, "_BST", obj, ACPI_TYPE_INTEGER) != FWTS_OK)
> +	if (fwts_method_package_elements_all_type(fw, name, obj, ACPI_TYPE_INTEGER) != FWTS_OK)
>  		return;
>  
>  	/* Sanity check each field */
> @@ -3992,10 +3990,10 @@ static void method_test_PIF_return(
>  	if (fwts_method_check_type(fw, name, buf, ACPI_TYPE_PACKAGE) != FWTS_OK)
>  		return;
>  
> -	if (fwts_method_package_count_equal(fw, name, "_PIF", obj, 6) != FWTS_OK)
> +	if (fwts_method_package_count_equal(fw, name, obj, 6) != FWTS_OK)
>  		return;
>  
> -	if (fwts_method_package_elements_type(fw, name, "_PIF", obj, elements) != FWTS_OK)
> +	if (fwts_method_package_elements_type(fw, name, obj, elements) != FWTS_OK)
>  		return;
>  
>  	fwts_acpi_object_dump(fw, obj);
> @@ -4041,7 +4039,7 @@ static void method_test_PMC_return(
>  	if (fwts_method_check_type(fw, name, buf, ACPI_TYPE_PACKAGE) != FWTS_OK)
>  		return;
>  
> -	if (fwts_method_package_count_equal(fw, name, "_PMC", obj, 14) != FWTS_OK)
> +	if (fwts_method_package_count_equal(fw, name, obj, 14) != FWTS_OK)
>  		return;
>  
>  	/* check element types */
> @@ -4224,7 +4222,7 @@ static void method_test_FPS_return(
>  		}
>  
>  		pkg = &obj->Package.Elements[i];
> -		if (fwts_method_subpackage_count_equal(fw, name, "_FPS", pkg, i, 5) != FWTS_OK) {
> +		if (fwts_method_subpackage_count_equal(fw, name, pkg, i, 5) != FWTS_OK) {
>  			failed = true;
>  			continue;
>  		}
> @@ -4421,7 +4419,7 @@ static void method_test_ART_return(
>  		}
>  
>  		pkg = &obj->Package.Elements[i];
> -		if (fwts_method_subpackage_count_equal(fw, name, "_ART", pkg, i, 13) != FWTS_OK) {
> +		if (fwts_method_subpackage_count_equal(fw, name, pkg, i, 13) != FWTS_OK) {
>  			failed = true;
>  			continue;
>  		}
> @@ -4475,7 +4473,7 @@ static void method_test_TRT_return(
>  	if (fwts_method_check_type(fw, name, buf, ACPI_TYPE_PACKAGE) != FWTS_OK)
>  		return;
>  
> -	if (fwts_method_package_elements_all_type(fw, name, "_TRT", obj, ACPI_TYPE_PACKAGE) != FWTS_OK)
> +	if (fwts_method_package_elements_all_type(fw, name, obj, ACPI_TYPE_PACKAGE) != FWTS_OK)
>  		return;
>  
>  	/* Could be one or more packages */
> @@ -4485,7 +4483,7 @@ static void method_test_TRT_return(
>  		bool elements_ok = true;
>  
>  		pkg = &obj->Package.Elements[i];
> -		if (fwts_method_subpackage_count_equal(fw, name, "_TRT", pkg, i, 8) != FWTS_OK) {
> +		if (fwts_method_subpackage_count_equal(fw, name, pkg, i, 8) != FWTS_OK) {
>  			failed = true;
>  			continue;
>  		}
> @@ -4687,7 +4685,7 @@ static void method_test_GPE_return(
>  				name, (uint64_t)obj->Integer.Value);
>  		break;
>  	case ACPI_TYPE_PACKAGE:
> -		if (fwts_method_package_elements_type(fw, name, "_GPE", obj, elem) == FWTS_OK)
> +		if (fwts_method_package_elements_type(fw, name, obj, elem) == FWTS_OK)
>  			fwts_method_passed_sane(fw, name, "package");
>  
>  		break;
> @@ -4783,10 +4781,10 @@ static void method_test_WAK_return(
>  
>  	switch (obj->Type) {
>  	case ACPI_TYPE_PACKAGE:
> -		if (fwts_method_package_count_equal(fw, name, "_WAK", obj, 2) != FWTS_OK)
> +		if (fwts_method_package_count_equal(fw, name, obj, 2) != FWTS_OK)
>  			return;
>  
> -		if (fwts_method_package_elements_all_type(fw, name, "_WAK", obj, ACPI_TYPE_INTEGER) != FWTS_OK)
> +		if (fwts_method_package_elements_all_type(fw, name, obj, ACPI_TYPE_INTEGER) != FWTS_OK)
>  			return;
>  
>  		fwts_method_passed_sane(fw, name, "package");
> @@ -4986,10 +4984,10 @@ static void method_test_BCL_return(
>  	if (fwts_method_check_type(fw, name, buf, ACPI_TYPE_PACKAGE) != FWTS_OK)
>  		return;
>  
> -	if (fwts_method_package_count_min(fw, name, "_BCL", obj, 3) != FWTS_OK)
> +	if (fwts_method_package_count_min(fw, name, obj, 3) != FWTS_OK)
>  		return;
>  
> -	if (fwts_method_package_elements_all_type(fw, name, "_BCL", obj, ACPI_TYPE_INTEGER) != FWTS_OK)
> +	if (fwts_method_package_elements_all_type(fw, name, obj, ACPI_TYPE_INTEGER) != FWTS_OK)
>  		return;
>  
>  	if (obj->Package.Elements[0].Integer.Value <
> diff --git a/src/lib/include/fwts_acpi_object_eval.h b/src/lib/include/fwts_acpi_object_eval.h
> index fcfe8646..34660286 100644
> --- a/src/lib/include/fwts_acpi_object_eval.h
> +++ b/src/lib/include/fwts_acpi_object_eval.h
> @@ -109,22 +109,22 @@ typedef struct {
>  #define fwts_method_check_type(fw, name, buf, type) 			\
>  	fwts_method_check_type__(fw, name, buf, type, #type)
>  
> -#define fwts_method_package_elements_type(fw, name, objname, obj, info)	\
> -	fwts_method_package_elements_type__(fw, name, objname, obj, info, FWTS_ARRAY_SIZE(info))
> +#define fwts_method_package_elements_type(fw, name, obj, info)	\
> +	fwts_method_package_elements_type__(fw, name, obj, info, FWTS_ARRAY_SIZE(info))
>  
>  int fwts_method_check_type__(fwts_framework *fw, char *name, ACPI_BUFFER *buf, ACPI_OBJECT_TYPE type, char *type_name);
> -int fwts_method_check_element_type(fwts_framework *fw, char *name, ACPI_OBJECT *obj, uint32_t subpkg, uint32_t element, ACPI_OBJECT_TYPE type);
> +int fwts_method_check_element_type(fwts_framework *fw, const char *name, ACPI_OBJECT *obj, uint32_t subpkg, uint32_t element, ACPI_OBJECT_TYPE type);
>  const char *fwts_method_type_name(const ACPI_OBJECT_TYPE type);
>  void fwts_method_passed_sane(fwts_framework *fw, const char *name, const char *type);
>  void fwts_method_passed_sane_uint64(fwts_framework *fw, const char *name, const uint64_t value);
>  void fwts_method_failed_null_object(fwts_framework *fw, const char *name, const char *type);
>  bool fwts_method_type_matches(ACPI_OBJECT_TYPE t1, ACPI_OBJECT_TYPE t2);
>  int fwts_method_buffer_size(fwts_framework *fw, const char *name, ACPI_OBJECT *obj, size_t buf_size);
> -int fwts_method_package_count_min(fwts_framework *fw, const char *name, const char *objname, const ACPI_OBJECT *obj, const uint32_t min);
> -int fwts_method_package_count_equal(fwts_framework *fw, const char *name, const char *objname, const ACPI_OBJECT *obj, const uint32_t count);
> -int fwts_method_subpackage_count_equal(fwts_framework *fw, const char *name, const char *objname, const ACPI_OBJECT *obj, const uint32_t sub, const uint32_t count);
> -int fwts_method_package_elements_all_type(fwts_framework *fw, const char *name, const char *objname, const ACPI_OBJECT *obj, const ACPI_OBJECT_TYPE type);
> -int fwts_method_package_elements_type__(fwts_framework *fw, const char *name, const char *objname, const ACPI_OBJECT *obj, const fwts_package_element *info, const uint32_t count);
> +int fwts_method_package_count_min(fwts_framework *fw, const char *name, const ACPI_OBJECT *obj, const uint32_t min);
> +int fwts_method_package_count_equal(fwts_framework *fw, const char *name, const ACPI_OBJECT *obj, const uint32_t count);
> +int fwts_method_subpackage_count_equal(fwts_framework *fw, const char *name, const ACPI_OBJECT *obj, const uint32_t sub, const uint32_t count);
> +int fwts_method_package_elements_all_type(fwts_framework *fw, const char *name, const ACPI_OBJECT *obj, const ACPI_OBJECT_TYPE type);
> +int fwts_method_package_elements_type__(fwts_framework *fw, const char *name, const ACPI_OBJECT *obj, const fwts_package_element *info, const uint32_t count);
>  int fwts_method_test_revision(fwts_framework *fw, const char *name, const uint32_t cur_revision, const uint32_t spec_revision);
>  
>  void fwts_method_test_integer_return(fwts_framework *fw, char *name, ACPI_BUFFER *buf, ACPI_OBJECT *obj, void *private);
> diff --git a/src/lib/src/fwts_acpi_object_eval.c b/src/lib/src/fwts_acpi_object_eval.c
> index 40d73511..a9ee84b3 100644
> --- a/src/lib/src/fwts_acpi_object_eval.c
> +++ b/src/lib/src/fwts_acpi_object_eval.c
> @@ -500,9 +500,9 @@ int fwts_method_check_type__(
>   *	get objname from full path nanme
>   *		ex. _BCL from _SB.PCI0.GFX0.LCD0._BCL
>   */
> -static void get_object_name(char *name, char* obj_name) {
> +static void get_object_name(const char *name, char* obj_name) {
>  	/* obj_name must have length of 5 */
> -	if (name != NULL && strlen(name) > 4) {
> +	if (name != NULL && strlen(name) >= 4) {
>  		memcpy(obj_name, name + strlen(name) - 4, 4);
>  		obj_name[4] = '\0';
>  	}
> @@ -546,7 +546,7 @@ static const char *acpi_object_names[] = {
>   */
>  int fwts_method_check_element_type(
>  	fwts_framework *fw,
> -	char *name,
> +	const char *name,
>  	ACPI_OBJECT *obj,
>  	uint32_t subpkg,
>  	uint32_t element,
> @@ -682,13 +682,14 @@ int fwts_method_buffer_size(
>  int fwts_method_package_count_min(
>  	fwts_framework *fw,
>  	const char *name,
> -	const char *objname,
>  	const ACPI_OBJECT *obj,
>  	const uint32_t min)
>  {
>  	if (obj->Package.Count < min) {
> +		char objname[5] = "_XYZ";
>  		char tmp[128];
>  
> +		get_object_name(name, objname);
>  		snprintf(tmp, sizeof(tmp), "Method%sElementCount", objname);
>  		fwts_failed(fw, LOG_LEVEL_CRITICAL, tmp,
>  			"%s should return package of at least %" PRIu32
> @@ -707,13 +708,14 @@ int fwts_method_package_count_min(
>  int fwts_method_package_count_equal(
>  	fwts_framework *fw,
>  	const char *name,
> -	const char *objname,
>  	const ACPI_OBJECT *obj,
>  	const uint32_t count)
>  {
>  	if (obj->Package.Count != count) {
> +		char objname[5] = "_XYZ";
>  		char tmp[128];
>  
> +		get_object_name(name, objname);
>  		snprintf(tmp, sizeof(tmp), "Method%sElementCount", objname);
>  		fwts_failed(fw, LOG_LEVEL_CRITICAL, tmp,
>  			"%s should return package of %" PRIu32
> @@ -732,14 +734,15 @@ int fwts_method_package_count_equal(
>  int fwts_method_subpackage_count_equal(
>  	fwts_framework *fw,
>  	const char *name,
> -	const char *objname,
>  	const ACPI_OBJECT *obj,
>  	const uint32_t sub,
>  	const uint32_t count)
>  {
>  	if (obj->Package.Count != count) {
> +		char objname[5] = "_XYZ";
>  		char tmp[128];
>  
> +		get_object_name(name, objname);
>  		snprintf(tmp, sizeof(tmp), "Method%sSubPackageElementCount", objname);
>  		fwts_failed(fw, LOG_LEVEL_CRITICAL, tmp,
>  			"%s sub-package %" PRIu32 " was expected to have "
> @@ -754,7 +757,6 @@ int fwts_method_subpackage_count_equal(
>  int fwts_method_package_elements_all_type(
>  	fwts_framework *fw,
>  	const char *name,
> -	const char *objname,
>  	const ACPI_OBJECT *obj,
>  	const ACPI_OBJECT_TYPE type)
>  {
> @@ -764,6 +766,9 @@ int fwts_method_package_elements_all_type(
>  
>  	for (i = 0; i < obj->Package.Count; i++) {
>  		if (!fwts_method_type_matches(obj->Package.Elements[i].Type, type)) {
> +			char objname[5] = "_XYZ";
> +
> +			get_object_name(name, objname);
>  			snprintf(tmp, sizeof(tmp), "Method%sElementType", objname);
>  			fwts_failed(fw, LOG_LEVEL_CRITICAL, tmp,
>  				"%s package element %" PRIu32 " was not the expected "
> @@ -786,7 +791,6 @@ int fwts_method_package_elements_all_type(
>  int fwts_method_package_elements_type__(
>  	fwts_framework *fw,
>  	const char *name,
> -	const char *objname,
>  	const ACPI_OBJECT *obj,
>  	const fwts_package_element *info,
>  	const uint32_t count)
> @@ -800,6 +804,9 @@ int fwts_method_package_elements_type__(
>  
>  	for (i = 0; i < obj->Package.Count; i++) {
>  		if (!fwts_method_type_matches(obj->Package.Elements[i].Type, info[i].type)) {
> +			char objname[5] = "_XYZ";
> +
> +			get_object_name(name, objname);
>  			snprintf(tmp, sizeof(tmp), "Method%sElementType", objname);
>  			fwts_failed(fw, LOG_LEVEL_CRITICAL, tmp,
>  				"%s package element %" PRIu32 " (%s) was not the expected "
> @@ -964,12 +971,12 @@ void fwts_method_test_all_reference_package_return(
>  	ACPI_OBJECT *obj,
>  	void *private)
>  {
> -	char *objname = (char *)private;
> +	FWTS_UNUSED(private);
>  
>  	if (fwts_method_check_type(fw, name, buf, ACPI_TYPE_PACKAGE) != FWTS_OK)
>  		return;
>  
> -	if (fwts_method_package_elements_all_type(fw, name, objname, obj, ACPI_TYPE_LOCAL_REFERENCE) != FWTS_OK)
> +	if (fwts_method_package_elements_all_type(fw, name, obj, ACPI_TYPE_LOCAL_REFERENCE) != FWTS_OK)
>  		return;
>  
>  	fwts_passed(fw,	"%s returned a sane package of %" PRIu32 " references.", name, obj->Package.Count);
> @@ -1044,22 +1051,18 @@ void fwts_method_test_package_integer_return(
>  	ACPI_OBJECT *obj,
>  	void *private)
>  {
> -	char method[5];
>  	uint32_t *element_size = (uint32_t *) private;
>  
>  	if (strlen(name) < 4)
>  		return;
>  
> -	memcpy(method, name + strlen(name) - 4, 4);
> -	method[4] = '\0';
> -
>  	if (fwts_method_check_type(fw, name, buf, ACPI_TYPE_PACKAGE) != FWTS_OK)
>  		return;
>  
> -	if (fwts_method_package_count_equal(fw, name, method, obj, *element_size) != FWTS_OK)
> +	if (fwts_method_package_count_equal(fw, name, obj, *element_size) != FWTS_OK)
>  		return;
>  
> -	if (fwts_method_package_elements_all_type(fw, name, method, obj, ACPI_TYPE_INTEGER) != FWTS_OK)
> +	if (fwts_method_package_elements_all_type(fw, name, obj, ACPI_TYPE_INTEGER) != FWTS_OK)
>  		return;
>  
>  	fwts_method_passed_sane(fw, name, "package");
> @@ -2120,7 +2123,7 @@ void fwts_method_test_CID_return(
>  		fwts_method_valid_CID_Type(fw, name, obj);
>  		break;
>  	case ACPI_TYPE_PACKAGE:
> -		if (fwts_method_package_count_min(fw, name, "_CID", obj, 1) != FWTS_OK)
> +		if (fwts_method_package_count_min(fw, name, obj, 1) != FWTS_OK)
>  			return;
>  
>  		for (i = 0; i < obj->Package.Count; i++){
> @@ -2240,7 +2243,7 @@ void fwts_method_test_MLS_return(
>  	if (fwts_method_check_type(fw, name, buf, ACPI_TYPE_PACKAGE) != FWTS_OK)
>  		return;
>  
> -	if (fwts_method_package_elements_all_type(fw, name, "_MLS", obj, ACPI_TYPE_PACKAGE) != FWTS_OK)
> +	if (fwts_method_package_elements_all_type(fw, name, obj, ACPI_TYPE_PACKAGE) != FWTS_OK)
>  		return;
>  
>  	/* Could be one or more packages */
> @@ -2299,7 +2302,7 @@ void fwts_method_test_PLD_return(
>  		return;
>  
>  	/* All elements in the package must be buffers */
> -	if (fwts_method_package_elements_all_type(fw, name, "_PLD", obj, ACPI_TYPE_BUFFER) != FWTS_OK)
> +	if (fwts_method_package_elements_all_type(fw, name, obj, ACPI_TYPE_BUFFER) != FWTS_OK)
>  		return;
>  
>  	fwts_method_passed_sane(fw, name, "package");
> @@ -2425,10 +2428,10 @@ void fwts_method_test_BMD_return(
>  	if (fwts_method_check_type(fw, name, buf, ACPI_TYPE_PACKAGE) != FWTS_OK)
>  		return;
>  
> -	if (fwts_method_package_count_equal(fw, name, "_BMD", obj, 5) != FWTS_OK)
> +	if (fwts_method_package_count_equal(fw, name, obj, 5) != FWTS_OK)
>  		return;
>  
> -	if (fwts_method_package_elements_all_type(fw, name, "_BMD", obj, ACPI_TYPE_INTEGER) != FWTS_OK)
> +	if (fwts_method_package_elements_all_type(fw, name, obj, ACPI_TYPE_INTEGER) != FWTS_OK)
>  		return;
>  
>  	fwts_acpi_reserved_bits_check(fw, "_BMD", "Status Flags",
> 


Acked-by: Ivan Hu <ivan.hu at canonical.com>



More information about the fwts-devel mailing list