Skip to content

Commit 0709478

Browse files
petrip-slabfabiobaltieri
authored andcommitted
silabs: drivers: bluetooth: Conditional compiling of optional components
Conditionally compile in controller features based on what features have been enabled in Kconfig This commit allow saving in flash size. Over 10k in peripheral_hr and central_hr. In observer and broadcaster about 20k Signed-off-by: Petri Pitkanen <[email protected]>
1 parent 65a603f commit 0709478

File tree

1 file changed

+24
-7
lines changed

1 file changed

+24
-7
lines changed

drivers/bluetooth/hci/hci_silabs_efr32.c

Lines changed: 24 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -186,12 +186,25 @@ static int slz_bt_open(const struct device *dev, bt_hci_recv_t recv)
186186
goto deinit;
187187
}
188188

189-
sl_btctrl_init_adv();
190-
sl_btctrl_init_scan();
191-
sl_btctrl_init_conn();
189+
if (IS_ENABLED(CONFIG_BT_BROADCASTER) || IS_ENABLED(CONFIG_BT_PERIPHERAL)) {
190+
sl_btctrl_init_adv();
191+
}
192+
if (IS_ENABLED(CONFIG_BT_CENTRAL) || IS_ENABLED(CONFIG_BT_OBSERVER)) {
193+
sl_btctrl_init_scan();
194+
}
195+
if (IS_ENABLED(CONFIG_BT_CONN)) {
196+
sl_btctrl_init_conn();
197+
}
192198
sl_btctrl_init_phy();
193-
sl_btctrl_init_adv_ext();
194-
sl_btctrl_init_scan_ext();
199+
200+
if (IS_ENABLED(CONFIG_BT_EXT_ADV)) {
201+
if (IS_ENABLED(CONFIG_BT_BROADCASTER) || IS_ENABLED(CONFIG_BT_PERIPHERAL)) {
202+
sl_btctrl_init_adv_ext();
203+
}
204+
if (IS_ENABLED(CONFIG_BT_CENTRAL) || IS_ENABLED(CONFIG_BT_OBSERVER)) {
205+
sl_btctrl_init_scan_ext();
206+
}
207+
}
195208

196209
ret = sl_btctrl_init_basic(SL_BT_CONFIG_MAX_CONNECTIONS,
197210
SL_BT_CONFIG_USER_ADVERTISERS,
@@ -207,8 +220,12 @@ static int slz_bt_open(const struct device *dev, bt_hci_recv_t recv)
207220

208221
sl_bthci_init_upper();
209222
sl_btctrl_hci_parser_init_default();
210-
sl_btctrl_hci_parser_init_conn();
211-
sl_btctrl_hci_parser_init_adv();
223+
if (IS_ENABLED(CONFIG_BT_CONN)) {
224+
sl_btctrl_hci_parser_init_conn();
225+
}
226+
if (IS_ENABLED(CONFIG_BT_BROADCASTER) || IS_ENABLED(CONFIG_BT_PERIPHERAL)) {
227+
sl_btctrl_hci_parser_init_adv();
228+
}
212229
sl_btctrl_hci_parser_init_phy();
213230

214231
#ifdef CONFIG_PM

0 commit comments

Comments
 (0)