summaryrefslogtreecommitdiff
path: root/src/device
diff options
context:
space:
mode:
authorhathach <[email protected]>2024-10-14 18:27:52 +0700
committerhathach <[email protected]>2024-10-14 18:27:52 +0700
commit1f18be93db39dbc57bbf34f982dbe07e209a2ae3 (patch)
tree4da021608772f07fba9105da956112e495d9eeb9 /src/device
parent1587d48e89cbaa8d0d1c870809bc40c3c8d1056f (diff)
change the tusb_rhport_init_t struct, exclude the rhport to make API more consistent
Diffstat (limited to 'src/device')
-rw-r--r--src/device/dcd.h2
-rw-r--r--src/device/usbd.c8
-rw-r--r--src/device/usbd.h7
3 files changed, 8 insertions, 9 deletions
diff --git a/src/device/dcd.h b/src/device/dcd.h
index 02f3847ff..64dffbaef 100644
--- a/src/device/dcd.h
+++ b/src/device/dcd.h
@@ -108,7 +108,7 @@ void dcd_dcache_clean_invalidate(void const* addr, uint32_t data_size) TU_ATTR_W
//--------------------------------------------------------------------+
// Initialize controller to device mode
-void dcd_init(const tusb_rhport_init_t* rh_init);
+void dcd_init(uint8_t rhport, const tusb_rhport_init_t* rh_init);
// Deinitialize controller, unset device mode.
bool dcd_deinit(uint8_t rhport);
diff --git a/src/device/usbd.c b/src/device/usbd.c
index 12f95ab40..4b6600eb2 100644
--- a/src/device/usbd.c
+++ b/src/device/usbd.c
@@ -448,7 +448,7 @@ bool tud_inited(void) {
return _usbd_rhport != RHPORT_INVALID;
}
-bool tud_rhport_init(const tusb_rhport_init_t* rh_init) {
+bool tud_rhport_init(uint8_t rhport, const tusb_rhport_init_t* rh_init) {
if (tud_inited()) {
return true; // skip if already initialized
}
@@ -487,11 +487,11 @@ bool tud_rhport_init(const tusb_rhport_init_t* rh_init) {
driver->init();
}
- _usbd_rhport = rh_init->rhport;
+ _usbd_rhport = rhport;
// Init device controller driver
- dcd_init(rh_init);
- dcd_int_enable(rh_init->rhport);
+ dcd_init(rhport, rh_init);
+ dcd_int_enable(rhport);
return true;
}
diff --git a/src/device/usbd.h b/src/device/usbd.h
index 05eb0173f..de6007fb3 100644
--- a/src/device/usbd.h
+++ b/src/device/usbd.h
@@ -38,19 +38,18 @@ extern "C" {
//--------------------------------------------------------------------+
// New API to replace tud_init() to init device stack on specific roothub port
-bool tud_rhport_init(const tusb_rhport_init_t* rh_init);
+bool tud_rhport_init(uint8_t rhport, const tusb_rhport_init_t* rh_init);
// Init device stack on roothub port
#if TUSB_VERSION_NUMBER > 2000 // 0.20.0
-TU_ATTR_DEPRECATED("Please use tusb_init(tusb_rhport_init_t*) instead")
+TU_ATTR_DEPRECATED("Please use tusb_init(rhport, rh_init) instead")
#endif
TU_ATTR_ALWAYS_INLINE static inline bool tud_init (uint8_t rhport) {
const tusb_rhport_init_t rh_init = {
- .rhport = rhport,
.role = TUSB_ROLE_DEVICE,
.speed = TUD_OPT_HIGH_SPEED ? TUSB_SPEED_HIGH : TUSB_SPEED_FULL
};
- return tud_rhport_init(&rh_init);
+ return tud_rhport_init(rhport, &rh_init);
}
// Deinit device stack on roothub port