Changeset 56ad818 in mainline for uspace/srv/hid/kbd/generic/kbd.c
- Timestamp:
- 2011-06-11T20:29:41Z (13 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 9be360ee
- Parents:
- b1bdc7a4
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/hid/kbd/generic/kbd.c
rb1bdc7a4 r56ad818 72 72 73 73 static kbd_port_ops_t *kbd_port; 74 static kbd_ctl_ops_t *kbd_ctl; 74 75 75 76 bool irc_service = false; … … 89 90 { 90 91 /* printf("scancode: 0x%x\n", scancode);*/ 91 kbd_ctl_parse_scancode(scancode);92 (*kbd_ctl->parse_scancode)(scancode); 92 93 } 93 94 … … 132 133 133 134 /* Update keyboard lock indicator lights. */ 134 kbd_ctl_set_ind(mods);135 (*kbd_ctl->set_ind)(mods); 135 136 } else { 136 137 lock_keys = lock_keys & ~mod_mask; … … 217 218 } 218 219 219 static kbd_port_ops_t *kbd_select_port(void) 220 { 221 kbd_port_ops_t *kbd_port; 222 220 static void kbd_select_drivers(kbd_port_ops_t **port, kbd_ctl_ops_t **ctl) 221 { 223 222 #if defined(UARCH_amd64) 224 kbd_port = &chardev_port; 223 *port = &chardev_port; 224 *ctl = &pc_ctl; 225 225 #elif defined(UARCH_arm32) && defined(MACHINE_gta02) 226 kbd_port = &chardev_port; 226 *port = &chardev_port; 227 *ctl = &stty_ctl; 227 228 #elif defined(UARCH_arm32) && defined(MACHINE_testarm) 228 kbd_port = &gxemul_port; 229 *port = &gxemul_port; 230 #ifdef CONFIG_FB 231 *ctl = &gxe_fb_ctl; 232 #else 233 *ctl = &stty_ctl; 234 #endif 229 235 #elif defined(UARCH_arm32) && defined(MACHINE_integratorcp) 230 kbd_port = &pl050_port; 236 *port = &pl050_port; 237 *ctl = &pc_ctl; 231 238 #elif defined(UARCH_ia32) 232 kbd_port = &chardev_port; 239 *port = &chardev_port; 240 *ctl = &pc_ctl; 233 241 #elif defined(MACHINE_i460GX) 234 kbd_port = &chardev_port; 242 *port = &chardev_port; 243 *ctl = &pc_ctl; 235 244 #elif defined(MACHINE_ski) 236 kbd_port = &ski_port; 245 *port = &ski_port; 246 *ctl = &stty_ctl; 237 247 #elif defined(MACHINE_msim) 238 kbd_port = &msim_port; 248 *port = &msim_port; 249 *ctl = &stty_ctl; 239 250 #elif defined(MACHINE_lgxemul) || defined(MACHINE_bgxemul) 240 kbd_port = &gxemul_port; 251 *port = &gxemul_port; 252 #ifdef CONFIG_FB 253 *ctl = &gxe_fb_ctl; 254 #else 255 *ctl = &stty_ctl; 256 #endif 241 257 #elif defined(UARCH_ppc32) 242 kbd_port = &adb_port; 258 *port = &adb_port; 259 *ctl = &apple_ctl; 243 260 #elif defined(UARCH_sparc64) && defined(PROCESSOR_sun4v) 244 kbd_port = &niagara_port; 261 *port = &niagara_port; 262 *ctl = &stty_ctl; 245 263 #elif defined(UARCH_sparc64) && defined(MACHINE_serengeti) 246 kbd_port = &sgcn_port; 264 *port = &sgcn_port; 265 *ctl = &stty_ctl; 247 266 #elif defined(UARCH_sparc64) && defined(MACHINE_generic) 248 kbd_port = &sun_port; 267 *port = &sun_port; 268 *ctl = &sun_ctl; 249 269 #else 250 kbd_port = &dummy_port; 270 *port = &dummy_port; 271 *ctl = &pc_ctl; 251 272 #endif 252 return kbd_port;253 273 } 254 274 … … 269 289 } 270 290 271 /* Select port driver. */272 kbd_ port = kbd_select_port();291 /* Select port and controller drivers. */ 292 kbd_select_drivers(&kbd_port, &kbd_ctl); 273 293 274 294 /* Initialize port driver. */ … … 277 297 278 298 /* Initialize controller driver. */ 279 if ( kbd_ctl_init(kbd_port) != 0)299 if ((*kbd_ctl->init)(kbd_port) != 0) 280 300 return -1; 281 301
Note:
See TracChangeset
for help on using the changeset viewer.