Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/drv/nic/ar9271/ath_usb.c

    r5a6cc679 rb7fd2a0  
    5959 *
    6060 */
    61 errno_t ath_usb_init(ath_t *ath, usb_device_t *usb_device, const usb_endpoint_description_t **endpoints)
     61errno_t ath_usb_init(ath_t *ath, usb_device_t *usb_device)
    6262{
    6363        ath_usb_t *ath_usb = malloc(sizeof(ath_usb_t));
     
    7070        ath_usb->usb_device = usb_device;
    7171       
    72         int rc;
    73 
    74 #define _MAP_EP(target, ep_no) do {\
    75         usb_endpoint_mapping_t *epm = usb_device_get_mapped_ep_desc(usb_device, endpoints[ep_no]);\
    76         if (!epm || !epm->present) {\
    77                 usb_log_error("Failed to map endpoint: " #ep_no ".");\
    78                 rc = ENOENT;\
    79                 goto err_ath_usb;\
    80         }\
    81         target = &epm->pipe;\
    82         } while (0);
    83 
    84         _MAP_EP(ath_usb->output_data_pipe, 0);
    85         _MAP_EP(ath_usb->input_data_pipe, 1);
    86         _MAP_EP(ath_usb->input_ctrl_pipe, 2);
    87         _MAP_EP(ath_usb->output_ctrl_pipe, 3);
    88 
    89 #undef _MAP_EP
     72        /* TODO: Assign by iterating over pipes. */
     73        ath_usb->output_data_pipe_number = 0;
     74        ath_usb->input_data_pipe_number = 1;
     75        ath_usb->input_ctrl_pipe_number = 2;
     76        ath_usb->output_ctrl_pipe_number = 3;
    9077       
    9178        ath->ctrl_response_length = 64;
     
    9683       
    9784        return EOK;
    98 err_ath_usb:
    99         free(ath_usb);
    100         return rc;
    10185}
    10286
     
    11498{
    11599        ath_usb_t *ath_usb = (ath_usb_t *) ath->specific_data;
    116         return usb_pipe_write(ath_usb->output_ctrl_pipe, buffer, buffer_size);
     100        usb_pipe_t *pipe = &usb_device_get_mapped_ep(
     101            ath_usb->usb_device, ath_usb->output_ctrl_pipe_number)->pipe;
     102       
     103        return usb_pipe_write(pipe, buffer, buffer_size);
    117104}
    118105
     
    131118{
    132119        ath_usb_t *ath_usb = (ath_usb_t *) ath->specific_data;
    133         return usb_pipe_read(ath_usb->input_ctrl_pipe, buffer, buffer_size, transferred_size);
     120        usb_pipe_t *pipe = &usb_device_get_mapped_ep(
     121            ath_usb->usb_device, ath_usb->input_ctrl_pipe_number)->pipe;
     122       
     123        return usb_pipe_read(pipe, buffer, buffer_size, transferred_size);
    134124}
    135125
     
    158148       
    159149        ath_usb_t *ath_usb = (ath_usb_t *) ath->specific_data;
    160         const errno_t ret_val = usb_pipe_write(ath_usb->output_data_pipe,
    161             complete_buffer, complete_buffer_size);
     150        usb_pipe_t *pipe = &usb_device_get_mapped_ep(
     151            ath_usb->usb_device, ath_usb->output_data_pipe_number)->pipe;
     152       
     153        errno_t ret_val = usb_pipe_write(pipe, complete_buffer,
     154            complete_buffer_size);
    162155       
    163156        free(complete_buffer);
     
    180173{
    181174        ath_usb_t *ath_usb = (ath_usb_t *) ath->specific_data;
    182         return usb_pipe_read(ath_usb->input_data_pipe, buffer, buffer_size, transferred_size);
     175        usb_pipe_t *pipe = &usb_device_get_mapped_ep(
     176            ath_usb->usb_device, ath_usb->input_data_pipe_number)->pipe;
     177       
     178        return usb_pipe_read(pipe, buffer, buffer_size, transferred_size);
    183179}
Note: See TracChangeset for help on using the changeset viewer.