diff options
author | Andreas Eversberg <jolly@eversberg.eu> | 2011-10-03 08:45:19 +0200 |
---|---|---|
committer | Andreas Eversberg <jolly@eversberg.eu> | 2011-10-03 13:01:00 +0200 |
commit | 1ac47658c4956e3c61b450fb4048b5dc85b35c94 (patch) | |
tree | 56e6bfcbecad66ce48a7655a8047f32cb215cc01 | |
parent | 55e7a2e87dc79a936e0993e57f411e33299643cf (diff) |
[WIP] Adding tx callback to lchan_init_lapdm
-rw-r--r-- | include/osmo-bts/bts.h | 2 | ||||
-rw-r--r-- | src/common/bts.c | 7 | ||||
-rw-r--r-- | src/osmo-bts-bb/l1_if.c | 4 | ||||
-rw-r--r-- | src/osmo-bts-bb/oml.c | 2 | ||||
-rw-r--r-- | src/osmo-bts-sysmo/oml.c | 2 |
5 files changed, 11 insertions, 6 deletions
diff --git a/include/osmo-bts/bts.h b/include/osmo-bts/bts.h index 3ea0353e..e6460d45 100644 --- a/include/osmo-bts/bts.h +++ b/include/osmo-bts/bts.h @@ -18,7 +18,7 @@ int trx_link_estab(struct gsm_bts_trx *trx); void bts_new_si(void *arg); void bts_setup_slot(struct gsm_bts_trx_ts *slot, uint8_t comb); -int lchan_init_lapdm(struct gsm_lchan *lchan); +int lchan_init_lapdm(struct gsm_lchan *lchan, osmo_prim_cb cb); int bts_agch_enqueue(struct gsm_bts *bts, struct msgb *msg); struct msgb *bts_agch_dequeue(struct gsm_bts *bts); diff --git a/src/common/bts.c b/src/common/bts.c index da428583..b810c074 100644 --- a/src/common/bts.c +++ b/src/common/bts.c @@ -421,13 +421,14 @@ void bts_new_si(void *arg) #endif } -int lchan_init_lapdm(struct gsm_lchan *lchan) +int lchan_init_lapdm(struct gsm_lchan *lchan, osmo_prim_cb cb) { struct lapdm_channel *lc = &lchan->lapdm_ch; lapdm_channel_init(lc, LAPDM_MODE_BTS); - lapdm_channel_set_flags(lc, LAPDM_ENT_F_POLLING_ONLY); - lapdm_channel_set_l1(lc, NULL, lchan); + if (!cb) + lapdm_channel_set_flags(lc, LAPDM_ENT_F_POLLING_ONLY); + lapdm_channel_set_l1(lc, cb, lchan); lapdm_channel_set_l3(lc, lapdm_rll_tx_cb, lchan); return 0; diff --git a/src/osmo-bts-bb/l1_if.c b/src/osmo-bts-bb/l1_if.c index 77cccac3..184ae628 100644 --- a/src/osmo-bts-bb/l1_if.c +++ b/src/osmo-bts-bb/l1_if.c @@ -169,6 +169,10 @@ static int l1if_signal_cbfn(unsigned int subsys, unsigned int signal, void *hdlr return 0; } +int l1if_data_req_cb(struct osmo_prim_hdr *oph, void *ctx) +{ +} + static int l1if_reset_cnf(struct osmo_l1ctl *l1ctl, struct msgb *msg) { enum baseband_role bb_role = l1ctl->bb_role; diff --git a/src/osmo-bts-bb/oml.c b/src/osmo-bts-bb/oml.c index c812a3a7..194ebc7f 100644 --- a/src/osmo-bts-bb/oml.c +++ b/src/osmo-bts-bb/oml.c @@ -247,7 +247,7 @@ int lchan_activate(struct gsm_lchan *lchan) #endif lchan->state = LCHAN_S_ACT_REQ; - lchan_init_lapdm(lchan); + lchan_init_lapdm(lchan, l1if_data_req_cb); return 0; } diff --git a/src/osmo-bts-sysmo/oml.c b/src/osmo-bts-sysmo/oml.c index 69d0147e..9239d4a2 100644 --- a/src/osmo-bts-sysmo/oml.c +++ b/src/osmo-bts-sysmo/oml.c @@ -611,7 +611,7 @@ int lchan_activate(struct gsm_lchan *lchan) } lchan->state = LCHAN_S_ACT_REQ; - lchan_init_lapdm(lchan); + lchan_init_lapdm(lchan, NULL); return 0; } |