Bluetooth: Add common Kconfig option to disable LE Data Length Update
This adds common option to disable support for LE Data Length Update procedure in controller and host. This will reduce flash usage by compiling out le_data_len_change event handler that will never be called if controller has been compiled with BT_CTLR_DATA_LENGTH option disabled. Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
This commit is contained in:
parent
be314d3af5
commit
8f5ba0be88
22 changed files with 42 additions and 27 deletions
|
@ -25,7 +25,7 @@ CONFIG_BT_BROADCASTER=y
|
|||
|
||||
CONFIG_BT_CTLR_LE_ENC=n
|
||||
CONFIG_BT_CTLR_LE_PING=n
|
||||
CONFIG_BT_CTLR_DATA_LENGTH=n
|
||||
CONFIG_BT_DATA_LEN_UPDATE=n
|
||||
CONFIG_BT_PHY_UPDATE=n
|
||||
CONFIG_BT_CTLR_CHAN_SEL_2=n
|
||||
CONFIG_BT_CTLR_MIN_USED_CHAN=n
|
||||
|
|
|
@ -15,7 +15,7 @@ CONFIG_BT_BROADCASTER=y
|
|||
CONFIG_BT_CTLR_DUP_FILTER_LEN=0
|
||||
CONFIG_BT_CTLR_LE_ENC=n
|
||||
CONFIG_BT_CTLR_LE_PING=n
|
||||
CONFIG_BT_CTLR_DATA_LENGTH=n
|
||||
CONFIG_BT_DATA_LEN_UPDATE=n
|
||||
CONFIG_BT_PHY_UPDATE=n
|
||||
CONFIG_BT_CTLR_CHAN_SEL_2=n
|
||||
CONFIG_BT_CTLR_MIN_USED_CHAN=n
|
||||
|
|
|
@ -24,7 +24,7 @@ CONFIG_BT_BROADCASTER=y
|
|||
|
||||
CONFIG_BT_CTLR_LE_ENC=n
|
||||
CONFIG_BT_CTLR_LE_PING=n
|
||||
CONFIG_BT_CTLR_DATA_LENGTH=n
|
||||
CONFIG_BT_DATA_LEN_UPDATE=n
|
||||
CONFIG_BT_PHY_UPDATE=n
|
||||
CONFIG_BT_CTLR_CHAN_SEL_2=n
|
||||
CONFIG_BT_CTLR_MIN_USED_CHAN=n
|
||||
|
|
|
@ -11,7 +11,7 @@ CONFIG_BT_CTLR_DUP_FILTER_LEN=0
|
|||
|
||||
CONFIG_BT_CTLR_LE_ENC=n
|
||||
CONFIG_BT_CTLR_LE_PING=n
|
||||
CONFIG_BT_CTLR_DATA_LENGTH=n
|
||||
CONFIG_BT_DATA_LEN_UPDATE=n
|
||||
CONFIG_BT_PHY_UPDATE=n
|
||||
CONFIG_BT_CTLR_CHAN_SEL_2=n
|
||||
CONFIG_BT_CTLR_MIN_USED_CHAN=n
|
||||
|
|
|
@ -18,7 +18,7 @@ CONFIG_BT_BROADCASTER=y
|
|||
CONFIG_BT_CTLR_DUP_FILTER_LEN=0
|
||||
CONFIG_BT_CTLR_LE_ENC=n
|
||||
CONFIG_BT_CTLR_LE_PING=n
|
||||
CONFIG_BT_CTLR_DATA_LENGTH=n
|
||||
CONFIG_BT_DATA_LEN_UPDATE=n
|
||||
CONFIG_BT_PHY_UPDATE=n
|
||||
CONFIG_BT_CTLR_CHAN_SEL_2=n
|
||||
CONFIG_BT_CTLR_MIN_USED_CHAN=n
|
||||
|
|
|
@ -16,7 +16,7 @@ CONFIG_BT_BROADCASTER=y
|
|||
CONFIG_BT_CTLR_DUP_FILTER_LEN=0
|
||||
CONFIG_BT_CTLR_LE_ENC=n
|
||||
CONFIG_BT_CTLR_LE_PING=n
|
||||
CONFIG_BT_CTLR_DATA_LENGTH=n
|
||||
CONFIG_BT_DATA_LEN_UPDATE=n
|
||||
CONFIG_BT_PHY_UPDATE=n
|
||||
CONFIG_BT_CTLR_CHAN_SEL_2=n
|
||||
CONFIG_BT_CTLR_MIN_USED_CHAN=n
|
||||
|
|
|
@ -91,6 +91,12 @@ config BT_PHY_UPDATE
|
|||
help
|
||||
Enable support for Bluetooth 5.0 PHY Update Procedure.
|
||||
|
||||
config BT_DATA_LEN_UPDATE
|
||||
bool "Data Length Update"
|
||||
default y
|
||||
help
|
||||
Enable support for Bluetooth v4.2 LE Data Length Update procedure.
|
||||
|
||||
source "subsys/bluetooth/services/Kconfig"
|
||||
|
||||
config BT_CONN
|
||||
|
|
|
@ -243,11 +243,11 @@ config BT_CTLR_EXT_SCAN_FP
|
|||
in the Controller.
|
||||
|
||||
config BT_CTLR_DATA_LENGTH
|
||||
bool "Data Length Update"
|
||||
# Hidden option to enable support for Bluetooth v4.2 LE Data Length
|
||||
# Update procedure in the Controller.
|
||||
bool
|
||||
depends on BT_DATA_LEN_UPDATE
|
||||
default y if SOC_COMPATIBLE_NRF52X
|
||||
help
|
||||
Enable support for Bluetooth v4.2 LE Data Length Update procedure in
|
||||
the Controller.
|
||||
|
||||
config BT_CTLR_DATA_LENGTH_MAX
|
||||
int "Maximum data length supported"
|
||||
|
|
|
@ -945,7 +945,8 @@ static void le_enh_conn_complete(struct bt_hci_evt_le_enh_conn_complete *evt)
|
|||
}
|
||||
}
|
||||
|
||||
if (BT_FEAT_LE_DLE(bt_dev.le.features)) {
|
||||
if (IS_ENABLED(CONFIG_BT_DATA_LEN_UPDATE) &&
|
||||
BT_FEAT_LE_DLE(bt_dev.le.features)) {
|
||||
hci_le_set_data_len(conn);
|
||||
}
|
||||
|
||||
|
@ -1032,7 +1033,8 @@ static void le_remote_feat_complete(struct net_buf *buf)
|
|||
}
|
||||
}
|
||||
|
||||
if (BT_FEAT_LE_DLE(bt_dev.le.features) &&
|
||||
if (IS_ENABLED(CONFIG_BT_DATA_LEN_UPDATE) &&
|
||||
BT_FEAT_LE_DLE(bt_dev.le.features) &&
|
||||
BT_FEAT_LE_DLE(conn->le.features)) {
|
||||
hci_le_set_data_len(conn);
|
||||
}
|
||||
|
@ -1046,6 +1048,7 @@ done:
|
|||
bt_conn_unref(conn);
|
||||
}
|
||||
|
||||
#if defined(CONFIG_BT_DATA_LEN_UPDATE)
|
||||
static void le_data_len_change(struct net_buf *buf)
|
||||
{
|
||||
struct bt_hci_evt_le_data_len_change *evt = (void *)buf->data;
|
||||
|
@ -1069,6 +1072,7 @@ static void le_data_len_change(struct net_buf *buf)
|
|||
|
||||
bt_conn_unref(conn);
|
||||
}
|
||||
#endif /* CONFIG_BT_DATA_LEN_UPDATE */
|
||||
|
||||
#if defined(CONFIG_BT_PHY_UPDATE)
|
||||
static void le_phy_update_complete(struct net_buf *buf)
|
||||
|
@ -1091,7 +1095,8 @@ static void le_phy_update_complete(struct net_buf *buf)
|
|||
goto done;
|
||||
}
|
||||
|
||||
if (BT_FEAT_LE_DLE(bt_dev.le.features) &&
|
||||
if (IS_ENABLED(CONFIG_BT_DATA_LEN_UPDATE) &&
|
||||
BT_FEAT_LE_DLE(bt_dev.le.features) &&
|
||||
BT_FEAT_LE_DLE(conn->le.features)) {
|
||||
hci_le_set_data_len(conn);
|
||||
}
|
||||
|
@ -3303,9 +3308,11 @@ static void hci_le_meta_event(struct net_buf *buf)
|
|||
case BT_HCI_EVT_LE_CONN_PARAM_REQ:
|
||||
le_conn_param_req(buf);
|
||||
break;
|
||||
#if defined(CONFIG_BT_DATA_LEN_UPDATE)
|
||||
case BT_HCI_EVT_LE_DATA_LEN_CHANGE:
|
||||
le_data_len_change(buf);
|
||||
break;
|
||||
#endif /* CONFIG_BT_DATA_LEN_UPDATE */
|
||||
#if defined(CONFIG_BT_PHY_UPDATE)
|
||||
case BT_HCI_EVT_LE_PHY_UPDATE_COMPLETE:
|
||||
le_phy_update_complete(buf);
|
||||
|
@ -3791,7 +3798,8 @@ static int le_set_event_mask(void)
|
|||
mask |= BT_EVT_MASK_LE_CONN_PARAM_REQ;
|
||||
}
|
||||
|
||||
if (BT_FEAT_LE_DLE(bt_dev.le.features)) {
|
||||
if (IS_ENABLED(CONFIG_BT_DATA_LEN_UPDATE) &&
|
||||
BT_FEAT_LE_DLE(bt_dev.le.features)) {
|
||||
mask |= BT_EVT_MASK_LE_DATA_LEN_CHANGE;
|
||||
}
|
||||
|
||||
|
@ -3884,6 +3892,7 @@ static int le_init(void)
|
|||
}
|
||||
|
||||
if (IS_ENABLED(CONFIG_BT_CONN) &&
|
||||
IS_ENABLED(CONFIG_BT_DATA_LEN_UPDATE) &&
|
||||
BT_FEAT_LE_DLE(bt_dev.le.features)) {
|
||||
struct bt_hci_cp_le_write_default_data_len *cp;
|
||||
struct bt_hci_rp_le_read_max_data_len *rp;
|
||||
|
|
|
@ -5,7 +5,7 @@ CONFIG_BT_CTLR_CONN_PARAM_REQ=n
|
|||
CONFIG_BT_CTLR_LE_PING=n
|
||||
CONFIG_BT_CTLR_PRIVACY=n
|
||||
CONFIG_BT_CTLR_EXT_SCAN_FP=n
|
||||
CONFIG_BT_CTLR_DATA_LENGTH=n
|
||||
CONFIG_BT_DATA_LEN_UPDATE=n
|
||||
CONFIG_BT_PHY_UPDATE=n
|
||||
CONFIG_BT_CTLR_CHAN_SEL_2=n
|
||||
CONFIG_BT_CTLR_MIN_USED_CHAN=n
|
||||
|
|
|
@ -5,7 +5,7 @@ CONFIG_BT_CTLR_CONN_PARAM_REQ=y
|
|||
CONFIG_BT_CTLR_LE_PING=y
|
||||
CONFIG_BT_CTLR_PRIVACY=y
|
||||
CONFIG_BT_CTLR_EXT_SCAN_FP=y
|
||||
CONFIG_BT_CTLR_DATA_LENGTH=y
|
||||
CONFIG_BT_DATA_LEN_UPDATE=y
|
||||
CONFIG_BT_PHY_UPDATE=y
|
||||
CONFIG_BT_CTLR_CHAN_SEL_2=y
|
||||
CONFIG_BT_CTLR_MIN_USED_CHAN=y
|
||||
|
|
|
@ -5,7 +5,7 @@ CONFIG_BT_CTLR_CONN_PARAM_REQ=n
|
|||
CONFIG_BT_CTLR_LE_PING=n
|
||||
CONFIG_BT_CTLR_PRIVACY=n
|
||||
CONFIG_BT_CTLR_EXT_SCAN_FP=n
|
||||
CONFIG_BT_CTLR_DATA_LENGTH=n
|
||||
CONFIG_BT_DATA_LEN_UPDATE=n
|
||||
CONFIG_BT_PHY_UPDATE=n
|
||||
CONFIG_BT_CTLR_CHAN_SEL_2=n
|
||||
CONFIG_BT_CTLR_MIN_USED_CHAN=n
|
||||
|
|
|
@ -8,7 +8,7 @@ CONFIG_BT_BROADCASTER=y
|
|||
CONFIG_BT_CTLR_DUP_FILTER_LEN=0
|
||||
CONFIG_BT_CTLR_LE_ENC=n
|
||||
CONFIG_BT_CTLR_LE_PING=n
|
||||
CONFIG_BT_CTLR_DATA_LENGTH=n
|
||||
CONFIG_BT_DATA_LEN_UPDATE=n
|
||||
CONFIG_BT_PHY_UPDATE=n
|
||||
CONFIG_BT_CTLR_CHAN_SEL_2=n
|
||||
CONFIG_BT_CTLR_MIN_USED_CHAN=n
|
||||
|
|
|
@ -8,7 +8,7 @@ CONFIG_BT_BROADCASTER=y
|
|||
CONFIG_BT_CTLR_DUP_FILTER_LEN=0
|
||||
CONFIG_BT_CTLR_LE_ENC=n
|
||||
CONFIG_BT_CTLR_LE_PING=n
|
||||
CONFIG_BT_CTLR_DATA_LENGTH=n
|
||||
CONFIG_BT_DATA_LEN_UPDATE=n
|
||||
CONFIG_BT_PHY_UPDATE=n
|
||||
CONFIG_BT_CTLR_CHAN_SEL_2=n
|
||||
CONFIG_BT_CTLR_MIN_USED_CHAN=n
|
||||
|
|
|
@ -8,7 +8,7 @@ CONFIG_BT_BROADCASTER=y
|
|||
CONFIG_BT_CTLR_DUP_FILTER_LEN=0
|
||||
CONFIG_BT_CTLR_LE_ENC=n
|
||||
CONFIG_BT_CTLR_LE_PING=n
|
||||
CONFIG_BT_CTLR_DATA_LENGTH=n
|
||||
CONFIG_BT_DATA_LEN_UPDATE=n
|
||||
CONFIG_BT_PHY_UPDATE=n
|
||||
CONFIG_BT_CTLR_CHAN_SEL_2=n
|
||||
CONFIG_BT_CTLR_MIN_USED_CHAN=n
|
||||
|
|
|
@ -8,7 +8,7 @@ CONFIG_BT_BROADCASTER=y
|
|||
CONFIG_BT_CTLR_DUP_FILTER_LEN=0
|
||||
CONFIG_BT_CTLR_LE_ENC=n
|
||||
CONFIG_BT_CTLR_LE_PING=n
|
||||
CONFIG_BT_CTLR_DATA_LENGTH=n
|
||||
CONFIG_BT_DATA_LEN_UPDATE=n
|
||||
CONFIG_BT_PHY_UPDATE=n
|
||||
CONFIG_BT_CTLR_CHAN_SEL_2=n
|
||||
CONFIG_BT_CTLR_MIN_USED_CHAN=n
|
||||
|
|
|
@ -16,7 +16,7 @@ CONFIG_BT_BROADCASTER=y
|
|||
|
||||
CONFIG_BT_CTLR_LE_ENC=n
|
||||
CONFIG_BT_CTLR_LE_PING=n
|
||||
CONFIG_BT_CTLR_DATA_LENGTH=n
|
||||
CONFIG_BT_DATA_LEN_UPDATE=n
|
||||
CONFIG_BT_PHY_UPDATE=n
|
||||
CONFIG_BT_CTLR_CHAN_SEL_2=n
|
||||
CONFIG_BT_CTLR_MIN_USED_CHAN=n
|
||||
|
|
|
@ -24,7 +24,7 @@ CONFIG_BT_BROADCASTER=y
|
|||
|
||||
CONFIG_BT_CTLR_LE_ENC=n
|
||||
CONFIG_BT_CTLR_LE_PING=n
|
||||
CONFIG_BT_CTLR_DATA_LENGTH=n
|
||||
CONFIG_BT_DATA_LEN_UPDATE=n
|
||||
CONFIG_BT_PHY_UPDATE=n
|
||||
CONFIG_BT_CTLR_CHAN_SEL_2=n
|
||||
CONFIG_BT_CTLR_MIN_USED_CHAN=n
|
||||
|
|
|
@ -8,7 +8,7 @@ CONFIG_BT_BROADCASTER=y
|
|||
CONFIG_BT_CTLR_DUP_FILTER_LEN=0
|
||||
CONFIG_BT_CTLR_LE_ENC=n
|
||||
CONFIG_BT_CTLR_LE_PING=n
|
||||
CONFIG_BT_CTLR_DATA_LENGTH=n
|
||||
CONFIG_BT_DATA_LEN_UPDATE=n
|
||||
CONFIG_BT_PHY_UPDATE=n
|
||||
CONFIG_BT_CTLR_CHAN_SEL_2=n
|
||||
CONFIG_BT_CTLR_MIN_USED_CHAN=n
|
||||
|
|
|
@ -8,7 +8,7 @@ CONFIG_BT_BROADCASTER=y
|
|||
CONFIG_BT_CTLR_DUP_FILTER_LEN=0
|
||||
CONFIG_BT_CTLR_LE_ENC=n
|
||||
CONFIG_BT_CTLR_LE_PING=n
|
||||
CONFIG_BT_CTLR_DATA_LENGTH=n
|
||||
CONFIG_BT_DATA_LEN_UPDATE=n
|
||||
CONFIG_BT_PHY_UPDATE=n
|
||||
CONFIG_BT_CTLR_CHAN_SEL_2=n
|
||||
CONFIG_BT_CTLR_MIN_USED_CHAN=n
|
||||
|
|
|
@ -8,7 +8,7 @@ CONFIG_BT_BROADCASTER=y
|
|||
CONFIG_BT_CTLR_DUP_FILTER_LEN=0
|
||||
CONFIG_BT_CTLR_LE_ENC=n
|
||||
CONFIG_BT_CTLR_LE_PING=n
|
||||
CONFIG_BT_CTLR_DATA_LENGTH=n
|
||||
CONFIG_BT_DATA_LEN_UPDATE=n
|
||||
CONFIG_BT_PHY_UPDATE=n
|
||||
CONFIG_BT_CTLR_CHAN_SEL_2=n
|
||||
CONFIG_BT_CTLR_MIN_USED_CHAN=n
|
||||
|
|
|
@ -24,7 +24,7 @@ CONFIG_BT_DEVICE_NAME="Zephyr Mesh"
|
|||
CONFIG_BT_CTLR_DUP_FILTER_LEN=0
|
||||
CONFIG_BT_CTLR_LE_ENC=n
|
||||
CONFIG_BT_CTLR_LE_PING=n
|
||||
CONFIG_BT_CTLR_DATA_LENGTH=n
|
||||
CONFIG_BT_DATA_LEN_UPDATE=n
|
||||
CONFIG_BT_PHY_UPDATE=n
|
||||
CONFIG_BT_CTLR_CHAN_SEL_2=n
|
||||
CONFIG_BT_CTLR_MIN_USED_CHAN=n
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue