Bluetooth: Move implementation of hci_driver.h exposed functions

Move implementation of hci_driver.h exposed functions to a common file.
The functions exposed by hci_driver.h header file is implemented in
either hci_core.c, or hci_raw.c. But since these functions would be
identical for both implementations have them in a new file that is
included for both.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
This commit is contained in:
Joakim Andersson 2020-07-24 17:34:32 +02:00 committed by Carles Cufí
commit 73c50dc0bd
4 changed files with 55 additions and 43 deletions

View file

@ -108,7 +108,7 @@ static void le_conn_complete(struct pdu_data *pdu_data, uint16_t handle,
struct net_buf *buf);
#endif /* CONFIG_BT_CONN */
void hci_evt_create(struct net_buf *buf, uint8_t evt, uint8_t len)
static void hci_evt_create(struct net_buf *buf, uint8_t evt, uint8_t len)
{
struct bt_hci_evt_hdr *hdr;
@ -117,45 +117,6 @@ void hci_evt_create(struct net_buf *buf, uint8_t evt, uint8_t len)
hdr->len = len;
}
struct net_buf *bt_hci_evt_create(uint8_t evt, uint8_t len)
{
struct net_buf *buf;
buf = bt_buf_get_evt(evt, false, K_FOREVER);
hci_evt_create(buf, evt, len);
return buf;
}
struct net_buf *bt_hci_cmd_complete_create(uint16_t op, uint8_t plen)
{
struct net_buf *buf;
struct bt_hci_evt_cmd_complete *cc;
buf = bt_hci_evt_create(BT_HCI_EVT_CMD_COMPLETE, sizeof(*cc) + plen);
cc = net_buf_add(buf, sizeof(*cc));
cc->ncmd = 1U;
cc->opcode = sys_cpu_to_le16(op);
return buf;
}
struct net_buf *bt_hci_cmd_status_create(uint16_t op, uint8_t status)
{
struct net_buf *buf;
struct bt_hci_evt_cmd_status *cs;
buf = bt_hci_evt_create(BT_HCI_EVT_CMD_STATUS, sizeof(*cs));
cs = net_buf_add(buf, sizeof(*cs));
cs->status = status;
cs->ncmd = 1U;
cs->opcode = sys_cpu_to_le16(op);
return buf;
}
void *hci_cmd_complete(struct net_buf **buf, uint8_t plen)
{
*buf = bt_hci_cmd_complete_create(_opcode, plen);