Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/usb/src/hc.c

    r02fc5c4 r8e5ce07  
    153153        if (!usb_hc_connection_is_opened(connection))
    154154                return ENOENT;
    155 
     155       
    156156        async_exch_t *exch = async_exchange_begin(connection->hc_sess);
    157         if (!exch)
    158                 return ENOMEM;
    159         const int ret = usbhc_get_handle(exch, address, handle);
     157       
     158        sysarg_t tmp;
     159        int rc = async_req_2_1(exch, DEV_IFACE_ID(USBHC_DEV_IFACE),
     160            IPC_M_USBHC_GET_HANDLE_BY_ADDRESS,
     161            address, &tmp);
     162       
    160163        async_exchange_end(exch);
    161         return ret;
     164       
     165        if ((rc == EOK) && (handle != NULL))
     166                *handle = tmp;
     167       
     168        return rc;
    162169}
    163170
     
    167174 * @return USB address or negative error code.
    168175 */
    169 usb_address_t usb_get_address_by_handle(devman_handle_t dev_handle)
     176usb_address_t usb_hc_get_address_by_handle(devman_handle_t dev_handle)
    170177{
    171178        async_sess_t *parent_sess =
     
    174181        if (!parent_sess)
    175182                return ENOMEM;
    176 
     183       
    177184        async_exch_t *exch = async_exchange_begin(parent_sess);
    178         if (!exch) {
    179                 async_hangup(parent_sess);
    180                 return ENOMEM;
    181         }
    182         usb_address_t address;
    183         const int ret = usb_get_my_address(exch, &address);
    184 
     185       
     186        sysarg_t address;
     187        int rc = async_req_2_1(exch, DEV_IFACE_ID(USB_DEV_IFACE),
     188            IPC_M_USB_GET_ADDRESS,
     189            dev_handle, &address);
     190       
    185191        async_exchange_end(exch);
    186192        async_hangup(parent_sess);
    187 
    188         if (ret != EOK)
    189                 return ret;
    190 
    191         return address;
     193       
     194        if (rc != EOK)
     195                return rc;
     196       
     197        return (usb_address_t) address;
    192198}
    193199
     
    226232        if (!parent_sess)
    227233                return ENOMEM;
    228 
     234       
    229235        async_exch_t *exch = async_exchange_begin(parent_sess);
    230         if (!exch) {
    231                 async_hangup(parent_sess);
    232                 return ENOMEM;
    233         }
    234         const int ret = usb_get_hc_handle(exch, hc_handle);
    235 
     236       
     237        devman_handle_t h;
     238        int rc = async_req_1_1(exch, DEV_IFACE_ID(USB_DEV_IFACE),
     239            IPC_M_USB_GET_HOST_CONTROLLER_HANDLE, &h);
     240       
    236241        async_exchange_end(exch);
    237242        async_hangup(parent_sess);
    238 
    239         return ret;
     243       
     244        if (rc != EOK)
     245                return rc;
     246       
     247        if (hc_handle != NULL)
     248                *hc_handle = h;
     249       
     250        return EOK;
    240251}
    241252
Note: See TracChangeset for help on using the changeset viewer.