From 9ea2121c7c5eae505f4b03c22be963ba604bc8b0 Mon Sep 17 00:00:00 2001 From: sakumisu <1203593632@qq.com> Date: Mon, 20 Nov 2023 22:15:43 +0800 Subject: [PATCH] make hub_set_feature and hub_clear_feature api public --- class/hub/usbh_hub.c | 5 +++-- class/hub/usbh_hub.h | 6 +++++- core/usbh_core.c | 1 - core/usbh_core.h | 2 +- 4 files changed, 9 insertions(+), 5 deletions(-) diff --git a/class/hub/usbh_hub.c b/class/hub/usbh_hub.c index 343b229d..fe660fc4 100644 --- a/class/hub/usbh_hub.c +++ b/class/hub/usbh_hub.c @@ -3,6 +3,7 @@ * * SPDX-License-Identifier: Apache-2.0 */ +#include "usbh_core.h" #include "usbh_hub.h" #define DEV_FORMAT "/dev/hub%d" @@ -238,7 +239,7 @@ static int usbh_hub_get_portstatus(struct usbh_hub *hub, uint8_t port, struct hu } } -static int usbh_hub_set_feature(struct usbh_hub *hub, uint8_t port, uint8_t feature) +int usbh_hub_set_feature(struct usbh_hub *hub, uint8_t port, uint8_t feature) { struct usb_setup_packet roothub_setup; struct usb_setup_packet *setup; @@ -256,7 +257,7 @@ static int usbh_hub_set_feature(struct usbh_hub *hub, uint8_t port, uint8_t feat } } -static int usbh_hub_clear_feature(struct usbh_hub *hub, uint8_t port, uint8_t feature) +int usbh_hub_clear_feature(struct usbh_hub *hub, uint8_t port, uint8_t feature) { struct usb_setup_packet roothub_setup; struct usb_setup_packet *setup; diff --git a/class/hub/usbh_hub.h b/class/hub/usbh_hub.h index f46750d9..d44f6bc9 100644 --- a/class/hub/usbh_hub.h +++ b/class/hub/usbh_hub.h @@ -6,7 +6,6 @@ #ifndef USBH_HUB_H #define USBH_HUB_H -#include "usbh_core.h" #include "usb_hub.h" #define USBH_HUB_MAX_PORTS 4 @@ -14,10 +13,15 @@ #define USBH_HUB_INTIN_BUFSIZE ((USBH_HUB_MAX_PORTS + 8) >> 3) extern usb_slist_t hub_class_head; +extern struct usbh_hub roothub; #ifdef __cplusplus extern "C" { #endif + +int usbh_hub_set_feature(struct usbh_hub *hub, uint8_t port, uint8_t feature); +int usbh_hub_clear_feature(struct usbh_hub *hub, uint8_t port, uint8_t feature); + void usbh_roothub_thread_wakeup(uint8_t port); int usbh_hub_initialize(void); #ifdef __cplusplus diff --git a/core/usbh_core.c b/core/usbh_core.c index a02cfee0..33dc7b5f 100644 --- a/core/usbh_core.c +++ b/core/usbh_core.c @@ -4,7 +4,6 @@ * SPDX-License-Identifier: Apache-2.0 */ #include "usbh_core.h" -#include "usbh_hub.h" struct usbh_class_info *usbh_class_info_table_begin = NULL; struct usbh_class_info *usbh_class_info_table_end = NULL; diff --git a/core/usbh_core.h b/core/usbh_core.h index 93732a54..7cc1eace 100644 --- a/core/usbh_core.h +++ b/core/usbh_core.h @@ -19,7 +19,7 @@ #include "usb_log.h" #include "usb_hc.h" #include "usb_osal.h" -#include "usb_hub.h" +#include "usbh_hub.h" #ifdef __cplusplus extern "C" {