Ignore:
File:
1 edited

Legend:

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

    rb7fd2a0 re0a5d4c  
    22 * Copyright (c) 2011 Vojtech Horky
    33 * Copyright (c) 2013 Jan Vesely
     4 * Copyright (c) 2018 Petr Manek
    45 * All rights reserved.
    56 *
     
    6263        errno_t rc = usb_device_create_ddf(gen_dev, driver->endpoints, &err_msg);
    6364        if (rc != EOK) {
    64                 usb_log_error("USB device `%s' init failed (%s): %s.\n",
     65                usb_log_error("USB device `%s' init failed (%s): %s.",
    6566                    ddf_dev_get_name(gen_dev), err_msg, str_error(rc));
    6667                return rc;
     
    8586        assert(driver);
    8687        assert(driver->ops);
    87         if (driver->ops->device_rem == NULL)
     88        if (driver->ops->device_remove == NULL)
    8889                return ENOTSUP;
     90
    8991        /* Just tell the driver to stop whatever it is doing */
    9092        usb_device_t *usb_dev = ddf_dev_data_get(gen_dev);
    91         const errno_t ret = driver->ops->device_rem(usb_dev);
     93        const errno_t ret = driver->ops->device_remove(usb_dev);
    9294        if (ret != EOK)
    9395                return ret;
     96
    9497        usb_device_destroy_ddf(gen_dev);
    9598        return EOK;
     
    117120}
    118121
     122/** Callback when the driver is asked to online a specific function.
     123 *
     124 * This callback is a wrapper for USB specific version of @c fun_online.
     125 *
     126 * @param gen_dev Device function structure as prepared by DDF.
     127 * @return Error code.
     128 */
     129static int generic_function_online(ddf_fun_t *fun)
     130{
     131        assert(driver);
     132        assert(driver->ops);
     133        if (driver->ops->function_online == NULL)
     134                return ENOTSUP;
     135        return driver->ops->function_online(fun);
     136}
     137
     138/** Callback when the driver is asked to offline a specific function.
     139 *
     140 * This callback is a wrapper for USB specific version of @c fun_offline.
     141 *
     142 * @param gen_dev Device function structure as prepared by DDF.
     143 * @return Error code.
     144 */
     145static int generic_function_offline(ddf_fun_t *fun)
     146{
     147        assert(driver);
     148        assert(driver->ops);
     149        if (driver->ops->function_offline == NULL)
     150                return ENOTSUP;
     151        return driver->ops->function_offline(fun);
     152}
     153
    119154static driver_ops_t generic_driver_ops = {
    120155        .dev_add = generic_device_add,
    121156        .dev_remove = generic_device_remove,
    122157        .dev_gone = generic_device_gone,
     158        .fun_online = generic_function_online,
     159        .fun_offline = generic_function_offline,
    123160};
    124161static driver_t generic_driver = {
Note: See TracChangeset for help on using the changeset viewer.