From: Youngjae Cho Date: Fri, 12 Apr 2024 05:43:11 +0000 (+0900) Subject: halapi: Move hal_common family function to hal-api-common.c X-Git-Tag: accepted/tizen/unified/20240611.122614~26 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=02ea21bd4dbfa260b28d1cdefd3fe723e4dacee3;p=platform%2Fhal%2Fapi%2Fcommon.git halapi: Move hal_common family function to hal-api-common.c Place the below functions under hal-api-common.c. - hal_common_check_backend_compatibility() - hal_common_check_backend_compatibility_all() And their implementation details, which are internal use only, has been listed on hal-api-compatibility-checker.h. Change-Id: I208363f860c75627f8b7c3d3e1c564d62e6196f3 Signed-off-by: Youngjae Cho --- diff --git a/include/hal-common.h b/include/hal-common.h index 3ae6517..d0ab34e 100644 --- a/include/hal-common.h +++ b/include/hal-common.h @@ -220,20 +220,23 @@ int hal_common_get_backend_library_names(enum hal_module module, /** * @brief Check version compatibility of modules specified in manifests and stores its result - * @param[out] arr_compatibility Pointer for storing array of compatibilities about all modules. The data is owned by caller, so it is responsible for caller to free it using free() - * @param[out] len Pointer for retrieving length of array + * @param[out] backend_compatibilities Pointer for storing array of compatibilities about all \n + * modules. The data is owned by caller, so it is responsible for caller to free it \n + * using free() + * @param[out] length Pointer for retrieving length of array * @return @c 0 on success, otherwise a negative error value */ -int hal_common_check_backend_compatibility_all(enum hal_common_backend_compatibility **arr_compatibility, int *len); +int hal_common_check_backend_compatibility_all( + enum hal_common_backend_compatibility **backend_compatibilities, int *length); /** * @brief Check compatibility of the given module * @param[in] module HAL module for checking compatibility - * @param[out] compatibility Address for storing compatibility result + * @param[out] backend_compatibility Address for storing compatibility result * @return @c 0 on success, otherwise a negative error value */ int hal_common_check_backend_compatibility(enum hal_module module, - enum hal_common_backend_compatibility *compatibility); + enum hal_common_backend_compatibility *backend_compatibility); #ifdef __cplusplus } diff --git a/src/hal-api-common.c b/src/hal-api-common.c index d0ee175..30e1219 100644 --- a/src/hal-api-common.c +++ b/src/hal-api-common.c @@ -239,7 +239,8 @@ static int __init_backend(struct __hal_module_info *info, void **data, const char *library_name) { int ret; - enum hal_common_backend_compatibility c = HAL_COMMON_BACKEND_COMPATIBILITY_UNKNOWN; + enum hal_common_backend_compatibility compatibility = + HAL_COMMON_BACKEND_COMPATIBILITY_UNKNOWN; if (!info->handle || !info->backend) { _I("%s: Has not yet dlopend backend\n", info->module_name); @@ -251,8 +252,9 @@ static int __init_backend(struct __hal_module_info *info, void **data, return -EINVAL; } - ret = _hal_common_check_backend_compatibility_by_version(info->module, - info->backend->major_version, info->backend->minor_version, &c); + ret = hal_api_cc_check_backend_compatibility_by_version(info->module, + info->backend->major_version, info->backend->minor_version, + &compatibility); if (ret != 0) { /** * Not return but just print warning for now. Need time to @@ -262,7 +264,7 @@ static int __init_backend(struct __hal_module_info *info, void **data, info->module_name, ret); } - if (c == HAL_COMMON_BACKEND_COMPATIBILITY_INCOMPATIBLE) { + if (compatibility == HAL_COMMON_BACKEND_COMPATIBILITY_INCOMPATIBLE) { _E("%s: Incompatible backend version\n", info->module_name); return -EINVAL; } @@ -760,3 +762,17 @@ int hal_common_get_backend_library_names(enum hal_module module, library_count, library_name_size); return (ret < 0) ? ret : 0; } + +EXPORT +int hal_common_check_backend_compatibility_all( + enum hal_common_backend_compatibility **backend_compatibilities, int *length) +{ + return hal_api_cc_check_backend_compatibility_all(backend_compatibilities, length); +} + +EXPORT +int hal_common_check_backend_compatibility(enum hal_module module, + enum hal_common_backend_compatibility *backend_compatibility) +{ + return hal_api_cc_check_backend_compatibility(module, backend_compatibility); +} diff --git a/src/hal-api-compatibility-checker.c b/src/hal-api-compatibility-checker.c index f4b8079..e895cb7 100644 --- a/src/hal-api-compatibility-checker.c +++ b/src/hal-api-compatibility-checker.c @@ -485,8 +485,8 @@ static int load_backend_compatibility(void *data) return -ENODATA; } -EXPORT -int hal_common_check_backend_compatibility_all(enum hal_common_backend_compatibility **arr_compatibility, int *len) +int hal_api_cc_check_backend_compatibility_all( + enum hal_common_backend_compatibility **backend_compatibilities, int *length) { int ret; enum hal_common_backend_compatibility *arr = NULL; @@ -498,10 +498,10 @@ int hal_common_check_backend_compatibility_all(enum hal_common_backend_compatibi if (access(HAL_COMMON_DEFAULT_BACKEND_COMPATIBILITY_PATH, F_OK) != 0) store_backend_compatibility_to_storage(); - if (!arr_compatibility) + if (!backend_compatibilities) return 0; - if (!len) + if (!length) return -EINVAL; arr = calloc(HAL_MODULE_END, sizeof(enum hal_common_backend_compatibility)); @@ -511,23 +511,22 @@ int hal_common_check_backend_compatibility_all(enum hal_common_backend_compatibi for (int i = 0; i < HAL_MODULE_END; ++i) arr[i] = g_compatibility_info[i].compat; - *len = HAL_MODULE_END; - *arr_compatibility = arr; + *length = HAL_MODULE_END; + *backend_compatibilities = arr; arr = NULL; return 0; } -EXPORT -int hal_common_check_backend_compatibility(enum hal_module module, - enum hal_common_backend_compatibility *compatibility) +int hal_api_cc_check_backend_compatibility(enum hal_module module, + enum hal_common_backend_compatibility *backend_compatibility) { int ret; if (module < HAL_MODULE_UNKNOWN || module >= HAL_MODULE_END) return -EINVAL; - if (!compatibility) + if (!backend_compatibility) return -EINVAL; ret = load_backend_compatibility(NULL); @@ -537,14 +536,14 @@ int hal_common_check_backend_compatibility(enum hal_module module, if (access(HAL_COMMON_DEFAULT_BACKEND_COMPATIBILITY_PATH, F_OK) != 0) store_backend_compatibility_to_storage(); - *compatibility = g_compatibility_info[module].compat; + *backend_compatibility = g_compatibility_info[module].compat; return 0; } -int _hal_common_check_backend_compatibility_by_version(enum hal_module module, +int hal_api_cc_check_backend_compatibility_by_version(enum hal_module module, int backend_major, int backend_minor, - enum hal_common_backend_compatibility *compatibility) + enum hal_common_backend_compatibility *backend_compatibility) { int ret; @@ -558,7 +557,7 @@ int _hal_common_check_backend_compatibility_by_version(enum hal_module module, if (ret < 0) return ret; - *compatibility = g_compatibility_info[module].compat; + *backend_compatibility = g_compatibility_info[module].compat; return 0; } diff --git a/src/hal-api-compatibility-checker.h b/src/hal-api-compatibility-checker.h index 59cf097..8e0153b 100644 --- a/src/hal-api-compatibility-checker.h +++ b/src/hal-api-compatibility-checker.h @@ -19,6 +19,12 @@ #include +int hal_api_cc_check_backend_compatibility_all( + enum hal_common_backend_compatibility **backend_compatibilities, int *length); + +int hal_api_cc_check_backend_compatibility(enum hal_module module, + enum hal_common_backend_compatibility *backend_compatibility); + /** * Special variant of checking compatibility, only for internal use. (Workaround) * @@ -26,8 +32,8 @@ * It occurs when __get_backend() is followed by __get_backend_data() within * its subroutine. */ -int _hal_common_check_backend_compatibility_by_version(enum hal_module module, +int hal_api_cc_check_backend_compatibility_by_version(enum hal_module module, int backend_major, int backend_minor, - enum hal_common_backend_compatibility *compatibility); + enum hal_common_backend_compatibility *backend_compatibility); #endif // __HAL_API_COMPATIBILITY_CHECKER_H__