aboutsummaryrefslogtreecommitdiffstats
path: root/src/osmo-bts-sysmo/misc/sysmobts_par.c
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2013-10-04 18:26:56 +0200
committerHarald Welte <laforge@gnumonks.org>2013-10-04 18:27:16 +0200
commitff41a47c65958f00f159f7d74083f1ff6b190283 (patch)
treef04c005aaeac2c16d3c8532bd9a8f1f2fe4f7239 /src/osmo-bts-sysmo/misc/sysmobts_par.c
parentad89cd978a220406a58e9a00562438d9eac2cf45 (diff)
sysmobts_par: support for negative parameters
by splitting the rerutn code/status from the actual value, we support negative values to be stored in the EEPROM
Diffstat (limited to 'src/osmo-bts-sysmo/misc/sysmobts_par.c')
-rw-r--r--src/osmo-bts-sysmo/misc/sysmobts_par.c19
1 files changed, 9 insertions, 10 deletions
diff --git a/src/osmo-bts-sysmo/misc/sysmobts_par.c b/src/osmo-bts-sysmo/misc/sysmobts_par.c
index 3399e4ff..bab6bf56 100644
--- a/src/osmo-bts-sysmo/misc/sysmobts_par.c
+++ b/src/osmo-bts-sysmo/misc/sysmobts_par.c
@@ -83,9 +83,8 @@ static int set_eeprom(struct sysmobts_eeprom *ee)
return 0;
}
-int sysmobts_par_get_int(enum sysmobts_par par)
+int sysmobts_par_get_int(enum sysmobts_par par, int *ret)
{
- int ret;
struct sysmobts_eeprom *ee = get_eeprom(0);
if (!ee)
@@ -96,31 +95,31 @@ int sysmobts_par_get_int(enum sysmobts_par par)
switch (par) {
case SYSMOBTS_PAR_CLK_FACTORY:
- ret = ee->clk_cal_fact;
+ *ret = ee->clk_cal_fact;
break;
case SYSMOBTS_PAR_TEMP_DIG_MAX:
- ret = ee->temp1_max;
+ *ret = ee->temp1_max;
break;
case SYSMOBTS_PAR_TEMP_RF_MAX:
- ret = ee->temp2_max;
+ *ret = ee->temp2_max;
break;
case SYSMOBTS_PAR_SERNR:
- ret = ee->serial_nr;
+ *ret = ee->serial_nr;
break;
case SYSMOBTS_PAR_HOURS:
- ret = ee->operational_hours;
+ *ret = ee->operational_hours;
break;
case SYSMOBTS_PAR_BOOTS:
- ret = ee->boot_count;
+ *ret = ee->boot_count;
break;
default:
return -EINVAL;
}
- return ret;
+ return 0;
}
-int sysmobts_par_set_int(enum sysmobts_par par, unsigned int val)
+int sysmobts_par_set_int(enum sysmobts_par par, int val)
{
struct sysmobts_eeprom *ee = get_eeprom(1);