From 7501d3816cbdc700bc4ebaeee29127b52318a333 Mon Sep 17 00:00:00 2001 From: Andrzej Kaczmarek Date: Thu, 24 May 2018 10:58:52 +0200 Subject: [PATCH] porting: Add API to run an event instead of running an eventq This makes more sense since now we have API which can just fire callback associated with event. Running eventq is just getting an event from queue and then running it. --- nimble/controller/src/ble_ll.c | 6 +++++- nimble/include/nimble/nimble_npl.h | 4 ++-- porting/npl/dummy/src/npl_os_dummy.c | 2 +- porting/npl/freertos/include/nimble/nimble_npl_os.h | 7 +------ porting/npl/mynewt/include/nimble/nimble_npl_os.h | 4 ++-- 5 files changed, 11 insertions(+), 12 deletions(-) diff --git a/nimble/controller/src/ble_ll.c b/nimble/controller/src/ble_ll.c index 87317eccd..d1d2a2c7d 100644 --- a/nimble/controller/src/ble_ll.c +++ b/nimble/controller/src/ble_ll.c @@ -1088,6 +1088,8 @@ ble_ll_event_comp_pkts(struct ble_npl_event *ev) void ble_ll_task(void *arg) { + struct ble_npl_event *ev; + /* Init ble phy */ ble_phy_init(); @@ -1100,7 +1102,9 @@ ble_ll_task(void *arg) ble_ll_rand_start(); while (1) { - ble_npl_eventq_run(&g_ble_ll_data.ll_evq); + ev = ble_npl_eventq_get(&g_ble_ll_data.ll_evq, BLE_NPL_TIME_FOREVER); + assert(ev); + ble_npl_event_run(ev); } } diff --git a/nimble/include/nimble/nimble_npl.h b/nimble/include/nimble/nimble_npl.h index fd1867ac0..9757e1b69 100644 --- a/nimble/include/nimble/nimble_npl.h +++ b/nimble/include/nimble/nimble_npl.h @@ -76,8 +76,6 @@ void ble_npl_eventq_put(struct ble_npl_eventq *evq, struct ble_npl_event *ev); void ble_npl_eventq_remove(struct ble_npl_eventq *evq, struct ble_npl_event *ev); -void ble_npl_eventq_run(struct ble_npl_eventq *evq); - void ble_npl_event_init(struct ble_npl_event *ev, ble_npl_event_fn *fn, void *arg); @@ -89,6 +87,8 @@ void ble_npl_event_set_arg(struct ble_npl_event *ev, void *arg); bool ble_npl_eventq_is_empty(struct ble_npl_eventq *evq); +void ble_npl_event_run(struct ble_npl_event *ev); + /* * Mutexes */ diff --git a/porting/npl/dummy/src/npl_os_dummy.c b/porting/npl/dummy/src/npl_os_dummy.c index 48a28741c..90d37da5b 100644 --- a/porting/npl/dummy/src/npl_os_dummy.c +++ b/porting/npl/dummy/src/npl_os_dummy.c @@ -62,7 +62,7 @@ ble_npl_eventq_remove(struct ble_npl_eventq *evq, } void -ble_npl_eventq_run(struct ble_npl_eventq *evq) +ble_npl_event_run(struct ble_npl_event *ev) { } diff --git a/porting/npl/freertos/include/nimble/nimble_npl_os.h b/porting/npl/freertos/include/nimble/nimble_npl_os.h index 9c0b5849b..ca1c2e5cb 100644 --- a/porting/npl/freertos/include/nimble/nimble_npl_os.h +++ b/porting/npl/freertos/include/nimble/nimble_npl_os.h @@ -118,13 +118,8 @@ ble_npl_eventq_remove(struct ble_npl_eventq *evq, struct ble_npl_event *ev) } static inline void -ble_npl_eventq_run(struct ble_npl_eventq *evq) +ble_npl_event_run(struct ble_npl_event *ev) { - struct ble_npl_event *ev; - - ev = ble_npl_eventq_get(evq, BLE_NPL_TIME_FOREVER); - assert(ev->fn != NULL); - ev->fn(ev); } diff --git a/porting/npl/mynewt/include/nimble/nimble_npl_os.h b/porting/npl/mynewt/include/nimble/nimble_npl_os.h index de7df5cd4..e1c670010 100644 --- a/porting/npl/mynewt/include/nimble/nimble_npl_os.h +++ b/porting/npl/mynewt/include/nimble/nimble_npl_os.h @@ -110,9 +110,9 @@ ble_npl_eventq_remove(struct ble_npl_eventq *evq, } static inline void -ble_npl_eventq_run(struct ble_npl_eventq *evq) +ble_npl_event_run(struct ble_npl_event *ev) { - os_eventq_run(&evq->evq); + ev->ev.ev_cb(&ev->ev); } static inline bool