Ignore:
Timestamp:
2011-09-23T12:59:35Z (13 years ago)
Author:
Jan Vesely <jano.vesely@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
6c5abf9
Parents:
48a31be
Message:

usbhub: Move feature set/clear to ports.h, refactor reset sequence.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/drv/bus/usb/usbhub/port_status.h

    r48a31be raff1880  
    3131 */
    3232
    33 #ifndef HUB_PORT_STATUS_H
    34 #define HUB_PORT_STATUS_H
     33#ifndef HUB_STATUS_H
     34#define HUB_STATUS_H
    3535
    3636#include <bool.h>
     
    8989    (1 << (16 + USB_HUB_FEATURE_C_HUB_LOCAL_POWER))
    9090
    91 /**
    92  * set the device request to be a port feature enable request
    93  * @param request
    94  * @param port
    95  * @param feature_selector
    96  */
    97 static inline void usb_hub_set_enable_port_feature_request(
    98     usb_device_request_setup_packet_t *request, uint16_t port,
    99     uint16_t feature_selector) {
    100         request->index = port;
    101         request->request_type = USB_HUB_REQ_TYPE_SET_PORT_FEATURE;
    102         request->request = USB_HUB_REQUEST_SET_FEATURE;
    103         request->value = feature_selector;
    104         request->length = 0;
    105 }
    106 
    107 /**
    108  * set the device request to be a port feature clear request
    109  * @param request
    110  * @param port
    111  * @param feature_selector
    112  */
    113 static inline void usb_hub_set_disable_port_feature_request(
    114     usb_device_request_setup_packet_t *request, uint16_t port,
    115     uint16_t feature_selector
    116     ) {
    117         request->index = port;
    118         request->request_type = USB_HUB_REQ_TYPE_SET_PORT_FEATURE;
    119         request->request = USB_HUB_REQUEST_CLEAR_FEATURE;
    120         request->value = feature_selector;
    121         request->length = 0;
    122 }
    123 
    124 /**
    125  * set the device request to be a port disable request
    126  * @param request
    127  * @param port
    128  */
    129 static inline void usb_hub_set_reset_port_request(
    130     usb_device_request_setup_packet_t *request, uint16_t port
    131     ) {
    132         request->index = port;
    133         request->request_type = USB_HUB_REQ_TYPE_SET_PORT_FEATURE;
    134         request->request = USB_HUB_REQUEST_SET_FEATURE;
    135         request->value = USB_HUB_FEATURE_PORT_RESET;
    136         request->length = 0;
    137 }
    138 
    139 /**
    140  * get i`th bit of port status
    141  *
    142  * @param status
    143  * @param idx
    144  * @return
    145  */
    146 static inline bool usb_port_is_status(usb_port_status_t status, int idx) {
    147         return (status & (1 << idx)) != 0;
    148 }
    14991
    15092/**
     
    15496 * @return speed of usb device (for more see usb specification)
    15597 */
    156 static inline usb_speed_t usb_port_speed(usb_port_status_t status) {
     98static inline usb_speed_t usb_port_speed(usb_port_status_t status)
     99{
    157100        if ((status & USB_HUB_PORT_STATUS_LOW_SPEED) != 0)
    158101                return USB_SPEED_LOW;
     
    162105}
    163106
    164 
    165 
    166 #endif  /* HUB_PORT_STATUS_H */
     107#endif  /* HUB_STATUS_H */
    167108/**
    168109 * @}
Note: See TracChangeset for help on using the changeset viewer.