Changeset d900699 in mainline for uspace/srv/hid/input/port/chardev.c
- Timestamp:
- 2011-06-17T16:48:53Z (14 years ago)
- 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. - File:
-
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/hid/input/port/chardev.c
rdf8110d3 rd900699 1 1 /* 2 * Copyright (c) 20 09Jiri Svoboda2 * Copyright (c) 2011 Jiri Svoboda 3 3 * All rights reserved. 4 4 * … … 38 38 #include <async.h> 39 39 #include <async_obsolete.h> 40 #include <input.h> 40 41 #include <kbd_port.h> 41 42 #include <kbd.h> … … 45 46 #include <stdio.h> 46 47 47 #define NAME "kbd/chardev" 48 static void kbd_port_events(ipc_callid_t iid, ipc_call_t *icall, void *arg); 48 49 49 static void kbd_port_events(ipc_callid_t iid, ipc_call_t *icall); 50 static int chardev_port_init(kbd_dev_t *); 51 static void chardev_port_yield(void); 52 static void chardev_port_reclaim(void); 53 static void chardev_port_write(uint8_t data); 50 54 55 kbd_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 62 static kbd_dev_t *kbd_dev; 51 63 static int dev_phone; 52 64 … … 59 71 static const unsigned int num_devs = sizeof(in_devs) / sizeof(in_devs[0]); 60 72 61 int kbd_port_init(void)73 static int chardev_port_init(kbd_dev_t *kdev) 62 74 { 63 75 devmap_handle_t handle; 64 76 unsigned int i; 65 77 int rc; 78 79 kbd_dev = kdev; 66 80 67 81 for (i = 0; i < num_devs; i++) { … … 83 97 84 98 /* 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) { 86 101 printf(NAME ": Failed to create callback from device\n"); 87 102 return -1; … … 91 106 } 92 107 93 void kbd_port_yield(void)108 static void chardev_port_yield(void) 94 109 { 95 110 } 96 111 97 void kbd_port_reclaim(void)112 static void chardev_port_reclaim(void) 98 113 { 99 114 } 100 115 101 void kbd_port_write(uint8_t data)116 static void chardev_port_write(uint8_t data) 102 117 { 103 118 async_obsolete_msg_1(dev_phone, CHAR_WRITE_BYTE, data); 104 119 } 105 120 106 static void kbd_port_events(ipc_callid_t iid, ipc_call_t *icall )121 static void kbd_port_events(ipc_callid_t iid, ipc_call_t *icall, void *arg) 107 122 { 108 123 /* Ignore parameters, the connection is already opened */ … … 121 136 switch (IPC_GET_IMETHOD(call)) { 122 137 case CHAR_NOTIF_BYTE: 123 kbd_push_scancode( IPC_GET_ARG1(call));138 kbd_push_scancode(kbd_dev, IPC_GET_ARG1(call)); 124 139 break; 125 140 default:
Note:
See TracChangeset
for help on using the changeset viewer.