Changeset 9934f7d in mainline for uspace/srv/hid/input


Ignore:
Timestamp:
2011-06-13T19:53:48Z (14 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
a07a454
Parents:
43ac0cc
Message:

Add extra argument to async connection handlers that can be used for passing
information from async_connect_to_me() to the handler.

Location:
uspace/srv/hid/input
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/hid/input/ctl/kbdev.c

    r43ac0cc r9934f7d  
    5454static void kbdev_ctl_set_ind(kbd_dev_t *, unsigned);
    5555
    56 static void kbdev_callback_conn(ipc_callid_t, ipc_call_t *);
     56static void kbdev_callback_conn(ipc_callid_t, ipc_call_t *, void *arg);
    5757
    5858kbd_ctl_ops_t kbdev_ctl = {
     
    7373        int fd;
    7474} kbdev_t;
    75 
    76 /** XXX Need to pass data from async_connect_to_me() to connection handler */
    77 static kbdev_t *unprotected_kbdev;
    7875
    7976static kbdev_t *kbdev_new(kbd_dev_t *kdev)
     
    140137        }
    141138
    142         /*
    143          * XXX We need to pass kbdev to the connection handler. Since the
    144          * framework does not support this, use a global variable.
    145          * This needs to be fixed ASAP.
    146          */
    147         unprotected_kbdev = kbdev;
    148 
    149         rc = async_connect_to_me(exch, 0, 0, 0, kbdev_callback_conn);
     139        rc = async_connect_to_me(exch, 0, 0, 0, kbdev_callback_conn, kbdev);
    150140        if (rc != EOK) {
    151141                printf(NAME ": Failed creating callback connection from '%s'.\n",
     
    177167}
    178168
    179 static void kbdev_callback_conn(ipc_callid_t iid, ipc_call_t *icall)
     169static void kbdev_callback_conn(ipc_callid_t iid, ipc_call_t *icall, void *arg)
    180170{
    181171        kbdev_t *kbdev;
     
    183173        int type, key;
    184174
    185         kbdev = unprotected_kbdev;
     175        /* Kbdev device structure */
     176        kbdev = arg;
    186177
    187178        while (true) {
  • uspace/srv/hid/input/generic/input.c

    r43ac0cc r9934f7d  
    178178}
    179179
    180 static void client_connection(ipc_callid_t iid, ipc_call_t *icall)
     180static void client_connection(ipc_callid_t iid, ipc_call_t *icall, void *arg)
    181181{
    182182        ipc_callid_t callid;
  • uspace/srv/hid/input/port/adb.c

    r43ac0cc r9934f7d  
    4646#include <devmap_obsolete.h>
    4747
    48 static void kbd_port_events(ipc_callid_t iid, ipc_call_t *icall);
     48static void kbd_port_events(ipc_callid_t iid, ipc_call_t *icall, void *arg);
    4949static void adb_kbd_reg0_data(uint16_t data);
    5050
     
    8282       
    8383        /* NB: The callback connection is slotted for removal */
    84         rc = async_obsolete_connect_to_me(dev_phone, 0, 0, 0, kbd_port_events);
     84        rc = async_obsolete_connect_to_me(dev_phone, 0, 0, 0, kbd_port_events,
     85            NULL);
    8586        if (rc != EOK) {
    8687                printf(NAME ": Failed to create callback from device\n");
     
    104105}
    105106
    106 static void kbd_port_events(ipc_callid_t iid, ipc_call_t *icall)
     107static void kbd_port_events(ipc_callid_t iid, ipc_call_t *icall, void *arg)
    107108{
    108109        /* Ignore parameters, the connection is already opened */
  • uspace/srv/hid/input/port/chardev.c

    r43ac0cc r9934f7d  
    4545#include <stdio.h>
    4646
    47 static void kbd_port_events(ipc_callid_t iid, ipc_call_t *icall);
     47static void kbd_port_events(ipc_callid_t iid, ipc_call_t *icall, void *arg);
    4848
    4949static int chardev_port_init(kbd_dev_t *);
     
    9696       
    9797        /* NB: The callback connection is slotted for removal */
    98         if (async_obsolete_connect_to_me(dev_phone, 0, 0, 0, kbd_port_events) != 0) {
     98        if (async_obsolete_connect_to_me(dev_phone, 0, 0, 0, kbd_port_events,
     99            NULL) != 0) {
    99100                printf(NAME ": Failed to create callback from device\n");
    100101                return -1;
     
    117118}
    118119
    119 static void kbd_port_events(ipc_callid_t iid, ipc_call_t *icall)
     120static void kbd_port_events(ipc_callid_t iid, ipc_call_t *icall, void *arg)
    120121{
    121122        /* Ignore parameters, the connection is already opened */
Note: See TracChangeset for help on using the changeset viewer.