summaryrefslogtreecommitdiff
path: root/src/host
diff options
context:
space:
mode:
authorhathach <[email protected]>2020-09-06 12:11:07 +0700
committerhathach <[email protected]>2020-09-06 12:11:07 +0700
commitb3e81673c0582a07a764981604a560ee3d310ef9 (patch)
tree4217a1ebea06224ea3826eec875845015d945297 /src/host
parent15ad585e674f14e247aa7e5f42fb84f90f14be8b (diff)
change xfer_cb return type from void to bool
Diffstat (limited to 'src/host')
-rw-r--r--src/host/hub.c4
-rw-r--r--src/host/hub.h2
-rw-r--r--src/host/usbh.c4
-rw-r--r--src/host/usbh.h7
4 files changed, 11 insertions, 6 deletions
diff --git a/src/host/hub.c b/src/host/hub.c
index abec20d06..ed96713e2 100644
--- a/src/host/hub.c
+++ b/src/host/hub.c
@@ -175,7 +175,7 @@ bool hub_open(uint8_t rhport, uint8_t dev_addr, tusb_desc_interface_t const *itf
// is the response of interrupt endpoint polling
#include "usbh_hcd.h" // FIXME remove
-void hub_xfer_cb(uint8_t dev_addr, uint8_t ep_addr, xfer_result_t result, uint32_t xferred_bytes)
+bool hub_xfer_cb(uint8_t dev_addr, uint8_t ep_addr, xfer_result_t result, uint32_t xferred_bytes)
{
(void) xferred_bytes; // TODO can be more than 1 for hub with lots of ports
(void) ep_addr;
@@ -227,6 +227,8 @@ void hub_xfer_cb(uint8_t dev_addr, uint8_t ep_addr, xfer_result_t result, uint32
// TODO [HUB] check if hub is still plugged before polling status endpoint since failed usually mean hub unplugged
// TU_ASSERT ( hub_status_pipe_queue(dev_addr) );
}
+
+ return true;
}
void hub_close(uint8_t dev_addr)
diff --git a/src/host/hub.h b/src/host/hub.h
index 71dd39b8d..f00f13de7 100644
--- a/src/host/hub.h
+++ b/src/host/hub.h
@@ -182,7 +182,7 @@ bool hub_status_pipe_queue(uint8_t dev_addr);
//--------------------------------------------------------------------+
void hub_init(void);
bool hub_open(uint8_t rhport, uint8_t dev_addr, tusb_desc_interface_t const *itf_desc, uint16_t *p_length);
-void hub_xfer_cb(uint8_t dev_addr, uint8_t ep_addr, xfer_result_t event, uint32_t xferred_bytes);
+bool hub_xfer_cb(uint8_t dev_addr, uint8_t ep_addr, xfer_result_t event, uint32_t xferred_bytes);
void hub_close(uint8_t dev_addr);
#ifdef __cplusplus
diff --git a/src/host/usbh.c b/src/host/usbh.c
index da35340ce..a7f6397cd 100644
--- a/src/host/usbh.c
+++ b/src/host/usbh.c
@@ -48,7 +48,7 @@
#define DRIVER_NAME(_name)
#endif
-static host_class_driver_t const usbh_class_drivers[] =
+static usbh_class_driver_t const usbh_class_drivers[] =
{
#if CFG_TUH_CDC
{
@@ -442,7 +442,7 @@ bool enum_task(hcd_event_t* event)
dev0->state = TUSB_DEVICE_STATE_UNPLUG;
//------------- connected/disconnected directly with roothub -------------//
- if ( dev0->hub_addr == 0)
+ if (dev0->hub_addr == 0)
{
// wait until device is stable. Increase this if the first 8 bytes is failed to get
osal_task_delay(POWER_STABLE_DELAY);
diff --git a/src/host/usbh.h b/src/host/usbh.h
index 10e0c21be..91afb90a3 100644
--- a/src/host/usbh.h
+++ b/src/host/usbh.h
@@ -60,9 +60,9 @@ typedef struct {
void (* const init) (void);
bool (* const open)(uint8_t rhport, uint8_t dev_addr, tusb_desc_interface_t const * itf_desc, uint16_t* outlen);
- void (* const xfer_cb) (uint8_t dev_addr, uint8_t ep_addr, xfer_result_t result, uint32_t len);
+ bool (* const xfer_cb) (uint8_t dev_addr, uint8_t ep_addr, xfer_result_t result, uint32_t xferred_bytes);
void (* const close) (uint8_t);
-} host_class_driver_t;
+} usbh_class_driver_t;
//--------------------------------------------------------------------+
// INTERNAL OBJECT & FUNCTION DECLARATION
//--------------------------------------------------------------------+
@@ -107,6 +107,9 @@ bool usbh_edpt_open(uint8_t rhport, uint8_t dev_addr, tusb_desc_endpoint_t const
bool usbh_edpt_xfer(uint8_t dev_addr, uint8_t ep_addr, uint8_t * buffer, uint16_t total_bytes);
+
+bool tuh_control_xfer (uint8_t dev_addr, tusb_control_request_t const* request, uint8_t* buffer, uint16_t buflen);
+
#ifdef __cplusplus
}
#endif