Changeset d93f5afb in mainline for uspace/lib/usbdev/src/devdrv.c


Ignore:
Timestamp:
2013-08-02T15:59:51Z (12 years ago)
Author:
Jan Vesely <jano.vesely@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
dcbda00
Parents:
3969a42
Message:

libusbdev: Cleanup unused code.

File:
1 edited

Legend:

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

    r3969a42 rd93f5afb  
    4545/** USB device structure. */
    4646typedef struct usb_device {
    47         /** Connection to USB hc, used by wire and arbitrary requests. */
    48         usb_hc_connection_t hc_conn;
    49         /** Connection backing the pipes.
    50          * Typically, you will not need to use this attribute at all.
    51          */
    52         usb_device_connection_t wire;
     47        /** Connection to device on USB bus */
     48        usb_dev_session_t *bus_session;
     49        /** devman handle */
     50        devman_handle_t handle;
    5351        /** The default control pipe. */
    5452        usb_pipe_t ctrl_pipe;
     
    7876        void *driver_data;
    7977
    80         /** Connection to device on USB bus */
    81         usb_dev_session_t *bus_session;
    82         /** devman handle */
    83         devman_handle_t handle;
    8478} usb_device_t;
    8579
     
    157151        assert(usb_dev->descriptors.full_config == NULL);
    158152
    159         /* It is worth to start a long transfer. */
    160         usb_pipe_start_long_transfer(&usb_dev->ctrl_pipe);
    161 
    162153        /* Get the device descriptor. */
    163154        int rc = usb_request_get_device_descriptor(&usb_dev->ctrl_pipe,
    164155            &usb_dev->descriptors.device);
    165156        if (rc != EOK) {
    166                 goto leave;
     157                return rc;
    167158        }
    168159
     
    173164            &usb_dev->descriptors.full_config_size);
    174165
    175 leave:
    176         usb_pipe_end_long_transfer(&usb_dev->ctrl_pipe);
    177166
    178167        return rc;
     
    198187 * - registers endpoints with the host controller
    199188 *
    200  * @param[in] wire Initialized backing connection to the host controller.
    201189 * @param[in] endpoints Endpoints description, NULL terminated.
    202190 * @param[in] config_descr Configuration descriptor of active configuration.
     
    240228        int rc = usb_pipe_initialize_from_configuration(pipes, pipe_count,
    241229            usb_dev->descriptors.full_config,
    242             usb_dev->descriptors.full_config_size, &usb_dev->wire,
     230            usb_dev->descriptors.full_config_size,
    243231            usb_dev->bus_session);
    244232        if (rc != EOK) {
     
    353341}
    354342
    355 static int usb_dev_get_info(usb_device_t *usb_dev, devman_handle_t *handle,
    356     usb_address_t *address, int *iface_no)
    357 {
    358         assert(usb_dev);
    359 
    360         int ret = EOK;
    361         async_exch_t *exch = async_exchange_begin(usb_dev->bus_session);
    362         if (!exch)
    363                 ret = ENOMEM;
    364 
    365         if (ret == EOK && address)
    366                 ret = usb_get_my_address(exch, address);
    367 
    368         if (ret == EOK && handle)
    369                 ret = usb_get_hc_handle(exch, handle);
    370 
    371         if (ret == EOK && iface_no) {
    372                 ret = usb_get_my_interface(exch, iface_no);
    373                 if (ret == ENOTSUP) {
    374                         ret = EOK;
    375                         *iface_no = -1;
    376                 }
    377         }
    378 
    379         async_exchange_end(exch);
    380         return ret;
    381 }
    382 
    383343/** Clean instance of a USB device.
    384344 *
     
    393353                usb_device_destroy_pipes(usb_dev);
    394354                /* Ignore errors and hope for the best. */
    395                 usb_hc_connection_deinitialize(&usb_dev->hc_conn);
    396355                usb_alternate_interfaces_deinit(&usb_dev->alternate_interfaces);
    397356                usb_device_release_descriptors(usb_dev);
     
    437396        }
    438397
    439         /* Get assigned params */
    440         devman_handle_t hc_handle;
    441         usb_address_t address;
    442 
    443         int rc = usb_dev_get_info(usb_dev, &hc_handle, &address, NULL);
    444         if (rc != EOK) {
    445                 usb_dev_disconnect(usb_dev->bus_session);
    446                 *errstr_ptr = "device parameters retrieval";
    447                 return rc;
    448         }
    449 
    450         /* Initialize hc connection. */
    451         usb_hc_connection_initialize(&usb_dev->hc_conn, hc_handle);
    452 
    453         /* Initialize backing wire and control pipe. */
    454         rc = usb_device_connection_initialize(
    455             &usb_dev->wire, &usb_dev->hc_conn, address);
    456         if (rc != EOK) {
    457                 usb_dev_disconnect(usb_dev->bus_session);
    458                 *errstr_ptr = "device connection initialization";
    459                 return rc;
    460         }
    461 
    462398        /* This pipe was registered by the hub driver,
    463399         * during device initialization. */
    464         rc = usb_pipe_initialize_default_control(
    465             &usb_dev->ctrl_pipe, &usb_dev->wire, usb_dev->bus_session);
     400        int rc = usb_pipe_initialize_default_control(
     401            &usb_dev->ctrl_pipe, usb_dev->bus_session);
    466402        if (rc != EOK) {
    467403                usb_dev_disconnect(usb_dev->bus_session);
     
    470406        }
    471407
    472         /* Open hc connection for pipe registration. */
    473         rc = usb_hc_connection_open(&usb_dev->hc_conn);
    474         if (rc != EOK) {
    475                 usb_dev_disconnect(usb_dev->bus_session);
    476                 *errstr_ptr = "hc connection open";
    477                 return rc;
    478         }
    479 
    480408        /* Retrieve standard descriptors. */
    481409        rc = usb_device_retrieve_descriptors(usb_dev);
    482410        if (rc != EOK) {
    483411                *errstr_ptr = "descriptor retrieval";
    484                 usb_hc_connection_close(&usb_dev->hc_conn);
    485412                usb_dev_disconnect(usb_dev->bus_session);
    486413                return rc;
     
    499426                rc = usb_device_create_pipes(usb_dev, endpoints);
    500427                if (rc != EOK) {
    501                         usb_hc_connection_close(&usb_dev->hc_conn);
    502428                        usb_device_fini(usb_dev);
    503429                        *errstr_ptr = "pipes initialization";
     
    506432        }
    507433
    508         usb_hc_connection_close(&usb_dev->hc_conn);
    509434        return EOK;
    510435}
     
    645570}
    646571
    647 usb_address_t usb_device_address(usb_device_t *usb_dev)
    648 {
    649         assert(usb_dev);
    650         return usb_dev->wire.address;
    651 }
    652 
    653 devman_handle_t usb_device_hc_handle(usb_device_t *usb_dev)
    654 {
    655         assert(usb_dev);
    656         return usb_dev->hc_conn.hc_handle;
    657 }
    658572/**
    659573 * @}
Note: See TracChangeset for help on using the changeset viewer.