mirror of https://gerrit.osmocom.org/libosmocore
rsl: make rsl_dec_chan_nr() more readable, use RSL_CHAN_NR_MASK
Change-Id: I1650e3b02e79461e42499268fa8ed30bff667489
This commit is contained in:
parent
15596899a3
commit
57850ae188
|
@ -187,10 +187,19 @@ int rsl_dec_chan_nr(uint8_t chan_nr, uint8_t *type, uint8_t *subch, uint8_t *tim
|
||||||
{
|
{
|
||||||
*timeslot = chan_nr & 0x7;
|
*timeslot = chan_nr & 0x7;
|
||||||
|
|
||||||
if ((chan_nr & 0xf8) == RSL_CHAN_Bm_ACCHs) {
|
switch (chan_nr & RSL_CHAN_NR_MASK) {
|
||||||
*type = RSL_CHAN_Bm_ACCHs;
|
case RSL_CHAN_Bm_ACCHs:
|
||||||
|
case RSL_CHAN_BCCH:
|
||||||
|
case RSL_CHAN_RACH:
|
||||||
|
case RSL_CHAN_PCH_AGCH:
|
||||||
|
case RSL_CHAN_OSMO_PDCH:
|
||||||
|
case RSL_CHAN_OSMO_CBCH4:
|
||||||
|
case RSL_CHAN_OSMO_CBCH8:
|
||||||
|
*type = chan_nr & RSL_CHAN_NR_MASK;
|
||||||
*subch = 0;
|
*subch = 0;
|
||||||
} else if ((chan_nr & 0xf0) == RSL_CHAN_Lm_ACCHs) {
|
break;
|
||||||
|
default:
|
||||||
|
if ((chan_nr & 0xf0) == RSL_CHAN_Lm_ACCHs) {
|
||||||
*type = RSL_CHAN_Lm_ACCHs;
|
*type = RSL_CHAN_Lm_ACCHs;
|
||||||
*subch = (chan_nr >> 3) & 0x1;
|
*subch = (chan_nr >> 3) & 0x1;
|
||||||
} else if ((chan_nr & 0xe0) == RSL_CHAN_SDCCH4_ACCH) {
|
} else if ((chan_nr & 0xe0) == RSL_CHAN_SDCCH4_ACCH) {
|
||||||
|
@ -199,26 +208,9 @@ int rsl_dec_chan_nr(uint8_t chan_nr, uint8_t *type, uint8_t *subch, uint8_t *tim
|
||||||
} else if ((chan_nr & 0xc0) == RSL_CHAN_SDCCH8_ACCH) {
|
} else if ((chan_nr & 0xc0) == RSL_CHAN_SDCCH8_ACCH) {
|
||||||
*type = RSL_CHAN_SDCCH8_ACCH;
|
*type = RSL_CHAN_SDCCH8_ACCH;
|
||||||
*subch = (chan_nr >> 3) & 0x7;
|
*subch = (chan_nr >> 3) & 0x7;
|
||||||
} else if ((chan_nr & 0xf8) == RSL_CHAN_BCCH) {
|
|
||||||
*type = RSL_CHAN_BCCH;
|
|
||||||
*subch = 0;
|
|
||||||
} else if ((chan_nr & 0xf8) == RSL_CHAN_RACH) {
|
|
||||||
*type = RSL_CHAN_RACH;
|
|
||||||
*subch = 0;
|
|
||||||
} else if ((chan_nr & 0xf8) == RSL_CHAN_PCH_AGCH) {
|
|
||||||
*type = RSL_CHAN_PCH_AGCH;
|
|
||||||
*subch = 0;
|
|
||||||
} else if ((chan_nr & 0xf8) == RSL_CHAN_OSMO_PDCH) {
|
|
||||||
*type = RSL_CHAN_OSMO_PDCH;
|
|
||||||
*subch = 0;
|
|
||||||
} else if ((chan_nr & 0xf8) == RSL_CHAN_OSMO_CBCH4) {
|
|
||||||
*type = RSL_CHAN_OSMO_CBCH4;
|
|
||||||
*subch = 0;
|
|
||||||
} else if ((chan_nr & 0xf8) == RSL_CHAN_OSMO_CBCH8) {
|
|
||||||
*type = RSL_CHAN_OSMO_CBCH8;
|
|
||||||
*subch = 0;
|
|
||||||
} else
|
} else
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue