Changeset b3433a2 in mainline for uspace/drv/bus/usb/usbhub/ports.c


Ignore:
Timestamp:
2011-09-23T10:17:25Z (14 years ago)
Author:
Jan Vesely <jano.vesely@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
bba0f1fc
Parents:
8d3cd30
Message:

usbhub: Create GET_PORT_STATUS request inline isntead of creation function.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/drv/bus/usb/usbhub/ports.c

    r8d3cd30 rb3433a2  
    9898{
    9999        usb_log_debug("Interrupt at port %zu\n", (size_t) port);
    100         //determine type of change
    101         //usb_pipe_t *pipe = hub->control_pipe;
    102 
    103         int opResult;
    104100
    105101        usb_port_status_t status;
    106         opResult = get_port_status(&hub->usb_device->ctrl_pipe, port, &status);
     102        const int opResult =
     103            get_port_status(&hub->usb_device->ctrl_pipe, port, &status);
    107104        if (opResult != EOK) {
    108105                usb_log_error("Failed to get port %zu status: %s.\n",
     
    119116
    120117                if (device_connected) {
    121                         opResult = create_add_device_fibril(hub, port,
     118                        const int opResult = create_add_device_fibril(hub, port,
    122119                            usb_port_speed(status));
    123120                        if (opResult != EOK) {
     
    300297 */
    301298static int get_port_status(usb_pipe_t *ctrl_pipe, size_t port,
    302     usb_port_status_t *status) {
     299    usb_port_status_t *status)
     300{
    303301        size_t recv_size;
    304         usb_device_request_setup_packet_t request;
    305302        usb_port_status_t status_tmp;
    306 
    307         usb_hub_set_port_status_request(&request, port);
    308         int rc = usb_pipe_control_read(ctrl_pipe,
    309             &request, sizeof (usb_device_request_setup_packet_t),
    310             &status_tmp, sizeof (status_tmp), &recv_size);
     303        /* USB hub specific GET_PORT_STATUS request. See USB Spec 11.16.2.6 */
     304        const usb_device_request_setup_packet_t request = {
     305                .request_type = USB_HUB_REQ_TYPE_GET_PORT_STATUS,
     306                .request = USB_HUB_REQUEST_GET_STATUS,
     307                .value = 0,
     308                .index = port,
     309                .length = sizeof(usb_port_status_t),
     310        };
     311
     312        const int rc = usb_pipe_control_read(ctrl_pipe,
     313            &request, sizeof(usb_device_request_setup_packet_t),
     314            &status_tmp, sizeof(status_tmp), &recv_size);
    311315        if (rc != EOK) {
    312316                return rc;
Note: See TracChangeset for help on using the changeset viewer.