Changeset 35bc430 in mainline


Ignore:
Timestamp:
2013-01-27T00:42:14Z (11 years ago)
Author:
Jan Vesely <jano.vesely@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
8b68bdf
Parents:
bb70637
Message:

libusbdev: Use internal bus_session to get device info.

File:
1 edited

Legend:

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

    rbb70637 r35bc430  
    313313}
    314314
     315static int usb_dev_get_info(usb_device_t *usb_dev, devman_handle_t *handle,
     316    usb_address_t *address, int *iface_no)
     317{
     318        assert(usb_dev);
     319
     320        int ret = EOK;
     321        async_exch_t *exch = async_exchange_begin(usb_dev->bus_session);
     322        if (!exch)
     323                ret = ENOMEM;
     324
     325        if (ret == EOK && address)
     326                ret = usb_get_my_address(exch, address);
     327
     328        if (ret == EOK && handle)
     329                ret = usb_get_hc_handle(exch, handle);
     330
     331        if (ret == EOK && iface_no) {
     332                ret = usb_get_my_interface(exch, iface_no);
     333                if (ret == ENOTSUP) {
     334                        ret = EOK;
     335                        *iface_no = -1;
     336                }
     337        }
     338
     339        async_exchange_end(exch);
     340        return ret;
     341}
     342
    315343/** Initialize new instance of USB device.
    316344 *
     
    346374        usb_address_t address;
    347375
    348         int rc = usb_get_info_by_handle(ddf_dev_get_handle(ddf_dev),
     376        int rc = usb_dev_get_info(usb_dev,
    349377            &hc_handle, &address, &usb_dev->interface_no);
    350378        if (rc != EOK) {
     
    436464{
    437465        assert(usb_dev);
    438         assert(usb_dev->ddf_dev);
    439         //TODO Handle case without ddf_dev
    440         return ddf_dev_get_name(usb_dev->ddf_dev);
     466        if (usb_dev->ddf_dev)
     467                return ddf_dev_get_name(usb_dev->ddf_dev);
     468        return NULL;
    441469}
    442470
Note: See TracChangeset for help on using the changeset viewer.