#include <bool.h>
#include <errno.h>
#include <str_error.h>
#include <inttypes.h>
#include <fibril_synch.h>
#include <usb/debug.h>
#include "ports.h"
#include "usbhub.h"
#include "usbhub_private.h"
#include "port_status.h"
Go to the source code of this file.
Data Structures | |
struct | add_device_phase1 |
Information for fibril for device discovery. More... | |
Functions | |
static int | add_device_phase1_worker_fibril (void *arg) |
Fibril for adding a new device. | |
static int | create_add_device_fibril (usb_hub_info_t *hub, size_t port, usb_speed_t speed) |
Start device adding when connection change is detected. | |
static int | enable_port_callback (int port_no, void *arg) |
Callback for enabling a specific port. | |
static int | get_port_status (usb_pipe_t *ctrl_pipe, size_t port, usb_port_status_t *status) |
Retrieve port status. | |
static void | usb_hub_port_over_current (usb_hub_info_t *hub, uint16_t port, uint32_t status) |
Process over current condition on port. | |
static void | usb_hub_port_reset_completed (usb_hub_info_t *hub, uint16_t port, uint32_t status) |
Process port reset change. | |
void | usb_hub_process_port_interrupt (usb_hub_info_t *hub, uint16_t port) |
Process interrupts on given hub port. | |
static void | usb_hub_removed_device (usb_hub_info_t *hub, uint16_t port) |
routine called when a device on port has been removed | |
Variables | |
static const int | non_handled_changes [] |
port status changes that are not explicitly handled by any function here and must be cleared by hand | |
static const unsigned int | non_handled_changes_count = 2 |
count of port status changes that are not explicitly handled by any function here and must be cleared by hand |
Definition in file ports.c.