Changeset d900699 in mainline for uspace/srv/hid/input/port/chardev.c


Ignore:
Timestamp:
2011-06-17T16:48:53Z (14 years ago)
Author:
Petr Koupy <petr.koupy@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
f3a605be
Parents:
df8110d3 (diff), 98caf49 (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 mainline changes.

File:
1 moved

Legend:

Unmodified
Added
Removed
  • uspace/srv/hid/input/port/chardev.c

    rdf8110d3 rd900699  
    11/*
    2  * Copyright (c) 2009 Jiri Svoboda
     2 * Copyright (c) 2011 Jiri Svoboda
    33 * All rights reserved.
    44 *
     
    3838#include <async.h>
    3939#include <async_obsolete.h>
     40#include <input.h>
    4041#include <kbd_port.h>
    4142#include <kbd.h>
     
    4546#include <stdio.h>
    4647
    47 #define NAME  "kbd/chardev"
     48static void kbd_port_events(ipc_callid_t iid, ipc_call_t *icall, void *arg);
    4849
    49 static void kbd_port_events(ipc_callid_t iid, ipc_call_t *icall);
     50static int chardev_port_init(kbd_dev_t *);
     51static void chardev_port_yield(void);
     52static void chardev_port_reclaim(void);
     53static void chardev_port_write(uint8_t data);
    5054
     55kbd_port_ops_t chardev_port = {
     56        .init = chardev_port_init,
     57        .yield = chardev_port_yield,
     58        .reclaim = chardev_port_reclaim,
     59        .write = chardev_port_write
     60};
     61
     62static kbd_dev_t *kbd_dev;
    5163static int dev_phone;
    5264
     
    5971static const unsigned int num_devs = sizeof(in_devs) / sizeof(in_devs[0]);
    6072
    61 int kbd_port_init(void)
     73static int chardev_port_init(kbd_dev_t *kdev)
    6274{
    6375        devmap_handle_t handle;
    6476        unsigned int i;
    6577        int rc;
     78       
     79        kbd_dev = kdev;
    6680       
    6781        for (i = 0; i < num_devs; i++) {
     
    8397       
    8498        /* NB: The callback connection is slotted for removal */
    85         if (async_obsolete_connect_to_me(dev_phone, 0, 0, 0, kbd_port_events) != 0) {
     99        if (async_obsolete_connect_to_me(dev_phone, 0, 0, 0, kbd_port_events,
     100            NULL) != 0) {
    86101                printf(NAME ": Failed to create callback from device\n");
    87102                return -1;
     
    91106}
    92107
    93 void kbd_port_yield(void)
     108static void chardev_port_yield(void)
    94109{
    95110}
    96111
    97 void kbd_port_reclaim(void)
     112static void chardev_port_reclaim(void)
    98113{
    99114}
    100115
    101 void kbd_port_write(uint8_t data)
     116static void chardev_port_write(uint8_t data)
    102117{
    103118        async_obsolete_msg_1(dev_phone, CHAR_WRITE_BYTE, data);
    104119}
    105120
    106 static void kbd_port_events(ipc_callid_t iid, ipc_call_t *icall)
     121static void kbd_port_events(ipc_callid_t iid, ipc_call_t *icall, void *arg)
    107122{
    108123        /* Ignore parameters, the connection is already opened */
     
    121136                switch (IPC_GET_IMETHOD(call)) {
    122137                case CHAR_NOTIF_BYTE:
    123                         kbd_push_scancode(IPC_GET_ARG1(call));
     138                        kbd_push_scancode(kbd_dev, IPC_GET_ARG1(call));
    124139                        break;
    125140                default:
Note: See TracChangeset for help on using the changeset viewer.