Changeset 72af8da in mainline for uspace/drv/usbmouse/main.c


Ignore:
Timestamp:
2011-03-16T18:50:17Z (14 years ago)
Author:
Matus Dekanek <smekideki@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
42a3a57
Parents:
3e7b7cd (diff), fcf07e6 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

merge from usb/development

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/drv/usbmouse/main.c

    r3e7b7cd r72af8da  
    3939#include <str_error.h>
    4040
    41 static int usbmouse_add_device(ddf_dev_t *dev)
     41/** Callback when new mouse device is attached and recognised by DDF.
     42 *
     43 * @param dev Representation of a generic DDF device.
     44 * @return Error code.
     45 */
     46static int usbmouse_add_device(usb_device_t *dev)
    4247{
    4348        int rc = usb_mouse_create(dev);
     
    4853        }
    4954
    50         fid_t poll_fibril = fibril_create(usb_mouse_polling_fibril, dev);
    51         if (poll_fibril == 0) {
    52                 usb_log_error("Failed to initialize polling fibril.\n");
    53                 /* FIXME: free allocated resources. */
    54                 return ENOMEM;
     55        usb_log_debug("Polling pipe at endpoint %d.\n", dev->pipes[0].pipe->endpoint_no);
     56
     57        rc = usb_device_auto_poll(dev, 0,
     58            usb_mouse_polling_callback, dev->pipes[0].pipe->max_packet_size,
     59            usb_mouse_polling_ended_callback, dev->driver_data);
     60
     61        if (rc != EOK) {
     62                usb_log_error("Failed to start polling fibril: %s.\n",
     63                    str_error(rc));
     64                return rc;
    5565        }
    5666
    57         fibril_add_ready(poll_fibril);
    58 
    5967        usb_log_info("controlling new mouse (handle %llu).\n",
    60             dev->handle);
     68            dev->ddf_dev->handle);
    6169
    6270        return EOK;
    6371}
    6472
    65 static driver_ops_t mouse_driver_ops = {
     73/** USB mouse driver ops. */
     74static usb_driver_ops_t mouse_driver_ops = {
    6675        .add_device = usbmouse_add_device,
    6776};
    6877
    69 static driver_t mouse_driver = {
     78static usb_endpoint_description_t *endpoints[] = {
     79        &poll_endpoint_description,
     80        NULL
     81};
     82
     83/** USB mouse driver. */
     84static usb_driver_t mouse_driver = {
    7085        .name = NAME,
    71         .driver_ops = &mouse_driver_ops
     86        .ops = &mouse_driver_ops,
     87        .endpoints = endpoints
    7288};
    7389
     
    7692        usb_log_enable(USB_LOG_LEVEL_DEBUG, NAME);
    7793
    78         return ddf_driver_main(&mouse_driver);
     94        return usb_driver_main(&mouse_driver);
    7995}
    8096
Note: See TracChangeset for help on using the changeset viewer.