Searched refs:atkbd (Results 1 - 3 of 3) sorted by relevance

/linux-4.1.27/drivers/input/keyboard/
H A Datkbd.c198 * The atkbd control structure
201 struct atkbd { struct
242 static void (*atkbd_platform_fixup)(struct atkbd *, const void *data);
244 static unsigned int (*atkbd_platform_scancode_fixup)(struct atkbd *, unsigned int);
253 ssize_t (*handler)(struct atkbd *, char *));
255 ssize_t (*handler)(struct atkbd *, const char *, size_t));
257 static ssize_t atkbd_show_##_name(struct atkbd *, char *); \
258 static ssize_t atkbd_set_##_name(struct atkbd *, const char *, size_t); \
280 static ssize_t atkbd_show_##_name(struct atkbd *, char *); \
334 static void atkbd_calculate_xl_bit(struct atkbd *atkbd, unsigned char code) atkbd_calculate_xl_bit() argument
341 __clear_bit(i, &atkbd->xl_bit); atkbd_calculate_xl_bit()
343 __set_bit(i, &atkbd->xl_bit); atkbd_calculate_xl_bit()
353 static unsigned int atkbd_compat_scancode(struct atkbd *atkbd, unsigned int code) atkbd_compat_scancode() argument
355 if (atkbd->set == 3) { atkbd_compat_scancode()
356 if (atkbd->emul == 1) atkbd_compat_scancode()
360 if (atkbd->emul == 1) atkbd_compat_scancode()
375 struct atkbd *atkbd = serio_get_drvdata(serio); atkbd_interrupt() local
376 struct input_dev *dev = atkbd->dev; atkbd_interrupt()
385 if ((flags & (SERIO_FRAME | SERIO_PARITY)) && (~flags & SERIO_TIMEOUT) && !atkbd->resend && atkbd->write) { atkbd_interrupt()
388 atkbd->resend = true; atkbd_interrupt()
393 atkbd->resend = false; atkbd_interrupt()
396 if (unlikely(atkbd->ps2dev.flags & PS2_FLAG_ACK)) atkbd_interrupt()
397 if (ps2_handle_ack(&atkbd->ps2dev, data)) atkbd_interrupt()
400 if (unlikely(atkbd->ps2dev.flags & PS2_FLAG_CMD)) atkbd_interrupt()
401 if (ps2_handle_response(&atkbd->ps2dev, data)) atkbd_interrupt()
404 if (!atkbd->enabled) atkbd_interrupt()
410 code = atkbd_platform_scancode_fixup(atkbd, code); atkbd_interrupt()
412 if (atkbd->translated) { atkbd_interrupt()
414 if (atkbd->emul || atkbd_need_xlate(atkbd->xl_bit, code)) { atkbd_interrupt()
415 atkbd->release = code >> 7; atkbd_interrupt()
419 if (!atkbd->emul) atkbd_interrupt()
420 atkbd_calculate_xl_bit(atkbd, data); atkbd_interrupt()
425 atkbd->enabled = false; atkbd_interrupt()
426 serio_reconnect(atkbd->ps2dev.serio); atkbd_interrupt()
429 atkbd->emul = 1; atkbd_interrupt()
432 atkbd->emul = 2; atkbd_interrupt()
435 atkbd->release = true; atkbd_interrupt()
446 atkbd->err_count++; atkbd_interrupt()
452 code = atkbd_compat_scancode(atkbd, code); atkbd_interrupt()
454 if (atkbd->emul && --atkbd->emul) atkbd_interrupt()
457 keycode = atkbd->keycode[code]; atkbd_interrupt()
459 if (!(atkbd->release && test_bit(code, atkbd->force_release_mask))) atkbd_interrupt()
469 atkbd->release ? "released" : "pressed", atkbd_interrupt()
470 atkbd->translated ? "translated" : "raw", atkbd_interrupt()
471 atkbd->set, code, serio->phys); atkbd_interrupt()
490 click = !atkbd->release; atkbd_interrupt()
499 if (atkbd->release) { atkbd_interrupt()
501 atkbd->last = 0; atkbd_interrupt()
502 } else if (!atkbd->softrepeat && test_bit(keycode, dev->key)) { atkbd_interrupt()
504 value = time_before(jiffies, atkbd->time) && atkbd->last == code ? 1 : 2; atkbd_interrupt()
507 atkbd->last = code; atkbd_interrupt()
508 atkbd->time = jiffies + msecs_to_jiffies(dev->rep[REP_DELAY]) / 2; atkbd_interrupt()
514 if (value && test_bit(code, atkbd->force_release_mask)) { atkbd_interrupt()
521 if (atkbd->scroll) { atkbd_interrupt()
525 atkbd->release ? -scroll : scroll); atkbd_interrupt()
530 atkbd->release = false; atkbd_interrupt()
535 static int atkbd_set_repeat_rate(struct atkbd *atkbd) atkbd_set_repeat_rate() argument
543 struct input_dev *dev = atkbd->dev; atkbd_set_repeat_rate()
556 return ps2_command(&atkbd->ps2dev, &param, ATKBD_CMD_SETREP); atkbd_set_repeat_rate()
559 static int atkbd_set_leds(struct atkbd *atkbd) atkbd_set_leds() argument
561 struct input_dev *dev = atkbd->dev; atkbd_set_leds()
567 if (ps2_command(&atkbd->ps2dev, param, ATKBD_CMD_SETLEDS)) atkbd_set_leds()
570 if (atkbd->extra) { atkbd_set_leds()
577 if (ps2_command(&atkbd->ps2dev, param, ATKBD_CMD_EX_SETLEDS)) atkbd_set_leds()
592 struct atkbd *atkbd = container_of(work, struct atkbd, event_work.work); atkbd_event_work() local
594 mutex_lock(&atkbd->mutex); atkbd_event_work()
596 if (!atkbd->enabled) { atkbd_event_work()
603 schedule_delayed_work(&atkbd->event_work, atkbd_event_work()
606 if (test_and_clear_bit(ATKBD_LED_EVENT_BIT, &atkbd->event_mask)) atkbd_event_work()
607 atkbd_set_leds(atkbd); atkbd_event_work()
609 if (test_and_clear_bit(ATKBD_REP_EVENT_BIT, &atkbd->event_mask)) atkbd_event_work()
610 atkbd_set_repeat_rate(atkbd); atkbd_event_work()
613 mutex_unlock(&atkbd->mutex); atkbd_event_work()
620 static void atkbd_schedule_event_work(struct atkbd *atkbd, int event_bit) atkbd_schedule_event_work() argument
624 if (time_after(jiffies, atkbd->event_jiffies + delay)) atkbd_schedule_event_work()
627 atkbd->event_jiffies = jiffies; atkbd_schedule_event_work()
628 set_bit(event_bit, &atkbd->event_mask); atkbd_schedule_event_work()
630 schedule_delayed_work(&atkbd->event_work, delay); atkbd_schedule_event_work()
642 struct atkbd *atkbd = input_get_drvdata(dev); atkbd_event() local
644 if (!atkbd->write) atkbd_event()
650 atkbd_schedule_event_work(atkbd, ATKBD_LED_EVENT_BIT); atkbd_event()
654 if (!atkbd->softrepeat) atkbd_event()
655 atkbd_schedule_event_work(atkbd, ATKBD_REP_EVENT_BIT); atkbd_event()
668 static inline void atkbd_enable(struct atkbd *atkbd) atkbd_enable() argument
670 serio_pause_rx(atkbd->ps2dev.serio); atkbd_enable()
671 atkbd->enabled = true; atkbd_enable()
672 serio_continue_rx(atkbd->ps2dev.serio); atkbd_enable()
680 static inline void atkbd_disable(struct atkbd *atkbd) atkbd_disable() argument
682 serio_pause_rx(atkbd->ps2dev.serio); atkbd_disable()
683 atkbd->enabled = false; atkbd_disable()
684 serio_continue_rx(atkbd->ps2dev.serio); atkbd_disable()
687 static int atkbd_activate(struct atkbd *atkbd) atkbd_activate() argument
689 struct ps2dev *ps2dev = &atkbd->ps2dev; atkbd_activate()
710 static void atkbd_deactivate(struct atkbd *atkbd) atkbd_deactivate() argument
712 struct ps2dev *ps2dev = &atkbd->ps2dev; atkbd_deactivate()
724 static int atkbd_probe(struct atkbd *atkbd) atkbd_probe() argument
726 struct ps2dev *ps2dev = &atkbd->ps2dev; atkbd_probe()
759 atkbd->id = 0xabba; atkbd_probe()
766 atkbd->id = (param[0] << 8) | param[1]; atkbd_probe()
768 if (atkbd->id == 0xaca1 && atkbd->translated) { atkbd_probe()
780 atkbd_deactivate(atkbd); atkbd_probe()
791 static int atkbd_select_set(struct atkbd *atkbd, int target_set, int allow_extra) atkbd_select_set() argument
793 struct ps2dev *ps2dev = &atkbd->ps2dev; atkbd_select_set()
796 atkbd->extra = false; atkbd_select_set()
803 if (atkbd->translated) atkbd_select_set()
806 if (atkbd->id == 0xaca1) { atkbd_select_set()
815 atkbd->extra = true; atkbd_select_set()
829 atkbd->id = param[0] << 8 | param[1]; atkbd_select_set()
852 static int atkbd_reset_state(struct atkbd *atkbd) atkbd_reset_state() argument
854 struct ps2dev *ps2dev = &atkbd->ps2dev; atkbd_reset_state()
883 struct atkbd *atkbd = serio_get_drvdata(serio); atkbd_cleanup() local
885 atkbd_disable(atkbd); atkbd_cleanup()
886 ps2_command(&atkbd->ps2dev, NULL, ATKBD_CMD_RESET_DEF); atkbd_cleanup()
896 struct atkbd *atkbd = serio_get_drvdata(serio); atkbd_disconnect() local
900 atkbd_disable(atkbd); atkbd_disconnect()
902 input_unregister_device(atkbd->dev); atkbd_disconnect()
906 * Note that since atkbd->enabled is false event work will keep atkbd_disconnect()
910 cancel_delayed_work_sync(&atkbd->event_work); atkbd_disconnect()
914 kfree(atkbd); atkbd_disconnect()
920 static void atkbd_apply_forced_release_keylist(struct atkbd* atkbd, atkbd_apply_forced_release_keylist() argument
926 if (atkbd->set == 2) atkbd_apply_forced_release_keylist()
928 __set_bit(keys[i], atkbd->force_release_mask); atkbd_apply_forced_release_keylist()
987 static unsigned int atkbd_oqo_01plus_scancode_fixup(struct atkbd *atkbd, atkbd_oqo_01plus_scancode_fixup() argument
990 if (atkbd->translated && atkbd->emul == 1 && atkbd_oqo_01plus_scancode_fixup()
992 atkbd->emul = 0; atkbd_oqo_01plus_scancode_fixup()
1004 static void atkbd_set_keycode_table(struct atkbd *atkbd) atkbd_set_keycode_table() argument
1009 memset(atkbd->keycode, 0, sizeof(atkbd->keycode)); atkbd_set_keycode_table()
1010 bitmap_zero(atkbd->force_release_mask, ATKBD_KEYMAP_SIZE); atkbd_set_keycode_table()
1012 if (atkbd->translated) { atkbd_set_keycode_table()
1015 atkbd->keycode[i] = atkbd_set2_keycode[scancode]; atkbd_set_keycode_table()
1016 atkbd->keycode[i | 0x80] = atkbd_set2_keycode[scancode | 0x80]; atkbd_set_keycode_table()
1017 if (atkbd->scroll) atkbd_set_keycode_table()
1020 atkbd->keycode[i | 0x80] = atkbd_scroll_keys[j].keycode; atkbd_set_keycode_table()
1022 } else if (atkbd->set == 3) { atkbd_set_keycode_table()
1023 memcpy(atkbd->keycode, atkbd_set3_keycode, sizeof(atkbd->keycode)); atkbd_set_keycode_table()
1025 memcpy(atkbd->keycode, atkbd_set2_keycode, sizeof(atkbd->keycode)); atkbd_set_keycode_table()
1027 if (atkbd->scroll) atkbd_set_keycode_table()
1030 atkbd->keycode[scancode] = atkbd_scroll_keys[i].keycode; atkbd_set_keycode_table()
1038 scancode = atkbd_compat_scancode(atkbd, ATKBD_RET_HANGEUL); atkbd_set_keycode_table()
1039 atkbd->keycode[scancode] = KEY_HANGEUL; atkbd_set_keycode_table()
1040 __set_bit(scancode, atkbd->force_release_mask); atkbd_set_keycode_table()
1042 scancode = atkbd_compat_scancode(atkbd, ATKBD_RET_HANJA); atkbd_set_keycode_table()
1043 atkbd->keycode[scancode] = KEY_HANJA; atkbd_set_keycode_table()
1044 __set_bit(scancode, atkbd->force_release_mask); atkbd_set_keycode_table()
1050 atkbd_platform_fixup(atkbd, atkbd_platform_fixup_data); atkbd_set_keycode_table()
1057 static void atkbd_set_device_attrs(struct atkbd *atkbd) atkbd_set_device_attrs() argument
1059 struct input_dev *input_dev = atkbd->dev; atkbd_set_device_attrs()
1062 if (atkbd->extra) atkbd_set_device_attrs()
1063 snprintf(atkbd->name, sizeof(atkbd->name), atkbd_set_device_attrs()
1066 snprintf(atkbd->name, sizeof(atkbd->name), atkbd_set_device_attrs()
1068 atkbd->translated ? "Translated" : "Raw", atkbd->set); atkbd_set_device_attrs()
1070 snprintf(atkbd->phys, sizeof(atkbd->phys), atkbd_set_device_attrs()
1071 "%s/input0", atkbd->ps2dev.serio->phys); atkbd_set_device_attrs()
1073 input_dev->name = atkbd->name; atkbd_set_device_attrs()
1074 input_dev->phys = atkbd->phys; atkbd_set_device_attrs()
1077 input_dev->id.product = atkbd->translated ? 1 : atkbd->set; atkbd_set_device_attrs()
1078 input_dev->id.version = atkbd->id; atkbd_set_device_attrs()
1080 input_dev->dev.parent = &atkbd->ps2dev.serio->dev; atkbd_set_device_attrs()
1082 input_set_drvdata(input_dev, atkbd); atkbd_set_device_attrs()
1087 if (atkbd->write) { atkbd_set_device_attrs()
1093 if (atkbd->extra) atkbd_set_device_attrs()
1098 if (!atkbd->softrepeat) { atkbd_set_device_attrs()
1103 input_dev->mscbit[0] = atkbd->softraw ? BIT_MASK(MSC_SCAN) : atkbd_set_device_attrs()
1106 if (atkbd->scroll) { atkbd_set_device_attrs()
1113 input_dev->keycode = atkbd->keycode; atkbd_set_device_attrs()
1118 if (atkbd->keycode[i] != KEY_RESERVED && atkbd_set_device_attrs()
1119 atkbd->keycode[i] != ATKBD_KEY_NULL && atkbd_set_device_attrs()
1120 atkbd->keycode[i] < ATKBD_SPECIAL) { atkbd_set_device_attrs()
1121 __set_bit(atkbd->keycode[i], input_dev->keybit); atkbd_set_device_attrs()
1135 struct atkbd *atkbd; atkbd_connect() local
1139 atkbd = kzalloc(sizeof(struct atkbd), GFP_KERNEL); atkbd_connect()
1141 if (!atkbd || !dev) atkbd_connect()
1144 atkbd->dev = dev; atkbd_connect()
1145 ps2_init(&atkbd->ps2dev, serio); atkbd_connect()
1146 INIT_DELAYED_WORK(&atkbd->event_work, atkbd_event_work); atkbd_connect()
1147 mutex_init(&atkbd->mutex); atkbd_connect()
1152 atkbd->translated = true; atkbd_connect()
1157 atkbd->write = true; atkbd_connect()
1161 atkbd->softraw = atkbd_softraw; atkbd_connect()
1162 atkbd->softrepeat = atkbd_softrepeat; atkbd_connect()
1163 atkbd->scroll = atkbd_scroll; atkbd_connect()
1165 if (atkbd->softrepeat) atkbd_connect()
1166 atkbd->softraw = true; atkbd_connect()
1168 serio_set_drvdata(serio, atkbd); atkbd_connect()
1174 if (atkbd->write) { atkbd_connect()
1176 if (atkbd_probe(atkbd)) { atkbd_connect()
1181 atkbd->set = atkbd_select_set(atkbd, atkbd_set, atkbd_extra); atkbd_connect()
1182 atkbd_reset_state(atkbd); atkbd_connect()
1185 atkbd->set = 2; atkbd_connect()
1186 atkbd->id = 0xab00; atkbd_connect()
1189 atkbd_set_keycode_table(atkbd); atkbd_connect()
1190 atkbd_set_device_attrs(atkbd); atkbd_connect()
1196 atkbd_enable(atkbd); atkbd_connect()
1198 atkbd_activate(atkbd); atkbd_connect()
1200 err = input_register_device(atkbd->dev); atkbd_connect()
1210 kfree(atkbd); atkbd_connect()
1221 struct atkbd *atkbd = serio_get_drvdata(serio); atkbd_reconnect() local
1225 if (!atkbd || !drv) { atkbd_reconnect()
1231 mutex_lock(&atkbd->mutex); atkbd_reconnect()
1233 atkbd_disable(atkbd); atkbd_reconnect()
1235 if (atkbd->write) { atkbd_reconnect()
1236 if (atkbd_probe(atkbd)) atkbd_reconnect()
1239 if (atkbd->set != atkbd_select_set(atkbd, atkbd->set, atkbd->extra)) atkbd_reconnect()
1249 atkbd_set_leds(atkbd); atkbd_reconnect()
1250 if (!atkbd->softrepeat) atkbd_reconnect()
1251 atkbd_set_repeat_rate(atkbd); atkbd_reconnect()
1259 atkbd->xl_bit = 0; atkbd_reconnect()
1260 atkbd->emul = 0; atkbd_reconnect()
1262 atkbd_enable(atkbd); atkbd_reconnect()
1263 if (atkbd->write) atkbd_reconnect()
1264 atkbd_activate(atkbd); atkbd_reconnect()
1269 mutex_unlock(&atkbd->mutex); atkbd_reconnect()
1299 .name = "atkbd",
1311 ssize_t (*handler)(struct atkbd *, char *)) atkbd_attr_show_helper()
1314 struct atkbd *atkbd = serio_get_drvdata(serio); atkbd_attr_show_helper() local
1316 return handler(atkbd, buf); atkbd_attr_show_helper()
1320 ssize_t (*handler)(struct atkbd *, const char *, size_t)) atkbd_attr_set_helper()
1323 struct atkbd *atkbd = serio_get_drvdata(serio); atkbd_attr_set_helper() local
1326 retval = mutex_lock_interruptible(&atkbd->mutex); atkbd_attr_set_helper()
1330 atkbd_disable(atkbd); atkbd_attr_set_helper()
1331 retval = handler(atkbd, buf, count); atkbd_attr_set_helper()
1332 atkbd_enable(atkbd); atkbd_attr_set_helper()
1334 mutex_unlock(&atkbd->mutex); atkbd_attr_set_helper()
1339 static ssize_t atkbd_show_extra(struct atkbd *atkbd, char *buf) atkbd_show_extra() argument
1341 return sprintf(buf, "%d\n", atkbd->extra ? 1 : 0); atkbd_show_extra()
1344 static ssize_t atkbd_set_extra(struct atkbd *atkbd, const char *buf, size_t count) atkbd_set_extra() argument
1352 if (!atkbd->write) atkbd_set_extra()
1362 if (atkbd->extra != value) { atkbd_set_extra()
1368 old_dev = atkbd->dev; atkbd_set_extra()
1369 old_extra = atkbd->extra; atkbd_set_extra()
1370 old_set = atkbd->set; atkbd_set_extra()
1376 atkbd->dev = new_dev; atkbd_set_extra()
1377 atkbd->set = atkbd_select_set(atkbd, atkbd->set, value); atkbd_set_extra()
1378 atkbd_reset_state(atkbd); atkbd_set_extra()
1379 atkbd_activate(atkbd); atkbd_set_extra()
1380 atkbd_set_keycode_table(atkbd); atkbd_set_extra()
1381 atkbd_set_device_attrs(atkbd); atkbd_set_extra()
1383 err = input_register_device(atkbd->dev); atkbd_set_extra()
1387 atkbd->dev = old_dev; atkbd_set_extra()
1388 atkbd->set = atkbd_select_set(atkbd, old_set, old_extra); atkbd_set_extra()
1389 atkbd_set_keycode_table(atkbd); atkbd_set_extra()
1390 atkbd_set_device_attrs(atkbd); atkbd_set_extra()
1400 static ssize_t atkbd_show_force_release(struct atkbd *atkbd, char *buf) atkbd_show_force_release() argument
1403 ATKBD_KEYMAP_SIZE, atkbd->force_release_mask); atkbd_show_force_release()
1411 static ssize_t atkbd_set_force_release(struct atkbd *atkbd, atkbd_set_force_release() argument
1422 memcpy(atkbd->force_release_mask, new_mask, sizeof(atkbd->force_release_mask)); atkbd_set_force_release()
1427 static ssize_t atkbd_show_scroll(struct atkbd *atkbd, char *buf) atkbd_show_scroll() argument
1429 return sprintf(buf, "%d\n", atkbd->scroll ? 1 : 0); atkbd_show_scroll()
1432 static ssize_t atkbd_set_scroll(struct atkbd *atkbd, const char *buf, size_t count) atkbd_set_scroll() argument
1446 if (atkbd->scroll != value) { atkbd_set_scroll()
1447 old_dev = atkbd->dev; atkbd_set_scroll()
1448 old_scroll = atkbd->scroll; atkbd_set_scroll()
1454 atkbd->dev = new_dev; atkbd_set_scroll()
1455 atkbd->scroll = value; atkbd_set_scroll()
1456 atkbd_set_keycode_table(atkbd); atkbd_set_scroll()
1457 atkbd_set_device_attrs(atkbd); atkbd_set_scroll()
1459 err = input_register_device(atkbd->dev); atkbd_set_scroll()
1463 atkbd->scroll = old_scroll; atkbd_set_scroll()
1464 atkbd->dev = old_dev; atkbd_set_scroll()
1465 atkbd_set_keycode_table(atkbd); atkbd_set_scroll()
1466 atkbd_set_device_attrs(atkbd); atkbd_set_scroll()
1475 static ssize_t atkbd_show_set(struct atkbd *atkbd, char *buf) atkbd_show_set() argument
1477 return sprintf(buf, "%d\n", atkbd->set); atkbd_show_set()
1480 static ssize_t atkbd_set_set(struct atkbd *atkbd, const char *buf, size_t count) atkbd_set_set() argument
1488 if (!atkbd->write) atkbd_set_set()
1498 if (atkbd->set != value) { atkbd_set_set()
1499 old_dev = atkbd->dev; atkbd_set_set()
1500 old_extra = atkbd->extra; atkbd_set_set()
1501 old_set = atkbd->set; atkbd_set_set()
1507 atkbd->dev = new_dev; atkbd_set_set()
1508 atkbd->set = atkbd_select_set(atkbd, value, atkbd->extra); atkbd_set_set()
1509 atkbd_reset_state(atkbd); atkbd_set_set()
1510 atkbd_activate(atkbd); atkbd_set_set()
1511 atkbd_set_keycode_table(atkbd); atkbd_set_set()
1512 atkbd_set_device_attrs(atkbd); atkbd_set_set()
1514 err = input_register_device(atkbd->dev); atkbd_set_set()
1518 atkbd->dev = old_dev; atkbd_set_set()
1519 atkbd->set = atkbd_select_set(atkbd, old_set, old_extra); atkbd_set_set()
1520 atkbd_set_keycode_table(atkbd); atkbd_set_set()
1521 atkbd_set_device_attrs(atkbd); atkbd_set_set()
1530 static ssize_t atkbd_show_softrepeat(struct atkbd *atkbd, char *buf) atkbd_show_softrepeat() argument
1532 return sprintf(buf, "%d\n", atkbd->softrepeat ? 1 : 0); atkbd_show_softrepeat()
1535 static ssize_t atkbd_set_softrepeat(struct atkbd *atkbd, const char *buf, size_t count) atkbd_set_softrepeat() argument
1542 if (!atkbd->write) atkbd_set_softrepeat()
1552 if (atkbd->softrepeat != value) { atkbd_set_softrepeat()
1553 old_dev = atkbd->dev; atkbd_set_softrepeat()
1554 old_softrepeat = atkbd->softrepeat; atkbd_set_softrepeat()
1555 old_softraw = atkbd->softraw; atkbd_set_softrepeat()
1561 atkbd->dev = new_dev; atkbd_set_softrepeat()
1562 atkbd->softrepeat = value; atkbd_set_softrepeat()
1563 if (atkbd->softrepeat) atkbd_set_softrepeat()
1564 atkbd->softraw = true; atkbd_set_softrepeat()
1565 atkbd_set_device_attrs(atkbd); atkbd_set_softrepeat()
1567 err = input_register_device(atkbd->dev); atkbd_set_softrepeat()
1571 atkbd->dev = old_dev; atkbd_set_softrepeat()
1572 atkbd->softrepeat = old_softrepeat; atkbd_set_softrepeat()
1573 atkbd->softraw = old_softraw; atkbd_set_softrepeat()
1574 atkbd_set_device_attrs(atkbd); atkbd_set_softrepeat()
1584 static ssize_t atkbd_show_softraw(struct atkbd *atkbd, char *buf) atkbd_show_softraw() argument
1586 return sprintf(buf, "%d\n", atkbd->softraw ? 1 : 0); atkbd_show_softraw()
1589 static ssize_t atkbd_set_softraw(struct atkbd *atkbd, const char *buf, size_t count) atkbd_set_softraw() argument
1603 if (atkbd->softraw != value) { atkbd_set_softraw()
1604 old_dev = atkbd->dev; atkbd_set_softraw()
1605 old_softraw = atkbd->softraw; atkbd_set_softraw()
1611 atkbd->dev = new_dev; atkbd_set_softraw()
1612 atkbd->softraw = value; atkbd_set_softraw()
1613 atkbd_set_device_attrs(atkbd); atkbd_set_softraw()
1615 err = input_register_device(atkbd->dev); atkbd_set_softraw()
1619 atkbd->dev = old_dev; atkbd_set_softraw()
1620 atkbd->softraw = old_softraw; atkbd_set_softraw()
1621 atkbd_set_device_attrs(atkbd); atkbd_set_softraw()
1630 static ssize_t atkbd_show_err_count(struct atkbd *atkbd, char *buf) atkbd_show_err_count() argument
1632 return sprintf(buf, "%lu\n", atkbd->err_count); atkbd_show_err_count()
/linux-4.1.27/drivers/input/serio/
H A Dams_delta_serio.c19 * Standard AT keyboard driver (atkbd) is used for handling the keyboard data.
H A Dlibps2.c147 * a single byte. Fail the command so atkbd will ps2_adjust_timeout()

Completed in 107 milliseconds