summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMary Ruthven <mruthven@chromium.org>2021-11-09 13:36:43 -0600
committerCommit Bot <commit-bot@chromium.org>2021-11-18 04:46:17 +0000
commitb7256c832549b598c9a956f7856ba0e3cf8ea9b6 (patch)
treea76b5fd33bf1fe1b0b1cff6cc4cae30d5cfbfd5c
parent2869cee54f2aa53970234a38a7714ad7d82fe4d7 (diff)
downloadchrome-ec-b7256c832549b598c9a956f7856ba0e3cf8ea9b6.tar.gz
Revert "version: Make ver_get_num_commits work for on-flash images"
This reverts commit 91d4fec4606e2145d522274c786d46d12721cf9a. BUG=b:200823466 TEST=make buildall -j Change-Id: I3859dd2069397eaeb8c6ae361c7663b32b53e01f Signed-off-by: Mary Ruthven <mruthven@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3273359 Reviewed-by: Vadim Sukhomlinov <sukhomlinov@chromium.org>
-rw-r--r--common/system.c3
-rw-r--r--common/version.c43
-rw-r--r--include/system.h8
-rw-r--r--include/version.h7
4 files changed, 19 insertions, 42 deletions
diff --git a/common/system.c b/common/system.c
index 411be8d077..67185aa512 100644
--- a/common/system.c
+++ b/common/system.c
@@ -667,7 +667,8 @@ uint32_t flash_get_rw_offset(enum system_image_copy_t copy)
return CONFIG_EC_PROTECTED_STORAGE_OFF + CONFIG_RO_STORAGE_OFF;
}
-const struct image_data *system_get_image_data(enum system_image_copy_t copy)
+static const struct image_data *system_get_image_data(
+ enum system_image_copy_t copy)
{
static struct image_data data;
diff --git a/common/version.c b/common/version.c
index 13a200b1b5..962f4621e8 100644
--- a/common/version.c
+++ b/common/version.c
@@ -9,8 +9,6 @@
#include "common.h"
#include "compile_time_macros.h"
#include "ec_version.h"
-#include "stddef.h"
-#include "system.h"
#include "version.h"
BUILD_ASSERT(CONFIG_ROLLBACK_VERSION >= 0);
@@ -30,15 +28,19 @@ const struct image_data __keep current_image_data
const char build_info[] __keep __attribute__((section(".rodata.buildinfo"))) =
VERSION " " DATE " " BUILDER;
-static int get_num_commits(const struct image_data *data)
+uint32_t ver_get_numcommits(void)
{
+ int i;
int numperiods = 0;
- int ret = 0;
- size_t i;
-
- /* Version string format is name_major.branch.commits-hash[dirty] */
- for (i = 0; i < sizeof(data->version); i++) {
- if (data->version[i] == '.') {
+ uint32_t ret = 0;
+
+ /*
+ * Version string is formatted like:
+ * name_major.branch.numcommits-hash[dirty]
+ * we want to return the numcommits as an int.
+ */
+ for (i = 0; i < 32; i++) {
+ if (current_image_data.version[i] == '.') {
numperiods++;
if (numperiods == 2)
break;
@@ -46,27 +48,12 @@ static int get_num_commits(const struct image_data *data)
}
i++;
- for (; i < sizeof(data->version); i++) {
- int d;
- if (data->version[i] == '-')
+ for (; i < 32; i++) {
+ if (current_image_data.version[i] == '-')
break;
ret *= 10;
- d = data->version[i] - '0';
- if (d < 0 || d > 9)
- return 0;
- ret += d;
+ ret += current_image_data.version[i] - '0';
}
- return (i == sizeof(data->version) ? 0 : ret);
-
-}
-
-int ver_get_num_commits(enum system_image_copy_t copy)
-{
- const struct image_data *data;
- if (IS_ENABLED(CONFIG_COMMON_RUNTIME))
- data = system_get_image_data(copy);
- else
- data = &current_image_data;
- return data ? get_num_commits(data) : 0;
+ return (i == 32 ? 0 : ret);
}
diff --git a/include/system.h b/include/system.h
index 00fa6f718c..6cb0ba1e4c 100644
--- a/include/system.h
+++ b/include/system.h
@@ -200,14 +200,6 @@ int system_run_image_copy(enum system_image_copy_t copy);
int32_t system_get_rollback_version(enum system_image_copy_t copy);
/**
- * Get the image data of an image
- *
- * @param copy Image copy to get the version of.
- * @return Image data
- */
-const struct image_data *system_get_image_data(enum system_image_copy_t copy);
-
-/**
* Get the version string for an image
*
* @param copy Image copy to get version from, or SYSTEM_IMAGE_UNKNOWN
diff --git a/include/version.h b/include/version.h
index 71e215c8e2..d11ac7d9d9 100644
--- a/include/version.h
+++ b/include/version.h
@@ -9,7 +9,6 @@
#define __CROS_EC_VERSION_H
#include "common.h"
-#include "system.h"
#define CROS_EC_IMAGE_DATA_COOKIE1 0xce778899
#define CROS_EC_IMAGE_DATA_COOKIE2 0xceaabbdd
@@ -28,9 +27,7 @@ extern const char __image_data_offset[];
extern const void *__image_size;
/**
- * Get the number of commits of an image
- *
- * @return Number of commits in integer or 0 on error
+ * Get the number of commits field from version string.
*/
-int ver_get_num_commits(enum system_image_copy_t copy);
+uint32_t ver_get_numcommits(void);
#endif /* __CROS_EC_VERSION_H */