Changeset b4b534ac in mainline for uspace/lib/usbdev/src/pipesinit.c


Ignore:
Timestamp:
2016-07-22T08:24:47Z (9 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
f76d2c2
Parents:
5b18137 (diff), 8351f9a4 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge from lp:~jan.vesely/helenos/usb

File:
1 edited

Legend:

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

    r5b18137 rb4b534ac  
    3434 *
    3535 */
    36 #include <usb/usb.h>
    3736#include <usb/dev/pipes.h>
    3837#include <usb/dev/dp.h>
    3938#include <usb/dev/request.h>
     39#include <usb/usb.h>
     40#include <usb/descriptor.h>
     41
     42#include <assert.h>
    4043#include <errno.h>
    41 #include <assert.h>
    4244
    4345#define DEV_DESCR_MAX_PACKET_SIZE_OFFSET 7
     
    148150 * @param interface Interface descriptor under which belongs the @p endpoint.
    149151 * @param endpoint Endpoint descriptor.
    150  * @param wire Connection backing the endpoint pipes.
    151152 * @return Error code.
    152153 */
     
    155156    usb_standard_interface_descriptor_t *interface,
    156157    usb_standard_endpoint_descriptor_t *endpoint_desc,
    157     usb_device_connection_t *wire)
     158    usb_dev_session_t *bus_session)
    158159{
    159160
     
    193194        }
    194195
    195         int rc = usb_pipe_initialize(&ep_mapping->pipe, wire,
     196        int rc = usb_pipe_initialize(&ep_mapping->pipe,
    196197            ep_no, description.transfer_type,
    197             uint16_usb2host(endpoint_desc->max_packet_size),
    198             description.direction);
     198            ED_MPS_PACKET_SIZE_GET(
     199                uint16_usb2host(endpoint_desc->max_packet_size)),
     200            description.direction,
     201            ED_MPS_TRANS_OPPORTUNITIES_GET(
     202                uint16_usb2host(endpoint_desc->max_packet_size)), bus_session);
    199203        if (rc != EOK) {
    200204                return rc;
     
    220224    usb_endpoint_mapping_t *mapping, size_t mapping_count,
    221225    const usb_dp_parser_t *parser, const usb_dp_parser_data_t *parser_data,
    222     const uint8_t *interface_descriptor)
     226    const uint8_t *interface_descriptor, usb_dev_session_t *bus_session)
    223227{
    224228        const uint8_t *descriptor = usb_dp_get_nested_descriptor(parser,
     
    236240                            (usb_standard_endpoint_descriptor_t *)
    237241                                descriptor,
    238                             (usb_device_connection_t *) parser_data->arg);
     242                            bus_session);
    239243                }
    240244
     
    280284    usb_endpoint_mapping_t *mapping, size_t mapping_count,
    281285    const uint8_t *config_descriptor, size_t config_descriptor_size,
    282     usb_device_connection_t *connection)
    283 {
    284         assert(connection);
     286    usb_dev_session_t *bus_session)
     287{
    285288
    286289        if (config_descriptor == NULL) {
     
    306309                .data = config_descriptor,
    307310                .size = config_descriptor_size,
    308                 .arg = connection
    309311        };
    310312
     
    319321        do {
    320322                (void) process_interface(mapping, mapping_count,
    321                     &dp_parser, &dp_data, interface);
     323                    &dp_parser, &dp_data, interface, bus_session);
    322324                interface = usb_dp_get_sibling_descriptor(&dp_parser, &dp_data,
    323325                    config_descriptor, interface);
     
    347349                return EINVAL;
    348350        }
    349 
    350 
    351         usb_pipe_start_long_transfer(pipe);
    352351
    353352        uint8_t dev_descr_start[CTRL_PIPE_MIN_PACKET_SIZE];
     
    367366                }
    368367        }
    369         usb_pipe_end_long_transfer(pipe);
    370368        if (rc != EOK) {
    371369                return rc;
Note: See TracChangeset for help on using the changeset viewer.