Changeset 239eea41 in mainline for uspace/lib/usbdev


Ignore:
Timestamp:
2018-02-05T02:04:58Z (7 years ago)
Author:
Ondřej Hlavatý <aearsis@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
fc3dfe6d
Parents:
af16ebe
Message:

libdrv usbhc iface: wrap transfer arguments into structure

File:
1 edited

Legend:

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

    raf16ebe r239eea41  
    3939
    4040#include <assert.h>
     41#include <bitops.h>
    4142#include <async.h>
     43#include <as.h>
    4244#include <errno.h>
    4345#include <mem.h>
     
    6163}
    6264
     65/* Helper structure to avoid passing loads of arguments through */
    6366typedef struct {
    6467        usb_pipe_t *pipe;
    6568        usb_direction_t dir;
    66         bool is_control;
    67         uint64_t setup;
     69        bool is_control;        // Only for checking purposes
    6870        void *buffer;
    6971        size_t buffer_size;
     72
     73        usbhc_iface_transfer_request_t req;
     74
    7075        size_t transferred_size;
    7176} transfer_t;
     
    8085                return ENOMEM;
    8186
    82         const errno_t rc = usbhc_transfer(exch, t->pipe->desc.endpoint_no,
    83             t->dir, t->setup, t->buffer, t->buffer_size, &t->transferred_size);
     87        t->req.dir = t->dir;
     88        t->req.endpoint = t->pipe->desc.endpoint_no;
     89
     90        /* We support only aligned buffers for now. */
     91        t->req.base = t->buffer;
     92        t->req.offset = 0;
     93        t->req.size = t->buffer_size;
     94
     95        const errno_t rc = usbhc_transfer(exch, &t->req, &t->transferred_size);
    8496
    8597        async_exchange_end(exch);
     
    143155                return EINVAL;
    144156       
    145         memcpy(&t->setup, setup, 8);
     157        memcpy(&t->req.setup, setup, 8);
    146158        return EOK;
    147159}
Note: See TracChangeset for help on using the changeset viewer.