Changeset 040ab02 in mainline for uspace/drv/usbhub/usbhub_private.h


Ignore:
Timestamp:
2011-04-05T19:45:52Z (13 years ago)
Author:
Matus Dekanek <smekideki@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
90d0522
Parents:
3bb6b35
Message:

usb hub global over-current and power changes

File:
1 edited

Legend:

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

    r3bb6b35 r040ab02  
    111111
    112112/**
     113 * Clear feature on hub port.
     114 *
     115 * @param hc Host controller telephone
     116 * @param address Hub address
     117 * @param port_index Port
     118 * @param feature Feature selector
     119 * @return Operation result
     120 */
     121static inline int usb_hub_set_port_feature(usb_pipe_t *pipe,
     122    int port_index,
     123    usb_hub_class_feature_t feature) {
     124
     125        usb_device_request_setup_packet_t clear_request = {
     126                .request_type = USB_HUB_REQ_TYPE_CLEAR_PORT_FEATURE,
     127                .request = USB_DEVREQ_SET_FEATURE,
     128                .length = 0,
     129                .index = port_index
     130        };
     131        clear_request.value = feature;
     132        return usb_pipe_control_write(pipe, &clear_request,
     133            sizeof(clear_request), NULL, 0);
     134}
     135
     136
     137/**
     138 * Clear feature on hub port.
     139 *
     140 * @param pipe pipe to hub control endpoint
     141 * @param feature Feature selector
     142 * @return Operation result
     143 */
     144static inline int usb_hub_clear_feature(usb_pipe_t *pipe,
     145    usb_hub_class_feature_t feature) {
     146
     147        usb_device_request_setup_packet_t clear_request = {
     148                .request_type = USB_HUB_REQ_TYPE_CLEAR_HUB_FEATURE,
     149                .request = USB_DEVREQ_CLEAR_FEATURE,
     150                .length = 0,
     151                .index = 0
     152        };
     153        clear_request.value = feature;
     154        return usb_pipe_control_write(pipe, &clear_request,
     155            sizeof(clear_request), NULL, 0);
     156}
     157
     158/**
     159 * Clear feature on hub port.
     160 *
     161 * @param pipe pipe to hub control endpoint
     162 * @param feature Feature selector
     163 * @return Operation result
     164 */
     165static inline int usb_hub_set_feature(usb_pipe_t *pipe,
     166    usb_hub_class_feature_t feature) {
     167
     168        usb_device_request_setup_packet_t clear_request = {
     169                .request_type = USB_HUB_REQ_TYPE_CLEAR_HUB_FEATURE,
     170                .request = USB_DEVREQ_SET_FEATURE,
     171                .length = 0,
     172                .index = 0
     173        };
     174        clear_request.value = feature;
     175        return usb_pipe_control_write(pipe, &clear_request,
     176            sizeof(clear_request), NULL, 0);
     177}
     178
     179/**
    113180 * create uint8_t array with serialized descriptor
    114181 *
Note: See TracChangeset for help on using the changeset viewer.