This is an automated email from the ASF dual-hosted git repository.

andk pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/mynewt-nimble.git

commit 2a566fa86fa859d1dc749d0d7d3e71bde8ee44c5
Author: Andrzej Kaczmarek <andrzej.kaczma...@codecoup.pl>
AuthorDate: Tue Jan 31 14:51:41 2023 +0100

    nimble/ll: Cleanup transport handlers
    
    ble_ll_hci seems like a good place for rx functions to be declared.
    Also they do not need extra arg parameter as it's never used. And add
    ISO handler as well.
---
 nimble/controller/include/controller/ble_ll_hci.h |  4 ++++
 nimble/controller/src/ble_ll.c                    | 10 ++++++--
 nimble/controller/src/ble_ll_conn_priv.h          |  3 ---
 nimble/controller/src/ble_ll_hci.c                | 28 +++++++++++------------
 4 files changed, 26 insertions(+), 19 deletions(-)

diff --git a/nimble/controller/include/controller/ble_ll_hci.h 
b/nimble/controller/include/controller/ble_ll_hci.h
index ff668050..6fef1f7b 100644
--- a/nimble/controller/include/controller/ble_ll_hci.h
+++ b/nimble/controller/include/controller/ble_ll_hci.h
@@ -57,6 +57,10 @@ struct ble_ll_hci_vs_cmd {
 /* Initialize LL HCI */
 void ble_ll_hci_init(void);
 
+int ble_ll_hci_cmd_rx(uint8_t *cmdbuf);
+int ble_ll_hci_acl_rx(struct os_mbuf *om);
+int ble_ll_hci_iso_rx(struct os_mbuf *om);
+
 /* Used to determine if the LE event is enabled/disabled */
 bool ble_ll_hci_is_le_event_enabled(unsigned int subev);
 
diff --git a/nimble/controller/src/ble_ll.c b/nimble/controller/src/ble_ll.c
index ed1795be..a1bbe63b 100644
--- a/nimble/controller/src/ble_ll.c
+++ b/nimble/controller/src/ble_ll.c
@@ -1966,13 +1966,19 @@ ble_ll_init(void)
 int
 ble_transport_to_ll_cmd_impl(void *buf)
 {
-    return ble_ll_hci_cmd_rx(buf, NULL);
+    return ble_ll_hci_cmd_rx(buf);
 }
 
 int
 ble_transport_to_ll_acl_impl(struct os_mbuf *om)
 {
-    return ble_ll_hci_acl_rx(om, NULL);
+    return ble_ll_hci_acl_rx(om);
+}
+
+int
+ble_transport_to_ll_iso_impl(struct os_mbuf *om)
+{
+    return ble_ll_hci_iso_rx(om);
 }
 
 void
diff --git a/nimble/controller/src/ble_ll_conn_priv.h 
b/nimble/controller/src/ble_ll_conn_priv.h
index a3e1cc4b..954a2766 100644
--- a/nimble/controller/src/ble_ll_conn_priv.h
+++ b/nimble/controller/src/ble_ll_conn_priv.h
@@ -260,9 +260,6 @@ int ble_ll_conn_set_data_len(struct ble_ll_conn_sm *connsm,
 void ble_ll_conn_itvl_to_ticks(uint32_t itvl,
                                uint32_t *itvl_ticks, uint8_t *itvl_usecs);
 
-int ble_ll_hci_cmd_rx(uint8_t *cmd, void *arg);
-int ble_ll_hci_acl_rx(struct os_mbuf *om, void *arg);
-
 int ble_ll_conn_hci_le_rd_phy(const uint8_t *cmdbuf, uint8_t len,
                               uint8_t *rsp, uint8_t *rsplen);
 int ble_ll_conn_hci_le_set_phy(const uint8_t *cmdbuf, uint8_t len);
diff --git a/nimble/controller/src/ble_ll_hci.c 
b/nimble/controller/src/ble_ll_hci.c
index 0f92654b..6e3f0afa 100644
--- a/nimble/controller/src/ble_ll_hci.c
+++ b/nimble/controller/src/ble_ll_hci.c
@@ -1895,19 +1895,8 @@ send_cc_cs:
     BLE_LL_DEBUG_GPIO(HCI_CMD, 0);
 }
 
-/**
- * Sends an HCI command to the controller.  On success, the supplied buffer is
- * relinquished to the controller task.  On failure, the caller must free the
- * buffer.
- *
- * @param cmd                   A flat buffer containing the HCI command to
- *                                  send.
- *
- * @return                      0 on success;
- *                              BLE_ERR_MEM_CAPACITY on HCI buffer exhaustion.
- */
 int
-ble_ll_hci_cmd_rx(uint8_t *cmdbuf, void *arg)
+ble_ll_hci_cmd_rx(uint8_t *cmdbuf)
 {
     struct ble_npl_event *ev;
 #if MYNEWT_VAL(BLE_LL_CFG_FEAT_CTRL_TO_HOST_FLOW_CONTROL)
@@ -1948,9 +1937,8 @@ ble_ll_hci_cmd_rx(uint8_t *cmdbuf, void *arg)
     return 0;
 }
 
-/* Send ACL data from host to contoller */
 int
-ble_ll_hci_acl_rx(struct os_mbuf *om, void *arg)
+ble_ll_hci_acl_rx(struct os_mbuf *om)
 {
 #if MYNEWT_VAL(BLE_LL_ROLE_PERIPHERAL) || MYNEWT_VAL(BLE_LL_ROLE_CENTRAL)
     ble_ll_acl_data_in(om);
@@ -1961,6 +1949,18 @@ ble_ll_hci_acl_rx(struct os_mbuf *om, void *arg)
     return 0;
 }
 
+int
+ble_ll_hci_iso_rx(struct os_mbuf *om)
+{
+#if MYNEWT_VAL(BLE_LL_ISO)
+    /* FIXME send to isoal... */
+    os_mbuf_free_chain(om);
+#else
+    os_mbuf_free_chain(om);
+#endif
+    return 0;
+}
+
 /**
  * Initalize the LL HCI.
  *

Reply via email to