diff options
author | Harald Welte <laforge@gnumonks.org> | 2013-10-04 18:26:56 +0200 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2013-10-04 18:27:16 +0200 |
commit | ff41a47c65958f00f159f7d74083f1ff6b190283 (patch) | |
tree | f04c005aaeac2c16d3c8532bd9a8f1f2fe4f7239 /src/osmo-bts-sysmo/misc/sysmobts_par.c | |
parent | ad89cd978a220406a58e9a00562438d9eac2cf45 (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.c | 19 |
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); |