Changeset b77931d in mainline for uspace/lib/usbdev/src


Ignore:
Timestamp:
2011-11-05T16:08:01Z (14 years ago)
Author:
Jan Vesely <jano.vesely@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
d176b1d
Parents:
ab27e01
Message:

usb: usb_pipe_t was always allocated in usb_endpoint_mapping_t, embed it.

Location:
uspace/lib/usbdev/src
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/usbdev/src/devdrv.c

    rab27e01 rb77931d  
    361361        /* Now allocate and fully initialize. */
    362362        for (i = 0; i < pipe_count; i++) {
    363                 pipes[i].pipe = malloc(sizeof(usb_pipe_t));
    364                 if (pipes[i].pipe == NULL) {
    365                         rc = ENOMEM;
    366                         goto rollback_free_only;
    367                 }
    368363                pipes[i].description = endpoints[i];
    369364                pipes[i].interface_no = interface_no;
     
    392387        for (i = 0; i < pipe_count; i++) {
    393388                if (pipes[i].present) {
    394                         rc = usb_pipe_register(pipes[i].pipe,
     389                        rc = usb_pipe_register(&pipes[i].pipe,
    395390                            pipes[i].descriptor->poll_interval, &hc_conn);
    396391                        if (rc != EOK) {
     
    420415        for (i = 0; i < pipe_count; i++) {
    421416                if (pipes[i].present) {
    422                         usb_pipe_unregister(pipes[i].pipe, &hc_conn);
     417                        usb_pipe_unregister(&pipes[i].pipe, &hc_conn);
    423418                }
    424419        }
     
    434429         */
    435430rollback_free_only:
    436         for (i = 0; i < pipe_count; i++) {
    437                 if (pipes[i].pipe != NULL) {
    438                         free(pipes[i].pipe);
    439                 }
    440         }
    441431        free(pipes);
    442432
     
    480470                    i, pipes[i].present ? "" : "not ");
    481471                if (pipes[i].present)
    482                         usb_pipe_unregister(pipes[i].pipe, &hc_conn);
    483                 free(pipes[i].pipe);
     472                        usb_pipe_unregister(&pipes[i].pipe, &hc_conn);
    484473        }
    485474
  • uspace/lib/usbdev/src/devpoll.c

    rab27e01 rb77931d  
    7373
    7474        usb_pipe_t *pipe
    75             = polling_data->dev->pipes[polling_data->pipe_index].pipe;
     75            = &polling_data->dev->pipes[polling_data->pipe_index].pipe;
    7676       
    7777        if (polling_data->debug > 0) {
     
    208208                return EINVAL;
    209209        }
    210         if ((dev->pipes[pipe_index].pipe->transfer_type != USB_TRANSFER_INTERRUPT)
    211             || (dev->pipes[pipe_index].pipe->direction != USB_DIRECTION_IN)) {
     210        if ((dev->pipes[pipe_index].pipe.transfer_type != USB_TRANSFER_INTERRUPT)
     211            || (dev->pipes[pipe_index].pipe.direction != USB_DIRECTION_IN)) {
    212212                return EINVAL;
    213213        }
     
    254254                return EINVAL;
    255255        }
    256         if ((dev->pipes[pipe_index].pipe->transfer_type != USB_TRANSFER_INTERRUPT)
    257             || (dev->pipes[pipe_index].pipe->direction != USB_DIRECTION_IN)) {
     256        if ((dev->pipes[pipe_index].pipe.transfer_type != USB_TRANSFER_INTERRUPT)
     257            || (dev->pipes[pipe_index].pipe.direction != USB_DIRECTION_IN)) {
    258258                return EINVAL;
    259259        }
  • uspace/lib/usbdev/src/pipesinit.c

    rab27e01 rb77931d  
    192192        }
    193193
    194         if (ep_mapping->pipe == NULL) {
    195                 return EBADMEM;
    196         }
    197194        if (ep_mapping->present) {
    198195                return EEXISTS;
    199196        }
    200197
    201         int rc = usb_pipe_initialize(ep_mapping->pipe, wire,
     198        int rc = usb_pipe_initialize(&ep_mapping->pipe, wire,
    202199            ep_no, description.transfer_type, endpoint->max_packet_size,
    203200            description.direction);
     
    254251 *
    255252 * The mapping array is expected to conform to following rules:
    256  * - @c pipe must point to already allocated structure with uninitialized pipe
     253 * - @c pipe must be uninitialized pipe
    257254 * - @c description must point to prepared endpoint description
    258255 * - @c descriptor does not need to be initialized (will be overwritten)
     
    297294        }
    298295
    299         /*
    300          * Go through the mapping and set all endpoints to not present.
    301          */
    302         size_t i;
    303         for (i = 0; i < mapping_count; i++) {
     296        /* Go through the mapping and set all endpoints to not present. */
     297        for (size_t i = 0; i < mapping_count; i++) {
    304298                mapping[i].present = false;
    305299                mapping[i].descriptor = NULL;
     
    307301        }
    308302
    309         /*
    310          * Prepare the descriptor parser.
    311          */
     303        /* Prepare the descriptor parser. */
    312304        const usb_dp_parser_t dp_parser = {
    313305                .nesting = descriptor_nesting
Note: See TracChangeset for help on using the changeset viewer.