Changeset 0e126be7 in mainline for uspace/lib/usb/usbdrv.c


Ignore:
Timestamp:
2010-11-20T13:17:54Z (15 years ago)
Author:
Vojtech Horky <vojtechhorky@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
4b4c797
Parents:
e27595b
Message:

USB drivers specifies full target in requests

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/usb/usbdrv.c

    re27595b r0e126be7  
    6767}
    6868
     69/** Tell USB address assigned to given device.
     70 *
     71 * @param phone Phone to my HC.
     72 * @param dev Device in question.
     73 * @return USB address or error code.
     74 */
     75usb_address_t usb_drv_get_my_address(int phone, device_t *dev)
     76{
     77        return ENOTSUP;
     78}
     79
    6980/** Send data to HCD.
    7081 *
    7182 * @param phone Phone to HC.
    7283 * @param method Method used for calling.
    73  * @param endpoint Device endpoint.
     84 * @param target Targeted device.
    7485 * @param buffer Data buffer (NULL to skip data transfer phase).
    7586 * @param size Buffer size (must be zero when @p buffer is NULL).
     
    8091 */
    8192static int async_send_buffer(int phone, int method,
    82     usb_endpoint_t endpoint,
     93    usb_target_t target,
    8394    void *buffer, size_t size,
    8495    usb_handle_t *handle)
     
    109120        int rc;
    110121
    111         transfer->request = async_send_3(phone,
     122        transfer->request = async_send_4(phone,
    112123            DEV_IFACE_ID(USB_DEV_IFACE),
    113124            method,
    114             endpoint,
     125            target.address, target.endpoint,
    115126            size,
    116127            &transfer->reply);
     
    133144 * @param phone Opened phone to HCD.
    134145 * @param method Method used for calling.
    135  * @param endpoint Device endpoint.
     146 * @param target Targeted device.
    136147 * @param buffer Buffer where to store retrieved data
    137148 *      (NULL to skip data transfer phase).
     
    145156 */
    146157static int async_recv_buffer(int phone, int method,
    147     usb_endpoint_t endpoint,
     158    usb_target_t target,
    148159    void *buffer, size_t size, size_t *actual_size,
    149160    usb_handle_t *handle)
     
    172183        transfer->phone = phone;
    173184
    174         transfer->request = async_send_3(phone,
     185        transfer->request = async_send_4(phone,
    175186            DEV_IFACE_ID(USB_DEV_IFACE),
    176187            method,
    177             endpoint,
     188            target.address, target.endpoint,
    178189            size,
    179190            &transfer->reply);
     
    289300
    290301/** Send interrupt data to device. */
    291 int usb_drv_async_interrupt_out(int phone, usb_endpoint_t endpoint,
     302int usb_drv_async_interrupt_out(int phone, usb_target_t target,
    292303    void *buffer, size_t size,
    293304    usb_handle_t *handle)
     
    295306        return async_send_buffer(phone,
    296307            IPC_M_USB_INTERRUPT_OUT,
    297             endpoint,
     308            target,
    298309            buffer, size,
    299310            handle);
     
    301312
    302313/** Request interrupt data from device. */
    303 int usb_drv_async_interrupt_in(int phone, usb_endpoint_t endpoint,
     314int usb_drv_async_interrupt_in(int phone, usb_target_t target,
    304315    void *buffer, size_t size, size_t *actual_size,
    305316    usb_handle_t *handle)
     
    307318        return async_recv_buffer(phone,
    308319            IPC_M_USB_INTERRUPT_IN,
    309             endpoint,
     320            target,
    310321            buffer, size, actual_size,
    311322            handle);
Note: See TracChangeset for help on using the changeset viewer.