ACK: [PATCH] fwts_acpi_object_eval.h: constify read-only function arguments
ivanhu
ivan.hu at canonical.com
Mon Apr 12 07:21:56 UTC 2021
On 4/11/21 7:09 AM, Colin King wrote:
> From: Colin Ian King <colin.king at canonical.com>
>
> Make read-only function arguments const. Also re-format prototypes in
> header file fit into 80 columns. Clean up some macro indentations.
>
> Signed-off-by: Colin Ian King <colin.king at canonical.com>
> ---
> src/lib/include/fwts_acpi_object_eval.h | 181 ++++++++++++++++--------
> src/lib/src/fwts_acpi_object_eval.c | 33 +++--
> 2 files changed, 140 insertions(+), 74 deletions(-)
>
> diff --git a/src/lib/include/fwts_acpi_object_eval.h b/src/lib/include/fwts_acpi_object_eval.h
> index 32c8f6bf..b818146e 100644
> --- a/src/lib/include/fwts_acpi_object_eval.h
> +++ b/src/lib/include/fwts_acpi_object_eval.h
> @@ -32,12 +32,14 @@ int fwts_acpi_deinit(fwts_framework *fw);
> char *fwts_acpi_object_exists(const char *name);
> fwts_list *fwts_acpi_object_get_names(void);
> void fwts_acpi_object_dump(fwts_framework *fw, const ACPI_OBJECT *obj);
> -void fwts_acpi_object_evaluate_report_error(fwts_framework *fw, const char *name, const ACPI_STATUS status);
> -ACPI_STATUS fwts_acpi_object_evaluate(fwts_framework *fw, char *name, ACPI_OBJECT_LIST *arg_list, ACPI_BUFFER *buf);
> +void fwts_acpi_object_evaluate_report_error(fwts_framework *fw,
> + const char *name, const ACPI_STATUS status);
> +ACPI_STATUS fwts_acpi_object_evaluate(fwts_framework *fw, char *name,
> + ACPI_OBJECT_LIST *arg_list, ACPI_BUFFER *buf);
>
> /* Test types */
> #define METHOD_MANDATORY 1
> -#define METHOD_OPTIONAL 2
> +#define METHOD_OPTIONAL 2
> #define METHOD_MOBILE 4
> #define METHOD_SILENT 8
>
> @@ -112,43 +114,83 @@ typedef struct {
> #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, const char *name, ACPI_OBJECT *obj, uint32_t subpkg, uint32_t element, ACPI_OBJECT_TYPE type);
> +int fwts_method_check_type__(fwts_framework *fw, const char *name,
> + const ACPI_BUFFER *buf, const ACPI_OBJECT_TYPE type,
> + const char *type_name);
> +int fwts_method_check_element_type(fwts_framework *fw, const char *name,
> + const ACPI_OBJECT *obj, const uint32_t subpkg,
> + const uint32_t element, const 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 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);
> -void fwts_method_test_string_return(fwts_framework *fw, char *name, ACPI_BUFFER *buf, ACPI_OBJECT *obj, void *private);
> -void fwts_method_test_reference_return(fwts_framework *fw, char *name, ACPI_BUFFER *buf, ACPI_OBJECT *obj, void *private);
> -void fwts_method_test_NULL_return(fwts_framework *fw, char *name, ACPI_BUFFER *buf, ACPI_OBJECT *obj, void *private);
> -void fwts_method_test_buffer_return(fwts_framework *fw, char *name, ACPI_BUFFER *buf, ACPI_OBJECT *obj,void *private);
> -void fwts_method_test_all_reference_package_return(fwts_framework *fw, char *name, ACPI_BUFFER *buf, ACPI_OBJECT *obj, void *private);
> -void fwts_method_test_integer_reserved_bits_return(fwts_framework *fw, char *name, ACPI_BUFFER *buf, ACPI_OBJECT *obj, void *private);
> -void fwts_method_test_integer_max_return(fwts_framework *fw, char *name, ACPI_BUFFER *buf, ACPI_OBJECT *obj, void *private);
> -void fwts_method_test_package_integer_return(fwts_framework *fw, char *name, ACPI_BUFFER *buf, ACPI_OBJECT *obj, void *private);
> -void fwts_method_test_passed_failed_return(fwts_framework *fw, char *name, ACPI_BUFFER *buf, ACPI_OBJECT *obj, void *private);
> -void fwts_method_test_polling_return( fwts_framework *fw, char *name, ACPI_BUFFER *buf, ACPI_OBJECT *obj, void *private);
> -
> -void method_evaluate_found_method(fwts_framework *fw, char *name, fwts_method_return check_func, void *private, ACPI_OBJECT_LIST *arg_list);
> -void fwts_evaluate_found_method(fwts_framework *fw, ACPI_HANDLE *parent, char *name, fwts_method_return check_func, void *private, ACPI_OBJECT_LIST *arg_list);
> -int fwts_evaluate_method(fwts_framework *fw, uint32_t test_type, ACPI_HANDLE *parent, char *name, ACPI_OBJECT *args, uint32_t num_args, fwts_method_return check_func, void *private);
> -
> -bool fwts_method_valid_HID_string(char *str);
> -bool fwts_method_valid_EISA_ID(uint32_t id, char *buf, size_t buf_len);
> -
> -void fwts_method_test_CRS_large_size( fwts_framework *fw, const char *name, const char *objname, const uint8_t *data, const size_t crs_length, const size_t min, const size_t max, bool *passed);
> -void fwts_method_test_CRS_large_resource_items(fwts_framework *fw, const char *name, const char *objname, const uint8_t *data, const uint64_t length, bool *passed, const char **tag);
> -void fwts_method_test_CRS_small_resource_items(fwts_framework *fw, const char *name, const char *objname, const uint8_t *data, const size_t length, bool *passed, const char **tag) ;
> +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(const ACPI_OBJECT_TYPE t1,
> + const ACPI_OBJECT_TYPE t2);
> +int fwts_method_buffer_size(fwts_framework *fw, const char *name,
> + const ACPI_OBJECT *obj, const size_t buf_size);
> +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);
> +void fwts_method_test_string_return(fwts_framework *fw, char *name,
> + ACPI_BUFFER *buf, ACPI_OBJECT *obj, void *private);
> +void fwts_method_test_reference_return(fwts_framework *fw, char *name,
> + ACPI_BUFFER *buf, ACPI_OBJECT *obj, void *private);
> +void fwts_method_test_NULL_return(fwts_framework *fw, char *name,
> + ACPI_BUFFER *buf, ACPI_OBJECT *obj, void *private);
> +void fwts_method_test_buffer_return(fwts_framework *fw, char *name,
> + ACPI_BUFFER *buf, ACPI_OBJECT *obj,void *private);
> +void fwts_method_test_all_reference_package_return(fwts_framework *fw,
> + char *name, ACPI_BUFFER *buf, ACPI_OBJECT *obj, void *private);
> +void fwts_method_test_integer_reserved_bits_return(fwts_framework *fw,
> + char *name, ACPI_BUFFER *buf, ACPI_OBJECT *obj, void *private);
> +void fwts_method_test_integer_max_return(fwts_framework *fw,
> + char *name, ACPI_BUFFER *buf, ACPI_OBJECT *obj, void *private);
> +void fwts_method_test_package_integer_return(fwts_framework *fw,
> + char *name, ACPI_BUFFER *buf, ACPI_OBJECT *obj, void *private);
> +void fwts_method_test_passed_failed_return(fwts_framework *fw,
> + char *name, ACPI_BUFFER *buf, ACPI_OBJECT *obj, void *private);
> +void fwts_method_test_polling_return( fwts_framework *fw,
> + char *name, ACPI_BUFFER *buf, ACPI_OBJECT *obj, void *private);
> +
> +void method_evaluate_found_method(fwts_framework *fw,
> + char *name, fwts_method_return check_func, void *private,
> + ACPI_OBJECT_LIST *arg_list);
> +void fwts_evaluate_found_method(fwts_framework *fw, ACPI_HANDLE *parent,
> + char *name, fwts_method_return check_func, void *private,
> + ACPI_OBJECT_LIST *arg_list);
> +int fwts_evaluate_method(fwts_framework *fw, const uint32_t test_type,
> + ACPI_HANDLE *parent, char *name, ACPI_OBJECT *args,
> + uint32_t num_args, fwts_method_return check_func, void *private);
> +
> +bool fwts_method_valid_HID_string(const char *str);
> +bool fwts_method_valid_EISA_ID(const uint32_t id, char *buf,
> + const size_t buf_len);
> +
> +void fwts_method_test_CRS_large_size(fwts_framework *fw, const char *name,
> + const char *objname, const uint8_t *data, const size_t crs_length,
> + const size_t min, const size_t max, bool *passed);
> +void fwts_method_test_CRS_large_resource_items(fwts_framework *fw,
> + const char *name, const char *objname, const uint8_t *data,
> + const uint64_t length, bool *passed, const char **tag);
> +void fwts_method_test_CRS_small_resource_items(fwts_framework *fw,
> + const char *name, const char *objname, const uint8_t *data,
> + const size_t length, bool *passed, const char **tag) ;
>
> /* Device Identification Objects - see Section 6 Device Configuration */
> int fwts_method_test_ADR(fwts_framework *fw, ACPI_HANDLE *device);
> @@ -164,26 +206,45 @@ int fwts_method_test_SUN(fwts_framework *fw, ACPI_HANDLE *device);
> int fwts_method_test_STR(fwts_framework *fw, ACPI_HANDLE *device);
> int fwts_method_test_UID(fwts_framework *fw, ACPI_HANDLE *device);
>
> -void fwts_method_test_BMD_return(fwts_framework *fw, char *name,ACPI_BUFFER *buf, ACPI_OBJECT *obj, void *private);
> -void fwts_method_test_BPC_return(fwts_framework *fw, char *name,ACPI_BUFFER *buf, ACPI_OBJECT *obj, void *private);
> -void fwts_method_test_BPS_return(fwts_framework *fw, char *name,ACPI_BUFFER *buf, ACPI_OBJECT *obj, void *private);
> -void fwts_method_valid_CID_Type(fwts_framework *fw, char *name, ACPI_OBJECT *obj);
> -void fwts_method_test_CID_return(fwts_framework *fw, char *name,ACPI_BUFFER *buf, ACPI_OBJECT *obj, void *private);
> -void fwts_method_test_HID_return(fwts_framework *fw, char *name, ACPI_BUFFER *buf, ACPI_OBJECT *obj, void *private);
> -void fwts_method_test_MLS_return( fwts_framework *fw, char *name, ACPI_BUFFER *buf, ACPI_OBJECT *obj, void *private);
> -void fwts_method_test_PLD_return(fwts_framework *fw, char *name, ACPI_BUFFER *buf, ACPI_OBJECT *obj, void *private);
> -void fwts_method_test_SUB_return(fwts_framework *fw, char *name, ACPI_BUFFER *buf, ACPI_OBJECT *obj, void *private);
> -void fwts_method_test_UID_return(fwts_framework *fw, char *name, ACPI_BUFFER *buf, ACPI_OBJECT *obj, void *private);
> -
> -void fwts_method_test_NBS_return(fwts_framework *fw, char *name, ACPI_BUFFER *buf, ACPI_OBJECT *obj, void *private);
> -void fwts_method_test_NCH_return(fwts_framework *fw, char *name, ACPI_BUFFER *buf, ACPI_OBJECT *obj, void *private);
> -void fwts_method_test_NIC_return(fwts_framework *fw, char *name, ACPI_BUFFER *buf, ACPI_OBJECT *obj, void *private);
> -void fwts_method_test_NIH_return(fwts_framework *fw, char *name, ACPI_BUFFER *buf, ACPI_OBJECT *obj, void *private);
> -void fwts_method_test_NIG_return(fwts_framework *fw, char *name, ACPI_BUFFER *buf, ACPI_OBJECT *obj, void *private);
> -
> -void fwts_method_test_STA_return(fwts_framework *fw, char *name, ACPI_BUFFER *buf, ACPI_OBJECT *obj, void *private);
> -void fwts_method_test_BIF_return(fwts_framework *fw, char *name, ACPI_BUFFER *buf, ACPI_OBJECT *obj, void *private);
> -void fwts_method_test_BIX_return(fwts_framework *fw, char *name, ACPI_BUFFER *buf, ACPI_OBJECT *obj, void *private);
> -void fwts_method_test_BST_return(fwts_framework *fw, char *name, ACPI_BUFFER *buf, ACPI_OBJECT *obj, void *private);
> +void fwts_method_test_BMD_return(fwts_framework *fw, char *name,
> + ACPI_BUFFER *buf, ACPI_OBJECT *obj, void *private);
> +void fwts_method_test_BPC_return(fwts_framework *fw, char *name,
> + ACPI_BUFFER *buf, ACPI_OBJECT *obj, void *private);
> +void fwts_method_test_BPS_return(fwts_framework *fw, char *name,
> + ACPI_BUFFER *buf, ACPI_OBJECT *obj, void *private);
> +void fwts_method_valid_CID_Type(fwts_framework *fw, char *name,
> + ACPI_OBJECT *obj);
> +void fwts_method_test_CID_return(fwts_framework *fw, char *name,
> + ACPI_BUFFER *buf, ACPI_OBJECT *obj, void *private);
> +void fwts_method_test_HID_return(fwts_framework *fw, char *name,
> + ACPI_BUFFER *buf, ACPI_OBJECT *obj, void *private);
> +void fwts_method_test_MLS_return(fwts_framework *fw, char *name,
> + ACPI_BUFFER *buf, ACPI_OBJECT *obj, void *private);
> +void fwts_method_test_PLD_return(fwts_framework *fw, char *name,
> + ACPI_BUFFER *buf, ACPI_OBJECT *obj, void *private);
> +void fwts_method_test_SUB_return(fwts_framework *fw, char *name,
> + ACPI_BUFFER *buf, ACPI_OBJECT *obj, void *private);
> +void fwts_method_test_UID_return(fwts_framework *fw, char *name,
> + ACPI_BUFFER *buf, ACPI_OBJECT *obj, void *private);
> +
> +void fwts_method_test_NBS_return(fwts_framework *fw, char *name,
> + ACPI_BUFFER *buf, ACPI_OBJECT *obj, void *private);
> +void fwts_method_test_NCH_return(fwts_framework *fw, char *name,
> + ACPI_BUFFER *buf, ACPI_OBJECT *obj, void *private);
> +void fwts_method_test_NIC_return(fwts_framework *fw, char *name,
> + ACPI_BUFFER *buf, ACPI_OBJECT *obj, void *private);
> +void fwts_method_test_NIH_return(fwts_framework *fw, char *name,
> + ACPI_BUFFER *buf, ACPI_OBJECT *obj, void *private);
> +void fwts_method_test_NIG_return(fwts_framework *fw, char *name,
> + ACPI_BUFFER *buf, ACPI_OBJECT *obj, void *private);
> +
> +void fwts_method_test_STA_return(fwts_framework *fw, char *name,
> + ACPI_BUFFER *buf, ACPI_OBJECT *obj, void *private);
> +void fwts_method_test_BIF_return(fwts_framework *fw, char *name,
> + ACPI_BUFFER *buf, ACPI_OBJECT *obj, void *private);
> +void fwts_method_test_BIX_return(fwts_framework *fw, char *name,
> + ACPI_BUFFER *buf, ACPI_OBJECT *obj, void *private);
> +void fwts_method_test_BST_return(fwts_framework *fw, char *name,
> + ACPI_BUFFER *buf, ACPI_OBJECT *obj, void *private);
>
> #endif
> diff --git a/src/lib/src/fwts_acpi_object_eval.c b/src/lib/src/fwts_acpi_object_eval.c
> index 020ff3c5..36b92734 100644
> --- a/src/lib/src/fwts_acpi_object_eval.c
> +++ b/src/lib/src/fwts_acpi_object_eval.c
> @@ -474,10 +474,10 @@ ACPI_STATUS fwts_acpi_object_evaluate(fwts_framework *fw,
>
> int fwts_method_check_type__(
> fwts_framework *fw,
> - char *name,
> - ACPI_BUFFER *buf,
> - ACPI_OBJECT_TYPE type,
> - char *type_name)
> + const char *name,
> + const ACPI_BUFFER *buf,
> + const ACPI_OBJECT_TYPE type,
> + const char *type_name)
> {
> ACPI_OBJECT *obj;
>
> @@ -548,10 +548,10 @@ static const char *acpi_object_names[] = {
> 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 ACPI_OBJECT *obj,
> + const uint32_t subpkg,
> + const uint32_t element,
> + const ACPI_OBJECT_TYPE type)
> {
> if (obj->Package.Elements[element].Type != type) {
> char obj_name[5] = "_XYZ";
> @@ -642,7 +642,9 @@ void fwts_method_failed_null_object(
> "return %s.", name, type);
> }
>
> -bool fwts_method_type_matches(ACPI_OBJECT_TYPE t1, ACPI_OBJECT_TYPE t2)
> +bool fwts_method_type_matches(
> + const ACPI_OBJECT_TYPE t1,
> + const ACPI_OBJECT_TYPE t2)
> {
> if (t1 == ACPI_TYPE_INTBUF &&
> (t2 == ACPI_TYPE_INTEGER || t2 == ACPI_TYPE_BUFFER))
> @@ -662,8 +664,8 @@ 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)
> + const ACPI_OBJECT *obj,
> + const size_t buf_size)
> {
> if (obj->Buffer.Length != buf_size) {
> fwts_failed(fw, LOG_LEVEL_CRITICAL,
> @@ -1176,7 +1178,7 @@ void fwts_evaluate_found_method(
> }
>
> int fwts_evaluate_method(fwts_framework *fw,
> - uint32_t test_type, /* Manditory or optional */
> + const uint32_t test_type, /* Manditory or optional */
> ACPI_HANDLE *parent,
> char *name,
> ACPI_OBJECT *args,
> @@ -1210,7 +1212,7 @@ int fwts_evaluate_method(fwts_framework *fw,
> return FWTS_OK;
> }
>
> -bool fwts_method_valid_HID_string(char *str)
> +bool fwts_method_valid_HID_string(const char *str)
> {
> if (strlen(str) == 7) {
> /* PNP ID, must be 3 capitals followed by 4 hex */
> @@ -1240,7 +1242,10 @@ bool fwts_method_valid_HID_string(char *str)
> return false;
> }
>
> -bool fwts_method_valid_EISA_ID(uint32_t id, char *buf, size_t buf_len)
> +bool fwts_method_valid_EISA_ID(
> + const uint32_t id,
> + char *buf,
> + const size_t buf_len)
> {
> snprintf(buf, buf_len, "%c%c%c%02" PRIX32 "%02" PRIX32,
> 0x40 + ((id >> 2) & 0x1f),
>
Acked-by: Ivan Hu <ivan.hu at canonical.com>
More information about the fwts-devel
mailing list