From: Youngjae Cho Date: Thu, 2 May 2024 03:10:41 +0000 (+0900) Subject: halcc: Fix not to use min-max semantic for minor versioning X-Git-Tag: accepted/tizen/unified/20240611.122614~12 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=95a1133c7dd550c0d629677fb3f4ff8ae845f5d3;p=platform%2Fhal%2Fapi%2Fcommon.git halcc: Fix not to use min-max semantic for minor versioning Removed use of version format of MAJOR.MIN_MINOR-MAX_MINOR. It has changed to have only form of MAJOR.MINOR. Change-Id: I3fa0e0220a97f7a5dcb2c817b291a4fbd96fb5fa Signed-off-by: Youngjae Cho --- diff --git a/src/hal-api-compatibility-checker-object.c b/src/hal-api-compatibility-checker-object.c index 57f0754..9715c44 100644 --- a/src/hal-api-compatibility-checker-object.c +++ b/src/hal-api-compatibility-checker-object.c @@ -32,15 +32,7 @@ typedef struct halcc_version { int major; - union { - /** - * Can be used interchangeably. - * min_minor might be useful if max_minor is specified. - */ - int minor; - int min_minor; - }; - int max_minor; + int minor; } halcc_version; typedef struct halcc_interface { @@ -655,7 +647,7 @@ __validate_hal_dependency_state(halcc_manifest *manifest, halcc_hal *hal) int ret; halcc_hal_get_name(dependency, &dependency_hal_name); - halcc_hal_get_version(dependency, &dependency_hal_major, &dependency_hal_minor, NULL); + halcc_hal_get_version(dependency, &dependency_hal_major, &dependency_hal_minor); ret = halcc_manifest_find_hal_forward_compatible(manifest, dependency_hal_name, dependency_hal_major, dependency_hal_minor, @@ -861,7 +853,7 @@ int halcc_hal_get_name(halcc_hal *hal, const char **hal_name) return 0; } -int halcc_hal_set_version(halcc_hal *hal, int major, int min_minor, int max_minor) +int halcc_hal_set_version(halcc_hal *hal, int major, int minor) { if (!hal) { printf("Invalid parameter\n"); @@ -869,23 +861,20 @@ int halcc_hal_set_version(halcc_hal *hal, int major, int min_minor, int max_mino } hal->version.major = major; - hal->version.min_minor = min_minor; - hal->version.max_minor = max_minor; + hal->version.minor = minor; return 0; } -int halcc_hal_get_version(halcc_hal *hal, int *major, int *min_minor, int *max_minor) +int halcc_hal_get_version(halcc_hal *hal, int *major, int *minor) { - if (!hal || !major || !min_minor) { + if (!hal || !major || !minor) { printf("Invalid parameter\n"); return -EINVAL; } *major = hal->version.major; - *min_minor = hal->version.min_minor; - if (max_minor) - *max_minor = hal->version.max_minor; + *minor = hal->version.minor; return 0; } diff --git a/src/hal-api-compatibility-checker-object.h b/src/hal-api-compatibility-checker-object.h index c18fa9c..c5d22ad 100644 --- a/src/hal-api-compatibility-checker-object.h +++ b/src/hal-api-compatibility-checker-object.h @@ -84,8 +84,8 @@ int halcc_hal_new(halcc_hal **hal); void halcc_hal_free(halcc_hal *hal); int halcc_hal_set_name(halcc_hal *hal, const char *hal_name); int halcc_hal_get_name(halcc_hal *hal, const char **hal_name); -int halcc_hal_set_version(halcc_hal *hal, int major, int min_minor, int max_minor); -int halcc_hal_get_version(halcc_hal *hal, int *major, int *min_minor, int *max_minor); +int halcc_hal_set_version(halcc_hal *hal, int major, int minor); +int halcc_hal_get_version(halcc_hal *hal, int *major, int *minor); int halcc_hal_set_transport(halcc_hal *hal, halcc_transport_e transport); int halcc_hal_get_transport(halcc_hal *hal, halcc_transport_e *transport); int halcc_hal_add_dependency(halcc_hal *hal, halcc_hal *dependency); diff --git a/src/hal-api-compatibility-checker-parser.c b/src/hal-api-compatibility-checker-parser.c index 4146191..50f1a4c 100644 --- a/src/hal-api-compatibility-checker-parser.c +++ b/src/hal-api-compatibility-checker-parser.c @@ -78,24 +78,17 @@ static int parse_hal(xmlNode *node, halcc_hal *hal) if (ret != 0) printf("Failed to halcc_hal_set_name(), name=%s, ret=%d\n", name, ret); } else if (xmlStrEqual(child->name, "version")) { - int major, min_minor, max_minor; + int major, minor; int scanned; __xmlchar__ xmlChar *version = xmlNodeGetContent(child); - scanned = sscanf(version, "%d.%d-%d", &major, &min_minor, &max_minor); - switch (scanned) { - case 2: // 3.5 is equal to 3.5-5 - max_minor = min_minor; - ret = halcc_hal_set_version(hal, major, min_minor, max_minor); - break; - case 3: // 3.5-8 - ret = halcc_hal_set_version(hal, major, min_minor, max_minor); - break; - default: - ret = -EINVAL; - break; + scanned = sscanf(version, "%d.%d", &major, &minor); + if (scanned != 2) { + printf("Invalid version format %s\n", version); + continue; } + ret = halcc_hal_set_version(hal, major, minor); if (ret != 0) printf("Failed to halcc_hal_set_version(), ret=%d\n", ret); } else if (xmlStrEqual(child->name, "transport")) { @@ -247,7 +240,7 @@ static int parse_manifest(xmlNode *node, halcc_manifest *manifest) } halcc_hal_get_name(h, &hal_name); - halcc_hal_get_version(h, &hal_major, &hal_minor, NULL); + halcc_hal_get_version(h, &hal_major, &hal_minor); if (halcc_manifest_find_hal(manifest, hal_name, hal_major, hal_minor, NULL) == 0) { halcc_hal_free(h); diff --git a/src/hal-api-compatibility-checker.c b/src/hal-api-compatibility-checker.c index 3496017..4a618f6 100644 --- a/src/hal-api-compatibility-checker.c +++ b/src/hal-api-compatibility-checker.c @@ -201,7 +201,7 @@ static void make_compatibility_manifest_info(void *data, void *user_data) * } */ - if (halcc_hal_get_version(hal, &manifest_major, &manifest_minor, NULL) < 0) { + if (halcc_hal_get_version(hal, &manifest_major, &manifest_minor) < 0) { error_desc = "Invalid manifest version"; goto out; } diff --git a/tests/unittest/test-hal-compatibility-checker.cc b/tests/unittest/test-hal-compatibility-checker.cc index 960629c..8864b09 100644 --- a/tests/unittest/test-hal-compatibility-checker.cc +++ b/tests/unittest/test-hal-compatibility-checker.cc @@ -211,7 +211,7 @@ TEST_F(HalccObjectTest, manifest_find_hal_steal_success) ASSERT_EQ(ret, 0); ASSERT_STREQ(hal_name, "hal.something"); - ret = halcc_hal_get_version(hal, &major, &minor, NULL); + ret = halcc_hal_get_version(hal, &major, &minor); ASSERT_EQ(ret, 0); ASSERT_EQ(major, 2); ASSERT_EQ(minor, 34); @@ -230,7 +230,7 @@ TEST_F(HalccObjectTest, manifest_find_hal_steal_success) ASSERT_EQ(ret, 0); ASSERT_STREQ(hal_name, "hal.something"); - ret = halcc_hal_get_version(hal, &major, &minor, NULL); + ret = halcc_hal_get_version(hal, &major, &minor); ASSERT_EQ(ret, 0); ASSERT_EQ(major, 2); ASSERT_EQ(minor, 34); @@ -253,7 +253,7 @@ TEST_F(HalccObjectTest, manifest_find_multiple_hal_success) ASSERT_EQ(ret, 0); ASSERT_STREQ(hal_name, "HAL_MODULE_BAR"); - ret = halcc_hal_get_version(hal, &major, &minor, NULL); + ret = halcc_hal_get_version(hal, &major, &minor); ASSERT_EQ(ret, 0); ASSERT_EQ(major, 2); ASSERT_EQ(minor, 2);