From c8b050ee771c33fb6562b663674b4b8b4068b560 Mon Sep 17 00:00:00 2001 From: Vinayak Kariappa Chettimada Date: Thu, 19 Mar 2020 17:37:00 +0530 Subject: [PATCH] Bluetooth: controller: split: cond compile Ext Adv without Aux chan Conditional compile Extended Advertising without Auxiliary channel PDU use. Signed-off-by: Vinayak Kariappa Chettimada --- subsys/bluetooth/controller/ll_sw/ull_adv.c | 12 +++++++++--- subsys/bluetooth/controller/ll_sw/ull_adv_aux.c | 13 +++++++++++++ 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/subsys/bluetooth/controller/ll_sw/ull_adv.c b/subsys/bluetooth/controller/ll_sw/ull_adv.c index 3b6fa6940dd..3f68eb64495 100644 --- a/subsys/bluetooth/controller/ll_sw/ull_adv.c +++ b/subsys/bluetooth/controller/ll_sw/ull_adv.c @@ -247,11 +247,13 @@ uint8_t ll_adv_params_set(uint16_t interval, uint8_t adv_type, ptr += sizeof(struct ext_adv_adi); } +#if (CONFIG_BT_CTLR_ADV_AUX_SET > 0) /* AuxPtr flag */ if (_h.aux_ptr) { h->aux_ptr = 1; ptr += sizeof(struct ext_adv_aux_ptr); } +#endif /* (CONFIG_BT_CTLR_ADV_AUX_SET > 0) */ /* No SyncInfo flag in primary channel PDU */ @@ -303,6 +305,7 @@ uint8_t ll_adv_params_set(uint16_t interval, uint8_t adv_type, /* No SyncInfo in primary channel PDU */ +#if (CONFIG_BT_CTLR_ADV_AUX_SET > 0) /* AuxPtr */ if (h->aux_ptr) { struct ext_adv_aux_ptr *aux; @@ -319,6 +322,7 @@ uint8_t ll_adv_params_set(uint16_t interval, uint8_t adv_type, aux->phy = find_lsb_set(phy_s) - 1; } adv->lll.phy_s = phy_s; +#endif /* (CONFIG_BT_CTLR_ADV_AUX_SET > 0) */ /* ADI */ if (h->adi) { @@ -467,7 +471,7 @@ uint8_t ll_adv_enable(uint8_t handle, uint8_t enable) struct ll_adv_sync_set *sync = NULL; uint8_t sync_is_started = 0U; #endif /* CONFIG_BT_CTLR_ADV_PERIODIC */ - struct ll_adv_aux_set *aux; + struct ll_adv_aux_set *aux = NULL; uint8_t aux_is_started = 0U; uint32_t ticks_anchor; #endif /* !CONFIG_BT_HCI_MESH_EXT */ @@ -525,6 +529,7 @@ uint8_t ll_adv_enable(uint8_t enable) } memcpy(ptr, tx_addr, BDADDR_SIZE); +#if (CONFIG_BT_CTLR_ADV_AUX_SET > 0) } else if (h->aux_ptr) { struct pdu_adv_com_ext_adv *s; struct pdu_adv *pdu_aux; @@ -554,6 +559,7 @@ uint8_t ll_adv_enable(uint8_t enable) /* TODO: allocate periodic advertising context */ } +#endif /* (CONFIG_BT_CTLR_ADV_AUX_SET > 0) */ } /* TODO: TargetA, fill here at enable */ @@ -986,7 +992,7 @@ uint8_t ll_adv_enable(uint8_t enable) #endif /* CONFIG_BT_TICKER_EXT */ ); -#if defined(CONFIG_BT_CTLR_ADV_EXT) +#if (CONFIG_BT_CTLR_ADV_AUX_SET > 0) if (lll->aux) { struct lll_adv_aux *lll_aux = lll->aux; @@ -1027,7 +1033,7 @@ uint8_t ll_adv_enable(uint8_t enable) } #endif /* CONFIG_BT_CTLR_ADV_PERIODIC */ } -#endif /* CONFIG_BT_CTLR_ADV_EXT */ +#endif /* (CONFIG_BT_CTLR_ADV_AUX_SET > 0) */ } ret = ull_ticker_status_take(ret, &ret_cb); diff --git a/subsys/bluetooth/controller/ll_sw/ull_adv_aux.c b/subsys/bluetooth/controller/ll_sw/ull_adv_aux.c index fa310122aa6..75a02f88081 100644 --- a/subsys/bluetooth/controller/ll_sw/ull_adv_aux.c +++ b/subsys/bluetooth/controller/ll_sw/ull_adv_aux.c @@ -37,6 +37,8 @@ #include "hal/debug.h" static int init_reset(void); + +#if (CONFIG_BT_CTLR_ADV_AUX_SET > 0) static inline struct ll_adv_aux_set *aux_acquire(void); static inline void aux_release(struct ll_adv_aux_set *aux); static inline uint16_t aux_handle_get(struct ll_adv_aux_set *aux); @@ -47,6 +49,7 @@ static void ticker_op_cb(uint32_t status, void *param); static struct ll_adv_aux_set ll_adv_aux_pool[CONFIG_BT_CTLR_ADV_AUX_SET]; static void *adv_aux_free; +#endif /* (CONFIG_BT_CTLR_ADV_AUX_SET > 0) */ uint8_t ll_adv_aux_random_addr_set(uint8_t handle, uint8_t *addr) { @@ -60,6 +63,7 @@ uint8_t *ll_adv_aux_random_addr_get(uint8_t handle, uint8_t *addr) return NULL; } +#if (CONFIG_BT_CTLR_ADV_AUX_SET > 0) uint8_t ll_adv_aux_ad_data_set(uint8_t handle, uint8_t op, uint8_t frag_pref, uint8_t len, uint8_t *data) { @@ -431,6 +435,7 @@ uint16_t ll_adv_aux_max_data_length_get(void) /* TODO: return a Kconfig value */ return 0; } +#endif /* (CONFIG_BT_CTLR_ADV_AUX_SET > 0) */ uint8_t ll_adv_aux_set_count_get(void) { @@ -476,6 +481,7 @@ int ull_adv_aux_reset(void) return 0; } +#if (CONFIG_BT_CTLR_ADV_AUX_SET > 0) uint16_t ull_adv_aux_lll_handle_get(struct lll_adv_aux *lll) { return aux_handle_get((void *)lll->hdr.parent); @@ -700,3 +706,10 @@ static void ticker_op_cb(uint32_t status, void *param) { *((uint32_t volatile *)param) = status; } +#else /* !(CONFIG_BT_CTLR_ADV_AUX_SET > 0) */ + +static int init_reset(void) +{ + return 0; +} +#endif /* !(CONFIG_BT_CTLR_ADV_AUX_SET > 0) */