diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/host/hub.c | 16 | ||||
| -rw-r--r-- | src/host/usbh.c | 14 | ||||
| -rw-r--r-- | src/host/usbh_hub.h | 64 |
3 files changed, 13 insertions, 81 deletions
diff --git a/src/host/hub.c b/src/host/hub.c index 04618d448..bc1434471 100644 --- a/src/host/hub.c +++ b/src/host/hub.c @@ -46,7 +46,6 @@ // INCLUDE
//--------------------------------------------------------------------+
#include "hub.h"
-#include "usbh_hub.h"
//--------------------------------------------------------------------+
// MACRO CONSTANT TYPEDEF
@@ -211,6 +210,7 @@ bool hub_open_subtask(uint8_t dev_addr, tusb_desc_interface_t const *p_interface }
// is the response of interrupt endpoint polling
+#include "usbh_hcd.h" // FIXME remove
void hub_isr(pipe_handle_t pipe_hdl, xfer_result_t event, uint32_t xferred_bytes)
{
(void) xferred_bytes; // TODO can be more than 1 for hub with lots of ports
@@ -220,10 +220,20 @@ void hub_isr(pipe_handle_t pipe_hdl, xfer_result_t event, uint32_t xferred_bytes if ( event == XFER_RESULT_SUCCESS )
{
for (uint8_t port=1; port <= p_hub->port_number; port++)
- { // TODO HUB ignore bit0 hub_status_change
+ {
+ // TODO HUB ignore bit0 hub_status_change
if ( BIT_TEST_(p_hub->status_change, port) )
{
- usbh_hub_port_plugged_isr(pipe_hdl.dev_addr, port);
+ hcd_event_t event =
+ {
+ .rhport = _usbh_devices[pipe_hdl.dev_addr].core_id,
+ .event_id = HCD_EVENT_DEVICE_ATTACH
+ };
+
+ event.attach.hub_addr = pipe_hdl.dev_addr;
+ event.attach.hub_port = port;
+
+ hcd_event_handler(&event, true);
break; // handle one port at a time, next port if any will be handled in the next cycle
}
}
diff --git a/src/host/usbh.c b/src/host/usbh.c index c83424c9f..764203dbf 100644 --- a/src/host/usbh.c +++ b/src/host/usbh.c @@ -291,20 +291,6 @@ void usbh_xfer_isr(pipe_handle_t pipe_hdl, uint8_t class_code, xfer_result_t eve }
}
-void usbh_hub_port_plugged_isr(uint8_t hub_addr, uint8_t hub_port)
-{
- hcd_event_t event =
- {
- .rhport = _usbh_devices[hub_addr].core_id,
- .event_id = HCD_EVENT_DEVICE_ATTACH
- };
-
- event.attach.hub_addr = hub_addr;
- event.attach.hub_port = hub_port;
-
- hcd_event_handler(&event, true);
-}
-
void hcd_event_device_attach(uint8_t rhport)
{
hcd_event_t event =
diff --git a/src/host/usbh_hub.h b/src/host/usbh_hub.h deleted file mode 100644 index 48a81bcd2..000000000 --- a/src/host/usbh_hub.h +++ /dev/null @@ -1,64 +0,0 @@ -/**************************************************************************/ -/*! - @file usbh_hub.h - @author hathach (tinyusb.org) - - @section LICENSE - - Software License Agreement (BSD License) - - Copyright (c) 2013, hathach (tinyusb.org) - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - 1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - 3. Neither the name of the copyright holders nor the - names of its contributors may be used to endorse or promote products - derived from this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY - EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY - DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - This file is part of the tinyusb stack. -*/ -/**************************************************************************/ - -/** \ingroup group_usbh - * @{ */ - -#ifndef _TUSB_USBH_HUB_H_ -#define _TUSB_USBH_HUB_H_ - -//--------------------------------------------------------------------+ -// INCLUDE -//--------------------------------------------------------------------+ -#include "common/tusb_common.h" - -#ifdef __cplusplus - extern "C" { -#endif - - -void usbh_hub_port_plugged_isr(uint8_t hub_addr, uint8_t hub_port); - - -#ifdef __cplusplus - } -#endif - -#endif /* _TUSB_USBH_HUB_H_ */ - -/** @} */ |
