Changeset 252e30c in mainline for uspace/drv/usbkbd/main.c


Ignore:
Timestamp:
2011-03-24T22:55:29Z (14 years ago)
Author:
Lubos Slovak <lubos.slovak@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
0d92638
Parents:
476b71ff
Message:

Huge refactoring of KBD driver code.

  • Separated code for retrieval of Report descriptor into hidreport.h/c (will be common for all HID drivers).
  • Removed unused files hiddev.h/c.
  • Changed prefix of usbkbd functions to usb_kbd_*.
  • Removed unused code.
  • Parsing of Report descriptor with fallback to boot protocol in KBD driver (not finished (boot report descriptor missing).
File:
1 edited

Legend:

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

    r476b71ff r252e30c  
    7070 * @retval EOK if successful.
    7171 * @retval ENOMEM if there
    72  * @return Other error code inherited from one of functions usbhid_kbd_init(),
     72 * @return Other error code inherited from one of functions usb_kbd_init(),
    7373 *         ddf_fun_bind() and ddf_fun_add_to_class().
    7474 *
    75  * @sa usbhid_kbd_fibril(), usbhid_kbd_repeat_fibril()
     75 * @sa usb_kbd_fibril(), usb_kbd_repeat_fibril()
    7676 */
    7777static int usbhid_try_add_device(usb_device_t *dev)
     
    9090        usb_log_debug("Initializing USB/HID KBD device...\n");
    9191       
    92         usbhid_kbd_t *kbd_dev = usbhid_kbd_new();
     92        usb_kbd_t *kbd_dev = usb_kbd_new();
    9393        if (kbd_dev == NULL) {
    9494                usb_log_error("Error while creating USB/HID KBD device "
     
    9898        }
    9999       
    100         int rc = usbhid_kbd_init(kbd_dev, dev);
     100        int rc = usb_kbd_init(kbd_dev, dev);
    101101       
    102102        if (rc != EOK) {
    103103                usb_log_error("Failed to initialize USB/HID KBD device.\n");
    104104                ddf_fun_destroy(kbd_fun);
    105                 usbhid_kbd_free(&kbd_dev);
     105                usb_kbd_free(&kbd_dev);
    106106                return rc;
    107107        }       
     
    122122                // TODO: Can / should I destroy the DDF function?
    123123                ddf_fun_destroy(kbd_fun);
    124                 usbhid_kbd_free(&kbd_dev);
     124                usb_kbd_free(&kbd_dev);
    125125                return rc;
    126126        }
     
    133133                // TODO: Can / should I destroy the DDF function?
    134134                ddf_fun_destroy(kbd_fun);
    135                 usbhid_kbd_free(&kbd_dev);
     135                usb_kbd_free(&kbd_dev);
    136136                return rc;
    137137        }
     
    140140         * Create new fibril for handling this keyboard
    141141         */
    142         //fid_t fid = fibril_create(usbhid_kbd_fibril, kbd_dev);
     142        //fid_t fid = fibril_create(usb_kbd_fibril, kbd_dev);
    143143       
    144144        /* Start automated polling function.
     
    148148       rc = usb_device_auto_poll(dev,
    149149           /* Index of the polling pipe. */
    150            USBHID_KBD_POLL_EP_NO,
     150           USB_KBD_POLL_EP_NO,
    151151           /* Callback when data arrives. */
    152            usbhid_kbd_polling_callback,
     152           usb_kbd_polling_callback,
    153153           /* How much data to request. */
    154            dev->pipes[USBHID_KBD_POLL_EP_NO].pipe->max_packet_size,
     154           dev->pipes[USB_KBD_POLL_EP_NO].pipe->max_packet_size,
    155155           /* Callback when the polling ends. */
    156            usbhid_kbd_polling_ended_callback,
     156           usb_kbd_polling_ended_callback,
    157157           /* Custom argument. */
    158158           kbd_dev);
     
    169169         * Create new fibril for auto-repeat
    170170         */
    171         fid_t fid = fibril_create(usbhid_kbd_repeat_fibril, kbd_dev);
     171        fid_t fid = fibril_create(usb_kbd_repeat_fibril, kbd_dev);
    172172        if (fid == 0) {
    173173                usb_log_error("Failed to start fibril for KBD auto-repeat");
     
    233233        .name = NAME,
    234234        .ops = &usbhid_driver_ops,
    235         .endpoints = usbhid_kbd_endpoints
     235        .endpoints = usb_kbd_endpoints
    236236};
    237237
Note: See TracChangeset for help on using the changeset viewer.