int setkeycode(unsigned int scancode, unsigned int keycode) { struct getset_keycode_data d = { scancode, keycode, -ENODEV }; input_handler_for_each_handle(&kbd_handler, &d, setkeycode_helper); return d.error; }
int kbd_rate(struct kbd_repeat *rep) { struct kbd_repeat data[2] = { *rep }; input_handler_for_each_handle(&kbd_handler, data, kbd_rate_helper); *rep = data[1]; /* Copy currently used settings */ return 0; }
void kd_mksound(unsigned int hz, unsigned int ticks) { del_timer_sync(&kd_mksound_timer); input_handler_for_each_handle(&kbd_handler, &hz, kd_sound_helper); if (hz && ticks) mod_timer(&kd_mksound_timer, jiffies + ticks); }
int setkeycode(unsigned int scancode, unsigned int keycode) { struct getset_keycode_data d = { .ke = { .flags = 0, .len = sizeof(scancode), .keycode = keycode, }, .error = -ENODEV, }; memcpy(d.ke.scancode, &scancode, sizeof(scancode)); input_handler_for_each_handle(&kbd_handler, &d, setkeycode_helper); return d.error; }
static void kd_nosound(unsigned long ignored) { static unsigned int zero; input_handler_for_each_handle(&kbd_handler, &zero, kd_sound_helper); }