Cosmetic fixes around SI generation

* add missing spaces after comma and minus
* prevent useless recursion calls
* mark static functions as such
* name and explicitly use enum for ARFCN range

Change-Id: If5b717445c8b24668bad0e78fd5bb51f66c4d18e
changes/88/3188/1
Maxim Suraev 6 years ago
parent fa9abaca26
commit 34be86b93c
  1. 6
      openbsc/include/openbsc/arfcn_range_encode.h
  2. 1
      openbsc/include/openbsc/system_information.h
  3. 12
      openbsc/src/libbsc/arfcn_range_encode.c
  4. 2
      openbsc/src/libbsc/bsc_init.c
  5. 2
      openbsc/src/libbsc/system_information.c

@ -3,7 +3,7 @@
#include <stdint.h>
enum {
enum gsm48_range {
ARFCN_RANGE_INVALID = -1,
ARFCN_RANGE_128 = 127,
ARFCN_RANGE_256 = 255,
@ -14,8 +14,8 @@ enum {
#define RANGE_ENC_MAX_ARFCNS 29
int range_enc_determine_range(const int *arfcns, int size, int *f0_out);
int range_enc_arfcns(const int rng, const int *arfcns, int sze, int *out, int idx);
int range_enc_find_index(const int rng, const int *arfcns, int size);
int range_enc_arfcns(enum gsm48_range rng, const int *arfcns, int sze, int *out, int idx);
int range_enc_find_index(enum gsm48_range rng, const int *arfcns, int size);
int range_enc_filter_arfcns(int *arfcns, const int sze, const int f0, int *f0_included);
int range_enc_range128(uint8_t *chan_list, int f0, int *w);

@ -6,7 +6,6 @@
struct gsm_bts;
int gsm_generate_si(struct gsm_bts *bts, enum osmo_sysinfo_type type);
uint16_t encode_fdd(uint16_t scramble, bool diversity);
unsigned uarfcn_size(const uint16_t *u, const uint16_t *sc, size_t u_len);
unsigned earfcn_size(const struct osmo_earfcn_si2q *e);
unsigned range1024_p(unsigned n);

@ -27,7 +27,7 @@
#include <osmocom/core/utils.h>
int greatest_power_of_2_lesser_or_equal_to(int index)
static inline int greatest_power_of_2_lesser_or_equal_to(int index)
{
int power_of_2 = 1;
@ -52,7 +52,7 @@ static inline int mod(int data, int range)
* equally size partition for the given range. Return -1 if
* no such partition exists.
*/
int range_enc_find_index(const int range, const int *freqs, const int size)
int range_enc_find_index(enum gsm48_range range, const int *freqs, const int size)
{
int i, j, n;
@ -79,7 +79,7 @@ int range_enc_find_index(const int range, const int *freqs, const int size)
* \param size The size of the list of ARFCNs
* \param out Place to store the W(i) output.
*/
int range_enc_arfcns(const int range,
int range_enc_arfcns(enum gsm48_range range,
const int *arfcns, int size, int *out,
const int index)
{
@ -127,9 +127,11 @@ int range_enc_arfcns(const int range,
* Now recurse and we need to make this iterative... but as the
* tree is balanced the stack will not be too deep.
*/
range_enc_arfcns(range / 2, arfcns_left, l_size,
if (l_size)
range_enc_arfcns(range / 2, arfcns_left, l_size,
out, index + greatest_power_of_2_lesser_or_equal_to(index + 1));
range_enc_arfcns((range -1 ) / 2, arfcns_right, r_size,
if (r_size)
range_enc_arfcns((range - 1) / 2, arfcns_right, r_size,
out, index + (2 * greatest_power_of_2_lesser_or_equal_to(index + 1)));
return 0;
}

@ -193,7 +193,7 @@ int gsm_bts_trx_set_system_infos(struct gsm_bts_trx *trx)
return 0;
err_out:
LOGP(DRR, LOGL_ERROR, "Cannot generate SI%s for BTS %u: error <%s>,"
LOGP(DRR, LOGL_ERROR, "Cannot generate SI%s for BTS %u: error <%s>, "
"most likely a problem with neighbor cell list generation\n",
get_value_string(osmo_sitype_strs, i), bts->nr, strerror(-rc));
return rc;

@ -149,7 +149,7 @@ bool si2q_size_check(const struct gsm_bts *bts)
}
/* 3GPP TS 44.018, Table 9.1.54.1 - prepend diversity bit to scrambling code */
uint16_t encode_fdd(uint16_t scramble, bool diversity)
static inline uint16_t encode_fdd(uint16_t scramble, bool diversity)
{
if (diversity)
return scramble | (1 << 9);

Loading…
Cancel
Save