Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/drv/usbhub/usbhub.h

    r3e490eb r578a2547  
    4343
    4444#include <usb/hub.h>
    45 #include <usb/classes/hub.h>
    4645
    4746#include <usb/pipes.h>
    4847#include <usb/devdrv.h>
    4948
    50 #include <fibril_synch.h>
     49#include "ports.h"
    5150
    5251
    53 /** Information about single port on a hub. */
    54 typedef struct {
    55         /** Mutex needed by CV for checking port reset. */
    56         fibril_mutex_t reset_mutex;
    57         /** CV for waiting to port reset completion. */
    58         fibril_condvar_t reset_cv;
    59         /** Whether port reset is completed.
    60          * Guarded by @c reset_mutex.
    61          */
    62         bool reset_completed;
    63 
    64         /** Information about attached device. */
    65         usb_hc_attached_device_t attached_device;
    66 } usb_hub_port_t;
    67 
    68 /** Initialize hub port information.
    69  *
    70  * @param port Port to be initialized.
    71  */
    72 static inline void usb_hub_port_init(usb_hub_port_t *port) {
    73         port->attached_device.address = -1;
    74         port->attached_device.handle = 0;
    75         fibril_mutex_initialize(&port->reset_mutex);
    76         fibril_condvar_initialize(&port->reset_cv);
    77 }
    7852
    7953/** Information about attached hub. */
     
    8256        size_t port_count;
    8357
    84         /** attached device handles, for each port one */
     58        /** Ports. */
    8559        usb_hub_port_t *ports;
    86 
     60       
    8761        /** connection to hcd */
    8862        usb_hc_connection_t connection;
     
    11589} usb_hub_info_t;
    11690
    117 //int usb_hub_control_loop(void * hub_info_param);
     91/**
     92 * function running the hub-controlling loop.
     93 * @param hub_info_param hub info pointer
     94 */
     95int usb_hub_control_loop(void * hub_info_param);
     96
     97/**
     98 * Check changes on specified hub
     99 * @param hub_info_param pointer to usb_hub_info_t structure
     100 * @return error code if there is problem when initializing communication with
     101 * hub, EOK otherwise
     102 */
     103int usb_hub_check_hub_changes(usb_hub_info_t * hub_info_param);
     104
     105void usb_hub_removed_device(usb_hub_info_t *, uint16_t);
     106void usb_hub_over_current(usb_hub_info_t *, uint16_t);
    118107
    119108int usb_hub_add_device(usb_device_t * usb_dev);
    120109
    121 int usb_hub_check_hub_changes(usb_hub_info_t * hub_info_param);
    122 
    123 bool hub_port_changes_callback(usb_device_t *dev,
    124     uint8_t *change_bitmap, size_t change_bitmap_size, void *arg);
    125110#endif
    126111/**
Note: See TracChangeset for help on using the changeset viewer.