summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsakumisu <[email protected]>2023-11-20 22:15:43 +0800
committersakumisu <[email protected]>2023-11-20 22:15:43 +0800
commit9ea2121c7c5eae505f4b03c22be963ba604bc8b0 (patch)
tree889a63769c187506ba3079bf1592f6d6cd279e60
parentbbcb433564d6c769cfdc05673f0ed984e8d59931 (diff)
make hub_set_feature and hub_clear_feature api public
-rw-r--r--class/hub/usbh_hub.c5
-rw-r--r--class/hub/usbh_hub.h6
-rw-r--r--core/usbh_core.c1
-rw-r--r--core/usbh_core.h2
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" {