Bluetooth: Controller: Change node_rx_type to auto incrementing enum
Instead of having explicit values for each entry in the enum that has to be updated for each new entry (thus requiring manual work which can also be error-prone), the enum will now be self-incrementing, to make it easier and safer to add new entries. Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
This commit is contained in:
parent
8af767e28c
commit
58eb76e06d
3 changed files with 41 additions and 34 deletions
|
@ -4661,7 +4661,7 @@ static void encode_control(struct node_rx_pdu *node_rx,
|
|||
#endif /* CONFIG_BT_HCI_MESH_EXT */
|
||||
|
||||
#if defined(CONFIG_BT_CTLR_USER_EXT)
|
||||
case NODE_RX_TYPE_USER_START ... NODE_RX_TYPE_USER_END:
|
||||
case NODE_RX_TYPE_USER_START ... NODE_RX_TYPE_USER_END - 1:
|
||||
hci_user_ext_encode_control(node_rx, pdu_data, buf);
|
||||
return;
|
||||
#endif /* CONFIG_BT_CTLR_USER_EXT */
|
||||
|
@ -5053,7 +5053,7 @@ uint8_t hci_get_class(struct node_rx_pdu *node_rx)
|
|||
#endif /* CONFIG_BT_CONN */
|
||||
|
||||
#if defined(CONFIG_BT_CTLR_USER_EXT)
|
||||
case NODE_RX_TYPE_USER_START ... NODE_RX_TYPE_USER_END:
|
||||
case NODE_RX_TYPE_USER_START ... NODE_RX_TYPE_USER_END - 1:
|
||||
return hci_user_ext_get_class(node_rx);
|
||||
#endif /* CONFIG_BT_CTLR_USER_EXT */
|
||||
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
*/
|
||||
|
||||
#include <stddef.h>
|
||||
#include <sys/util.h>
|
||||
#if defined(CONFIG_BT_CTLR_RX_PDU_META)
|
||||
#include "lll_meta.h"
|
||||
#endif /* CONFIG_BT_CTLR_RX_PDU_META */
|
||||
|
@ -151,43 +152,49 @@ struct lll_event {
|
|||
uint8_t is_aborted:1;
|
||||
};
|
||||
|
||||
#define DEFINE_NODE_RX_USER_TYPE(i, _) NODE_RX_TYPE_##i,
|
||||
|
||||
enum node_rx_type {
|
||||
/* Unused */
|
||||
NODE_RX_TYPE_NONE = 0x00,
|
||||
/* Signals completion of RX event */
|
||||
NODE_RX_TYPE_EVENT_DONE = 0x01,
|
||||
NODE_RX_TYPE_EVENT_DONE,
|
||||
/* Signals arrival of RX Data Channel payload */
|
||||
NODE_RX_TYPE_DC_PDU = 0x02,
|
||||
NODE_RX_TYPE_DC_PDU,
|
||||
/* Signals release of RX Data Channel payload */
|
||||
NODE_RX_TYPE_DC_PDU_RELEASE = 0x03,
|
||||
NODE_RX_TYPE_DC_PDU_RELEASE,
|
||||
/* Advertisement report from scanning */
|
||||
NODE_RX_TYPE_REPORT = 0x04,
|
||||
NODE_RX_TYPE_EXT_1M_REPORT = 0x05,
|
||||
NODE_RX_TYPE_EXT_2M_REPORT = 0x06,
|
||||
NODE_RX_TYPE_EXT_CODED_REPORT = 0x07,
|
||||
NODE_RX_TYPE_EXT_SCAN_TERMINATE = 0x08,
|
||||
NODE_RX_TYPE_SYNC = 0x09,
|
||||
NODE_RX_TYPE_SYNC_LOST = 0x0a,
|
||||
NODE_RX_TYPE_EXT_ADV_TERMINATE = 0x0b,
|
||||
NODE_RX_TYPE_SCAN_REQ = 0x0c,
|
||||
NODE_RX_TYPE_CONNECTION = 0x0d,
|
||||
NODE_RX_TYPE_TERMINATE = 0x0e,
|
||||
NODE_RX_TYPE_CONN_UPDATE = 0x0f,
|
||||
NODE_RX_TYPE_ENC_REFRESH = 0x10,
|
||||
NODE_RX_TYPE_APTO = 0x11,
|
||||
NODE_RX_TYPE_CHAN_SEL_ALGO = 0x12,
|
||||
NODE_RX_TYPE_PHY_UPDATE = 0x13,
|
||||
NODE_RX_TYPE_RSSI = 0x14,
|
||||
NODE_RX_TYPE_PROFILE = 0x15,
|
||||
NODE_RX_TYPE_ADV_INDICATION = 0x16,
|
||||
NODE_RX_TYPE_SCAN_INDICATION = 0x17,
|
||||
NODE_RX_TYPE_CIS_REQUEST = 0x18,
|
||||
NODE_RX_TYPE_CIS_ESTABLISHED = 0x19,
|
||||
NODE_RX_TYPE_MESH_ADV_CPLT = 0x1a,
|
||||
NODE_RX_TYPE_MESH_REPORT = 0x1b,
|
||||
NODE_RX_TYPE_USER_START = 0x1c,
|
||||
NODE_RX_TYPE_USER_END = NODE_RX_TYPE_USER_START +
|
||||
CONFIG_BT_CTLR_USER_EVT_RANGE,
|
||||
NODE_RX_TYPE_REPORT,
|
||||
NODE_RX_TYPE_EXT_1M_REPORT,
|
||||
NODE_RX_TYPE_EXT_2M_REPORT,
|
||||
NODE_RX_TYPE_EXT_CODED_REPORT,
|
||||
NODE_RX_TYPE_EXT_SCAN_TERMINATE,
|
||||
NODE_RX_TYPE_SYNC,
|
||||
NODE_RX_TYPE_SYNC_LOST,
|
||||
NODE_RX_TYPE_EXT_ADV_TERMINATE,
|
||||
NODE_RX_TYPE_SCAN_REQ,
|
||||
NODE_RX_TYPE_CONNECTION,
|
||||
NODE_RX_TYPE_TERMINATE,
|
||||
NODE_RX_TYPE_CONN_UPDATE,
|
||||
NODE_RX_TYPE_ENC_REFRESH,
|
||||
NODE_RX_TYPE_APTO,
|
||||
NODE_RX_TYPE_CHAN_SEL_ALGO,
|
||||
NODE_RX_TYPE_PHY_UPDATE,
|
||||
NODE_RX_TYPE_RSSI,
|
||||
NODE_RX_TYPE_PROFILE,
|
||||
NODE_RX_TYPE_ADV_INDICATION,
|
||||
NODE_RX_TYPE_SCAN_INDICATION,
|
||||
NODE_RX_TYPE_CIS_REQUEST,
|
||||
NODE_RX_TYPE_CIS_ESTABLISHED,
|
||||
NODE_RX_TYPE_MESH_ADV_CPLT,
|
||||
NODE_RX_TYPE_MESH_REPORT,
|
||||
|
||||
#if defined(CONFIG_BT_CTLR_USER_EXT)
|
||||
/* No entries shall be added after the NODE_RX_TYPE_USER_START/END */
|
||||
NODE_RX_TYPE_USER_START,
|
||||
UTIL_LISTIFY(CONFIG_BT_CTLR_USER_EVT_RANGE, DEFINE_NODE_RX_USER_TYPE, _)
|
||||
NODE_RX_TYPE_USER_END,
|
||||
#endif /* CONFIG_BT_CTLR_USER_EXT */
|
||||
};
|
||||
|
||||
/* Footer of node_rx_hdr */
|
||||
|
|
|
@ -829,7 +829,7 @@ void ll_rx_dequeue(void)
|
|||
#endif /* CONFIG_BT_HCI_MESH_EXT */
|
||||
|
||||
#if defined(CONFIG_BT_CTLR_USER_EXT)
|
||||
case NODE_RX_TYPE_USER_START ... NODE_RX_TYPE_USER_END:
|
||||
case NODE_RX_TYPE_USER_START ... NODE_RX_TYPE_USER_END - 1:
|
||||
__fallthrough;
|
||||
#endif /* CONFIG_BT_CTLR_USER_EXT */
|
||||
|
||||
|
@ -1007,7 +1007,7 @@ void ll_rx_mem_release(void **node_rx)
|
|||
#endif /* CONFIG_BT_HCI_MESH_EXT */
|
||||
|
||||
#if defined(CONFIG_BT_CTLR_USER_EXT)
|
||||
case NODE_RX_TYPE_USER_START ... NODE_RX_TYPE_USER_END:
|
||||
case NODE_RX_TYPE_USER_START ... NODE_RX_TYPE_USER_END - 1:
|
||||
#endif /* CONFIG_BT_CTLR_USER_EXT */
|
||||
|
||||
/* Ensure that at least one 'case' statement is present for this
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue