summaryrefslogtreecommitdiff
path: root/src/portable/raspberrypi
diff options
context:
space:
mode:
authorhathach <[email protected]>2024-04-08 22:07:56 +0700
committerhathach <[email protected]>2024-04-08 22:07:56 +0700
commitc3c06484560d0102366a3a1b1101c35301009f97 (patch)
tree408f8d600c6b58fd1da77c0408182851c0f48ced /src/portable/raspberrypi
parent47c12a07f2edf927eaa685ee8c32b222271d770f (diff)
add class driver deinit
Diffstat (limited to 'src/portable/raspberrypi')
-rw-r--r--src/portable/raspberrypi/rp2040/dcd_rp2040.c5
-rw-r--r--src/portable/raspberrypi/rp2040/hcd_rp2040.c4
2 files changed, 6 insertions, 3 deletions
diff --git a/src/portable/raspberrypi/rp2040/dcd_rp2040.c b/src/portable/raspberrypi/rp2040/dcd_rp2040.c
index ccc7ee102..a2b3375a3 100644
--- a/src/portable/raspberrypi/rp2040/dcd_rp2040.c
+++ b/src/portable/raspberrypi/rp2040/dcd_rp2040.c
@@ -407,16 +407,17 @@ void dcd_init(uint8_t rhport) {
dcd_connect(rhport);
}
-void dcd_deinit(uint8_t rhport) {
+bool dcd_deinit(uint8_t rhport) {
assert(rhport == 0);
- dcd_disconnect(rhport);
reset_non_control_endpoints();
irq_remove_handler(USBCTRL_IRQ, dcd_rp2040_irq);
// reset usb hardware into initial state
reset_block(RESETS_RESET_USBCTRL_BITS);
unreset_block_wait(RESETS_RESET_USBCTRL_BITS);
+
+ return true;
}
void dcd_int_enable(__unused uint8_t rhport) {
diff --git a/src/portable/raspberrypi/rp2040/hcd_rp2040.c b/src/portable/raspberrypi/rp2040/hcd_rp2040.c
index 762753a25..222dbbbf0 100644
--- a/src/portable/raspberrypi/rp2040/hcd_rp2040.c
+++ b/src/portable/raspberrypi/rp2040/hcd_rp2040.c
@@ -409,12 +409,14 @@ bool hcd_init(uint8_t rhport)
return true;
}
-void hcd_deinit(uint8_t rhport) {
+bool hcd_deinit(uint8_t rhport) {
(void) rhport;
irq_remove_handler(USBCTRL_IRQ, hcd_rp2040_irq);
reset_block(RESETS_RESET_USBCTRL_BITS);
unreset_block_wait(RESETS_RESET_USBCTRL_BITS);
+
+ return true;
}
void hcd_port_reset(uint8_t rhport)