aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/osmo-bts-litecell15/main.c21
-rw-r--r--src/osmo-bts-litecell15/misc/lc15bts_bid.c22
-rw-r--r--src/osmo-bts-litecell15/misc/lc15bts_bid.h1
-rw-r--r--src/osmo-bts-litecell15/misc/lc15bts_mgr_nl.c17
4 files changed, 26 insertions, 35 deletions
diff --git a/src/osmo-bts-litecell15/main.c b/src/osmo-bts-litecell15/main.c
index 030c3efd..de175e34 100644
--- a/src/osmo-bts-litecell15/main.c
+++ b/src/osmo-bts-litecell15/main.c
@@ -151,25 +151,8 @@ void bts_model_print_help()
static void print_hwversion()
{
- int rev;
- int model;
- static char model_name[64] = {0, };
-
- snprintf(model_name, sizeof(model_name), "NuRAN Litecell 1.5 BTS");
-
- rev = lc15bts_rev_get();
- if (rev >= 0) {
- snprintf(model_name, sizeof(model_name), "%s Rev %c",
- model_name, (char)rev);
- }
-
- model = lc15bts_model_get();
- if (model >= 0) {
- snprintf(model_name, sizeof(model_name), "%s (%05X)",
- model_name, model);
- }
-
- printf(model_name);
+ printf(get_hwversion_desc());
+ printf("\n");
}
int bts_model_handle_options(int argc, char **argv)
diff --git a/src/osmo-bts-litecell15/misc/lc15bts_bid.c b/src/osmo-bts-litecell15/misc/lc15bts_bid.c
index 7f278bff..9284b62e 100644
--- a/src/osmo-bts-litecell15/misc/lc15bts_bid.c
+++ b/src/osmo-bts-litecell15/misc/lc15bts_bid.c
@@ -138,3 +138,25 @@ int lc15bts_option_get(enum lc15bts_option_type type)
return option;
}
+
+const char* get_hwversion_desc()
+{
+ int rev;
+ int model;
+ size_t len;
+ static char model_name[64] = {0, };
+ len = snprintf(model_name, sizeof(model_name), "NuRAN Litecell 1.5 BTS");
+
+ rev = lc15bts_rev_get();
+ if (rev >= 0) {
+ len += snprintf(model_name + len, sizeof(model_name) - len,
+ " Rev %c", (char)rev);
+ }
+
+ model = lc15bts_model_get();
+ if (model >= 0) {
+ snprintf(model_name + len, sizeof(model_name) - len,
+ "%s (%05X)", model_name, model);
+ }
+ return model_name;
+}
diff --git a/src/osmo-bts-litecell15/misc/lc15bts_bid.h b/src/osmo-bts-litecell15/misc/lc15bts_bid.h
index b320e117..a71fdd7e 100644
--- a/src/osmo-bts-litecell15/misc/lc15bts_bid.h
+++ b/src/osmo-bts-litecell15/misc/lc15bts_bid.h
@@ -47,5 +47,6 @@ enum lc15bts_gsm_band {
int lc15bts_rev_get(void);
int lc15bts_model_get(void);
int lc15bts_option_get(enum lc15bts_option_type type);
+const char* get_hwversion_desc();
#endif
diff --git a/src/osmo-bts-litecell15/misc/lc15bts_mgr_nl.c b/src/osmo-bts-litecell15/misc/lc15bts_mgr_nl.c
index 549c1793..3a617dd7 100644
--- a/src/osmo-bts-litecell15/misc/lc15bts_mgr_nl.c
+++ b/src/osmo-bts-litecell15/misc/lc15bts_mgr_nl.c
@@ -104,8 +104,6 @@ static void respond_to(struct sockaddr_in *src, struct osmo_fd *fd,
if (!fetched_info) {
int fd_eth;
int serno;
- int model;
- int rev;
/* fetch the MAC */
fd_eth = open(ETH0_ADDR_SYSFS, O_RDONLY);
@@ -119,20 +117,7 @@ static void respond_to(struct sockaddr_in *src, struct osmo_fd *fd,
lc15bts_par_get_int(tall_mgr_ctx, LC15BTS_PAR_SERNR, &serno);
snprintf(ser_str, sizeof(ser_str), "%d", serno);
- /* fetch the model and trx number */
- snprintf(model_name, sizeof(model_name), "Litecell 1.5 BTS");
-
- rev = lc15bts_rev_get();
- if (rev >= 0) {
- snprintf(model_name, sizeof(model_name), "%s Rev %c",
- model_name, rev);
- }
-
- model = lc15bts_model_get();
- if (model >= 0) {
- snprintf(model_name, sizeof(model_name), "%s (%05X)",
- model_name, model);
- }
+ strncpy(model_name, get_hwversion_desc(), sizeof(model_name)-1);
fetched_info = 1;
}