atkbd             238 drivers/input/keyboard/atkbd.c static void (*atkbd_platform_fixup)(struct atkbd *, const void *data);
atkbd             240 drivers/input/keyboard/atkbd.c static unsigned int (*atkbd_platform_scancode_fixup)(struct atkbd *, unsigned int);
atkbd             249 drivers/input/keyboard/atkbd.c 				ssize_t (*handler)(struct atkbd *, char *));
atkbd             251 drivers/input/keyboard/atkbd.c 				ssize_t (*handler)(struct atkbd *, const char *, size_t));
atkbd             253 drivers/input/keyboard/atkbd.c static ssize_t atkbd_show_##_name(struct atkbd *, char *);			\
atkbd             254 drivers/input/keyboard/atkbd.c static ssize_t atkbd_set_##_name(struct atkbd *, const char *, size_t);		\
atkbd             276 drivers/input/keyboard/atkbd.c static ssize_t atkbd_show_##_name(struct atkbd *, char *);			\
atkbd             330 drivers/input/keyboard/atkbd.c static void atkbd_calculate_xl_bit(struct atkbd *atkbd, unsigned char code)
atkbd             337 drivers/input/keyboard/atkbd.c 				__clear_bit(i, &atkbd->xl_bit);
atkbd             339 drivers/input/keyboard/atkbd.c 				__set_bit(i, &atkbd->xl_bit);
atkbd             349 drivers/input/keyboard/atkbd.c static unsigned int atkbd_compat_scancode(struct atkbd *atkbd, unsigned int code)
atkbd             351 drivers/input/keyboard/atkbd.c 	if (atkbd->set == 3) {
atkbd             352 drivers/input/keyboard/atkbd.c 		if (atkbd->emul == 1)
atkbd             356 drivers/input/keyboard/atkbd.c 		if (atkbd->emul == 1)
atkbd             371 drivers/input/keyboard/atkbd.c 	struct atkbd *atkbd = serio_get_drvdata(serio);
atkbd             372 drivers/input/keyboard/atkbd.c 	struct input_dev *dev = atkbd->dev;
atkbd             381 drivers/input/keyboard/atkbd.c 	if ((flags & (SERIO_FRAME | SERIO_PARITY)) && (~flags & SERIO_TIMEOUT) && !atkbd->resend && atkbd->write) {
atkbd             384 drivers/input/keyboard/atkbd.c 		atkbd->resend = true;
atkbd             389 drivers/input/keyboard/atkbd.c 		atkbd->resend = false;
atkbd             392 drivers/input/keyboard/atkbd.c 	if (unlikely(atkbd->ps2dev.flags & PS2_FLAG_ACK))
atkbd             393 drivers/input/keyboard/atkbd.c 		if  (ps2_handle_ack(&atkbd->ps2dev, data))
atkbd             396 drivers/input/keyboard/atkbd.c 	if (unlikely(atkbd->ps2dev.flags & PS2_FLAG_CMD))
atkbd             397 drivers/input/keyboard/atkbd.c 		if  (ps2_handle_response(&atkbd->ps2dev, data))
atkbd             402 drivers/input/keyboard/atkbd.c 	if (!atkbd->enabled)
atkbd             408 drivers/input/keyboard/atkbd.c 		code = atkbd_platform_scancode_fixup(atkbd, code);
atkbd             410 drivers/input/keyboard/atkbd.c 	if (atkbd->translated) {
atkbd             412 drivers/input/keyboard/atkbd.c 		if (atkbd->emul || atkbd_need_xlate(atkbd->xl_bit, code)) {
atkbd             413 drivers/input/keyboard/atkbd.c 			atkbd->release = code >> 7;
atkbd             417 drivers/input/keyboard/atkbd.c 		if (!atkbd->emul)
atkbd             418 drivers/input/keyboard/atkbd.c 			atkbd_calculate_xl_bit(atkbd, data);
atkbd             423 drivers/input/keyboard/atkbd.c 		atkbd->enabled = false;
atkbd             424 drivers/input/keyboard/atkbd.c 		serio_reconnect(atkbd->ps2dev.serio);
atkbd             427 drivers/input/keyboard/atkbd.c 		atkbd->emul = 1;
atkbd             430 drivers/input/keyboard/atkbd.c 		atkbd->emul = 2;
atkbd             433 drivers/input/keyboard/atkbd.c 		atkbd->release = true;
atkbd             444 drivers/input/keyboard/atkbd.c 		atkbd->err_count++;
atkbd             450 drivers/input/keyboard/atkbd.c 	code = atkbd_compat_scancode(atkbd, code);
atkbd             452 drivers/input/keyboard/atkbd.c 	if (atkbd->emul && --atkbd->emul)
atkbd             455 drivers/input/keyboard/atkbd.c 	keycode = atkbd->keycode[code];
atkbd             457 drivers/input/keyboard/atkbd.c 	if (!(atkbd->release && test_bit(code, atkbd->force_release_mask)))
atkbd             467 drivers/input/keyboard/atkbd.c 			 atkbd->release ? "released" : "pressed",
atkbd             468 drivers/input/keyboard/atkbd.c 			 atkbd->translated ? "translated" : "raw",
atkbd             469 drivers/input/keyboard/atkbd.c 			 atkbd->set, code, serio->phys);
atkbd             488 drivers/input/keyboard/atkbd.c 		click = !atkbd->release;
atkbd             497 drivers/input/keyboard/atkbd.c 		if (atkbd->release) {
atkbd             499 drivers/input/keyboard/atkbd.c 			atkbd->last = 0;
atkbd             500 drivers/input/keyboard/atkbd.c 		} else if (!atkbd->softrepeat && test_bit(keycode, dev->key)) {
atkbd             502 drivers/input/keyboard/atkbd.c 			value = time_before(jiffies, atkbd->time) && atkbd->last == code ? 1 : 2;
atkbd             505 drivers/input/keyboard/atkbd.c 			atkbd->last = code;
atkbd             506 drivers/input/keyboard/atkbd.c 			atkbd->time = jiffies + msecs_to_jiffies(dev->rep[REP_DELAY]) / 2;
atkbd             512 drivers/input/keyboard/atkbd.c 		if (value && test_bit(code, atkbd->force_release_mask)) {
atkbd             519 drivers/input/keyboard/atkbd.c 	if (atkbd->scroll) {
atkbd             523 drivers/input/keyboard/atkbd.c 				 atkbd->release ? -scroll : scroll);
atkbd             528 drivers/input/keyboard/atkbd.c 	atkbd->release = false;
atkbd             533 drivers/input/keyboard/atkbd.c static int atkbd_set_repeat_rate(struct atkbd *atkbd)
atkbd             541 drivers/input/keyboard/atkbd.c 	struct input_dev *dev = atkbd->dev;
atkbd             554 drivers/input/keyboard/atkbd.c 	return ps2_command(&atkbd->ps2dev, &param, ATKBD_CMD_SETREP);
atkbd             557 drivers/input/keyboard/atkbd.c static int atkbd_set_leds(struct atkbd *atkbd)
atkbd             559 drivers/input/keyboard/atkbd.c 	struct input_dev *dev = atkbd->dev;
atkbd             565 drivers/input/keyboard/atkbd.c 	if (ps2_command(&atkbd->ps2dev, param, ATKBD_CMD_SETLEDS))
atkbd             568 drivers/input/keyboard/atkbd.c 	if (atkbd->extra) {
atkbd             575 drivers/input/keyboard/atkbd.c 		if (ps2_command(&atkbd->ps2dev, param, ATKBD_CMD_EX_SETLEDS))
atkbd             590 drivers/input/keyboard/atkbd.c 	struct atkbd *atkbd = container_of(work, struct atkbd, event_work.work);
atkbd             592 drivers/input/keyboard/atkbd.c 	mutex_lock(&atkbd->mutex);
atkbd             594 drivers/input/keyboard/atkbd.c 	if (!atkbd->enabled) {
atkbd             601 drivers/input/keyboard/atkbd.c 		schedule_delayed_work(&atkbd->event_work,
atkbd             604 drivers/input/keyboard/atkbd.c 		if (test_and_clear_bit(ATKBD_LED_EVENT_BIT, &atkbd->event_mask))
atkbd             605 drivers/input/keyboard/atkbd.c 			atkbd_set_leds(atkbd);
atkbd             607 drivers/input/keyboard/atkbd.c 		if (test_and_clear_bit(ATKBD_REP_EVENT_BIT, &atkbd->event_mask))
atkbd             608 drivers/input/keyboard/atkbd.c 			atkbd_set_repeat_rate(atkbd);
atkbd             611 drivers/input/keyboard/atkbd.c 	mutex_unlock(&atkbd->mutex);
atkbd             618 drivers/input/keyboard/atkbd.c static void atkbd_schedule_event_work(struct atkbd *atkbd, int event_bit)
atkbd             622 drivers/input/keyboard/atkbd.c 	if (time_after(jiffies, atkbd->event_jiffies + delay))
atkbd             625 drivers/input/keyboard/atkbd.c 	atkbd->event_jiffies = jiffies;
atkbd             626 drivers/input/keyboard/atkbd.c 	set_bit(event_bit, &atkbd->event_mask);
atkbd             628 drivers/input/keyboard/atkbd.c 	schedule_delayed_work(&atkbd->event_work, delay);
atkbd             640 drivers/input/keyboard/atkbd.c 	struct atkbd *atkbd = input_get_drvdata(dev);
atkbd             642 drivers/input/keyboard/atkbd.c 	if (!atkbd->write)
atkbd             648 drivers/input/keyboard/atkbd.c 		atkbd_schedule_event_work(atkbd, ATKBD_LED_EVENT_BIT);
atkbd             652 drivers/input/keyboard/atkbd.c 		if (!atkbd->softrepeat)
atkbd             653 drivers/input/keyboard/atkbd.c 			atkbd_schedule_event_work(atkbd, ATKBD_REP_EVENT_BIT);
atkbd             666 drivers/input/keyboard/atkbd.c static inline void atkbd_enable(struct atkbd *atkbd)
atkbd             668 drivers/input/keyboard/atkbd.c 	serio_pause_rx(atkbd->ps2dev.serio);
atkbd             669 drivers/input/keyboard/atkbd.c 	atkbd->enabled = true;
atkbd             670 drivers/input/keyboard/atkbd.c 	serio_continue_rx(atkbd->ps2dev.serio);
atkbd             678 drivers/input/keyboard/atkbd.c static inline void atkbd_disable(struct atkbd *atkbd)
atkbd             680 drivers/input/keyboard/atkbd.c 	serio_pause_rx(atkbd->ps2dev.serio);
atkbd             681 drivers/input/keyboard/atkbd.c 	atkbd->enabled = false;
atkbd             682 drivers/input/keyboard/atkbd.c 	serio_continue_rx(atkbd->ps2dev.serio);
atkbd             685 drivers/input/keyboard/atkbd.c static int atkbd_activate(struct atkbd *atkbd)
atkbd             687 drivers/input/keyboard/atkbd.c 	struct ps2dev *ps2dev = &atkbd->ps2dev;
atkbd             708 drivers/input/keyboard/atkbd.c static void atkbd_deactivate(struct atkbd *atkbd)
atkbd             710 drivers/input/keyboard/atkbd.c 	struct ps2dev *ps2dev = &atkbd->ps2dev;
atkbd             722 drivers/input/keyboard/atkbd.c static int atkbd_probe(struct atkbd *atkbd)
atkbd             724 drivers/input/keyboard/atkbd.c 	struct ps2dev *ps2dev = &atkbd->ps2dev;
atkbd             757 drivers/input/keyboard/atkbd.c 		atkbd->id = 0xabba;
atkbd             764 drivers/input/keyboard/atkbd.c 	atkbd->id = (param[0] << 8) | param[1];
atkbd             766 drivers/input/keyboard/atkbd.c 	if (atkbd->id == 0xaca1 && atkbd->translated) {
atkbd             778 drivers/input/keyboard/atkbd.c 		atkbd_deactivate(atkbd);
atkbd             789 drivers/input/keyboard/atkbd.c static int atkbd_select_set(struct atkbd *atkbd, int target_set, int allow_extra)
atkbd             791 drivers/input/keyboard/atkbd.c 	struct ps2dev *ps2dev = &atkbd->ps2dev;
atkbd             794 drivers/input/keyboard/atkbd.c 	atkbd->extra = false;
atkbd             801 drivers/input/keyboard/atkbd.c 	if (atkbd->translated)
atkbd             804 drivers/input/keyboard/atkbd.c 	if (atkbd->id == 0xaca1) {
atkbd             813 drivers/input/keyboard/atkbd.c 			atkbd->extra = true;
atkbd             827 drivers/input/keyboard/atkbd.c 		atkbd->id = param[0] << 8 | param[1];
atkbd             850 drivers/input/keyboard/atkbd.c static int atkbd_reset_state(struct atkbd *atkbd)
atkbd             852 drivers/input/keyboard/atkbd.c         struct ps2dev *ps2dev = &atkbd->ps2dev;
atkbd             881 drivers/input/keyboard/atkbd.c 	struct atkbd *atkbd = serio_get_drvdata(serio);
atkbd             883 drivers/input/keyboard/atkbd.c 	atkbd_disable(atkbd);
atkbd             884 drivers/input/keyboard/atkbd.c 	ps2_command(&atkbd->ps2dev, NULL, ATKBD_CMD_RESET_DEF);
atkbd             894 drivers/input/keyboard/atkbd.c 	struct atkbd *atkbd = serio_get_drvdata(serio);
atkbd             898 drivers/input/keyboard/atkbd.c 	atkbd_disable(atkbd);
atkbd             900 drivers/input/keyboard/atkbd.c 	input_unregister_device(atkbd->dev);
atkbd             908 drivers/input/keyboard/atkbd.c 	cancel_delayed_work_sync(&atkbd->event_work);
atkbd             912 drivers/input/keyboard/atkbd.c 	kfree(atkbd);
atkbd             918 drivers/input/keyboard/atkbd.c static void atkbd_apply_forced_release_keylist(struct atkbd* atkbd,
atkbd             924 drivers/input/keyboard/atkbd.c 	if (atkbd->set == 2)
atkbd             926 drivers/input/keyboard/atkbd.c 			__set_bit(keys[i], atkbd->force_release_mask);
atkbd             985 drivers/input/keyboard/atkbd.c static unsigned int atkbd_oqo_01plus_scancode_fixup(struct atkbd *atkbd,
atkbd             988 drivers/input/keyboard/atkbd.c 	if (atkbd->translated && atkbd->emul == 1 &&
atkbd             990 drivers/input/keyboard/atkbd.c 		atkbd->emul = 0;
atkbd            1002 drivers/input/keyboard/atkbd.c static void atkbd_set_keycode_table(struct atkbd *atkbd)
atkbd            1007 drivers/input/keyboard/atkbd.c 	memset(atkbd->keycode, 0, sizeof(atkbd->keycode));
atkbd            1008 drivers/input/keyboard/atkbd.c 	bitmap_zero(atkbd->force_release_mask, ATKBD_KEYMAP_SIZE);
atkbd            1010 drivers/input/keyboard/atkbd.c 	if (atkbd->translated) {
atkbd            1013 drivers/input/keyboard/atkbd.c 			atkbd->keycode[i] = atkbd_set2_keycode[scancode];
atkbd            1014 drivers/input/keyboard/atkbd.c 			atkbd->keycode[i | 0x80] = atkbd_set2_keycode[scancode | 0x80];
atkbd            1015 drivers/input/keyboard/atkbd.c 			if (atkbd->scroll)
atkbd            1018 drivers/input/keyboard/atkbd.c 						atkbd->keycode[i | 0x80] = atkbd_scroll_keys[j].keycode;
atkbd            1020 drivers/input/keyboard/atkbd.c 	} else if (atkbd->set == 3) {
atkbd            1021 drivers/input/keyboard/atkbd.c 		memcpy(atkbd->keycode, atkbd_set3_keycode, sizeof(atkbd->keycode));
atkbd            1023 drivers/input/keyboard/atkbd.c 		memcpy(atkbd->keycode, atkbd_set2_keycode, sizeof(atkbd->keycode));
atkbd            1025 drivers/input/keyboard/atkbd.c 		if (atkbd->scroll)
atkbd            1028 drivers/input/keyboard/atkbd.c 				atkbd->keycode[scancode] = atkbd_scroll_keys[i].keycode;
atkbd            1036 drivers/input/keyboard/atkbd.c 	scancode = atkbd_compat_scancode(atkbd, ATKBD_RET_HANGEUL);
atkbd            1037 drivers/input/keyboard/atkbd.c 	atkbd->keycode[scancode] = KEY_HANGEUL;
atkbd            1038 drivers/input/keyboard/atkbd.c 	__set_bit(scancode, atkbd->force_release_mask);
atkbd            1040 drivers/input/keyboard/atkbd.c 	scancode = atkbd_compat_scancode(atkbd, ATKBD_RET_HANJA);
atkbd            1041 drivers/input/keyboard/atkbd.c 	atkbd->keycode[scancode] = KEY_HANJA;
atkbd            1042 drivers/input/keyboard/atkbd.c 	__set_bit(scancode, atkbd->force_release_mask);
atkbd            1048 drivers/input/keyboard/atkbd.c 		atkbd_platform_fixup(atkbd, atkbd_platform_fixup_data);
atkbd            1055 drivers/input/keyboard/atkbd.c static void atkbd_set_device_attrs(struct atkbd *atkbd)
atkbd            1057 drivers/input/keyboard/atkbd.c 	struct input_dev *input_dev = atkbd->dev;
atkbd            1060 drivers/input/keyboard/atkbd.c 	if (atkbd->extra)
atkbd            1061 drivers/input/keyboard/atkbd.c 		snprintf(atkbd->name, sizeof(atkbd->name),
atkbd            1064 drivers/input/keyboard/atkbd.c 		snprintf(atkbd->name, sizeof(atkbd->name),
atkbd            1066 drivers/input/keyboard/atkbd.c 			 atkbd->translated ? "Translated" : "Raw", atkbd->set);
atkbd            1068 drivers/input/keyboard/atkbd.c 	snprintf(atkbd->phys, sizeof(atkbd->phys),
atkbd            1069 drivers/input/keyboard/atkbd.c 		 "%s/input0", atkbd->ps2dev.serio->phys);
atkbd            1071 drivers/input/keyboard/atkbd.c 	input_dev->name = atkbd->name;
atkbd            1072 drivers/input/keyboard/atkbd.c 	input_dev->phys = atkbd->phys;
atkbd            1075 drivers/input/keyboard/atkbd.c 	input_dev->id.product = atkbd->translated ? 1 : atkbd->set;
atkbd            1076 drivers/input/keyboard/atkbd.c 	input_dev->id.version = atkbd->id;
atkbd            1078 drivers/input/keyboard/atkbd.c 	input_dev->dev.parent = &atkbd->ps2dev.serio->dev;
atkbd            1080 drivers/input/keyboard/atkbd.c 	input_set_drvdata(input_dev, atkbd);
atkbd            1085 drivers/input/keyboard/atkbd.c 	if (atkbd->write) {
atkbd            1091 drivers/input/keyboard/atkbd.c 	if (atkbd->extra)
atkbd            1096 drivers/input/keyboard/atkbd.c 	if (!atkbd->softrepeat) {
atkbd            1101 drivers/input/keyboard/atkbd.c 	input_dev->mscbit[0] = atkbd->softraw ? BIT_MASK(MSC_SCAN) :
atkbd            1104 drivers/input/keyboard/atkbd.c 	if (atkbd->scroll) {
atkbd            1111 drivers/input/keyboard/atkbd.c 	input_dev->keycode = atkbd->keycode;
atkbd            1116 drivers/input/keyboard/atkbd.c 		if (atkbd->keycode[i] != KEY_RESERVED &&
atkbd            1117 drivers/input/keyboard/atkbd.c 		    atkbd->keycode[i] != ATKBD_KEY_NULL &&
atkbd            1118 drivers/input/keyboard/atkbd.c 		    atkbd->keycode[i] < ATKBD_SPECIAL) {
atkbd            1119 drivers/input/keyboard/atkbd.c 			__set_bit(atkbd->keycode[i], input_dev->keybit);
atkbd            1133 drivers/input/keyboard/atkbd.c 	struct atkbd *atkbd;
atkbd            1137 drivers/input/keyboard/atkbd.c 	atkbd = kzalloc(sizeof(struct atkbd), GFP_KERNEL);
atkbd            1139 drivers/input/keyboard/atkbd.c 	if (!atkbd || !dev)
atkbd            1142 drivers/input/keyboard/atkbd.c 	atkbd->dev = dev;
atkbd            1143 drivers/input/keyboard/atkbd.c 	ps2_init(&atkbd->ps2dev, serio);
atkbd            1144 drivers/input/keyboard/atkbd.c 	INIT_DELAYED_WORK(&atkbd->event_work, atkbd_event_work);
atkbd            1145 drivers/input/keyboard/atkbd.c 	mutex_init(&atkbd->mutex);
atkbd            1150 drivers/input/keyboard/atkbd.c 		atkbd->translated = true;
atkbd            1155 drivers/input/keyboard/atkbd.c 			atkbd->write = true;
atkbd            1159 drivers/input/keyboard/atkbd.c 	atkbd->softraw = atkbd_softraw;
atkbd            1160 drivers/input/keyboard/atkbd.c 	atkbd->softrepeat = atkbd_softrepeat;
atkbd            1161 drivers/input/keyboard/atkbd.c 	atkbd->scroll = atkbd_scroll;
atkbd            1163 drivers/input/keyboard/atkbd.c 	if (atkbd->softrepeat)
atkbd            1164 drivers/input/keyboard/atkbd.c 		atkbd->softraw = true;
atkbd            1166 drivers/input/keyboard/atkbd.c 	serio_set_drvdata(serio, atkbd);
atkbd            1172 drivers/input/keyboard/atkbd.c 	if (atkbd->write) {
atkbd            1174 drivers/input/keyboard/atkbd.c 		if (atkbd_probe(atkbd)) {
atkbd            1179 drivers/input/keyboard/atkbd.c 		atkbd->set = atkbd_select_set(atkbd, atkbd_set, atkbd_extra);
atkbd            1180 drivers/input/keyboard/atkbd.c 		atkbd_reset_state(atkbd);
atkbd            1183 drivers/input/keyboard/atkbd.c 		atkbd->set = 2;
atkbd            1184 drivers/input/keyboard/atkbd.c 		atkbd->id = 0xab00;
atkbd            1187 drivers/input/keyboard/atkbd.c 	atkbd_set_keycode_table(atkbd);
atkbd            1188 drivers/input/keyboard/atkbd.c 	atkbd_set_device_attrs(atkbd);
atkbd            1194 drivers/input/keyboard/atkbd.c 	atkbd_enable(atkbd);
atkbd            1196 drivers/input/keyboard/atkbd.c 		atkbd_activate(atkbd);
atkbd            1198 drivers/input/keyboard/atkbd.c 	err = input_register_device(atkbd->dev);
atkbd            1208 drivers/input/keyboard/atkbd.c 	kfree(atkbd);
atkbd            1219 drivers/input/keyboard/atkbd.c 	struct atkbd *atkbd = serio_get_drvdata(serio);
atkbd            1223 drivers/input/keyboard/atkbd.c 	if (!atkbd || !drv) {
atkbd            1229 drivers/input/keyboard/atkbd.c 	mutex_lock(&atkbd->mutex);
atkbd            1231 drivers/input/keyboard/atkbd.c 	atkbd_disable(atkbd);
atkbd            1233 drivers/input/keyboard/atkbd.c 	if (atkbd->write) {
atkbd            1234 drivers/input/keyboard/atkbd.c 		if (atkbd_probe(atkbd))
atkbd            1237 drivers/input/keyboard/atkbd.c 		if (atkbd->set != atkbd_select_set(atkbd, atkbd->set, atkbd->extra))
atkbd            1247 drivers/input/keyboard/atkbd.c 		atkbd_set_leds(atkbd);
atkbd            1248 drivers/input/keyboard/atkbd.c 		if (!atkbd->softrepeat)
atkbd            1249 drivers/input/keyboard/atkbd.c 			atkbd_set_repeat_rate(atkbd);
atkbd            1257 drivers/input/keyboard/atkbd.c 	atkbd->xl_bit = 0;
atkbd            1258 drivers/input/keyboard/atkbd.c 	atkbd->emul = 0;
atkbd            1260 drivers/input/keyboard/atkbd.c 	atkbd_enable(atkbd);
atkbd            1261 drivers/input/keyboard/atkbd.c 	if (atkbd->write)
atkbd            1262 drivers/input/keyboard/atkbd.c 		atkbd_activate(atkbd);
atkbd            1267 drivers/input/keyboard/atkbd.c 	mutex_unlock(&atkbd->mutex);
atkbd            1309 drivers/input/keyboard/atkbd.c 				ssize_t (*handler)(struct atkbd *, char *))
atkbd            1312 drivers/input/keyboard/atkbd.c 	struct atkbd *atkbd = serio_get_drvdata(serio);
atkbd            1314 drivers/input/keyboard/atkbd.c 	return handler(atkbd, buf);
atkbd            1318 drivers/input/keyboard/atkbd.c 				ssize_t (*handler)(struct atkbd *, const char *, size_t))
atkbd            1321 drivers/input/keyboard/atkbd.c 	struct atkbd *atkbd = serio_get_drvdata(serio);
atkbd            1324 drivers/input/keyboard/atkbd.c 	retval = mutex_lock_interruptible(&atkbd->mutex);
atkbd            1328 drivers/input/keyboard/atkbd.c 	atkbd_disable(atkbd);
atkbd            1329 drivers/input/keyboard/atkbd.c 	retval = handler(atkbd, buf, count);
atkbd            1330 drivers/input/keyboard/atkbd.c 	atkbd_enable(atkbd);
atkbd            1332 drivers/input/keyboard/atkbd.c 	mutex_unlock(&atkbd->mutex);
atkbd            1337 drivers/input/keyboard/atkbd.c static ssize_t atkbd_show_extra(struct atkbd *atkbd, char *buf)
atkbd            1339 drivers/input/keyboard/atkbd.c 	return sprintf(buf, "%d\n", atkbd->extra ? 1 : 0);
atkbd            1342 drivers/input/keyboard/atkbd.c static ssize_t atkbd_set_extra(struct atkbd *atkbd, const char *buf, size_t count)
atkbd            1350 drivers/input/keyboard/atkbd.c 	if (!atkbd->write)
atkbd            1360 drivers/input/keyboard/atkbd.c 	if (atkbd->extra != value) {
atkbd            1366 drivers/input/keyboard/atkbd.c 		old_dev = atkbd->dev;
atkbd            1367 drivers/input/keyboard/atkbd.c 		old_extra = atkbd->extra;
atkbd            1368 drivers/input/keyboard/atkbd.c 		old_set = atkbd->set;
atkbd            1374 drivers/input/keyboard/atkbd.c 		atkbd->dev = new_dev;
atkbd            1375 drivers/input/keyboard/atkbd.c 		atkbd->set = atkbd_select_set(atkbd, atkbd->set, value);
atkbd            1376 drivers/input/keyboard/atkbd.c 		atkbd_reset_state(atkbd);
atkbd            1377 drivers/input/keyboard/atkbd.c 		atkbd_activate(atkbd);
atkbd            1378 drivers/input/keyboard/atkbd.c 		atkbd_set_keycode_table(atkbd);
atkbd            1379 drivers/input/keyboard/atkbd.c 		atkbd_set_device_attrs(atkbd);
atkbd            1381 drivers/input/keyboard/atkbd.c 		err = input_register_device(atkbd->dev);
atkbd            1385 drivers/input/keyboard/atkbd.c 			atkbd->dev = old_dev;
atkbd            1386 drivers/input/keyboard/atkbd.c 			atkbd->set = atkbd_select_set(atkbd, old_set, old_extra);
atkbd            1387 drivers/input/keyboard/atkbd.c 			atkbd_set_keycode_table(atkbd);
atkbd            1388 drivers/input/keyboard/atkbd.c 			atkbd_set_device_attrs(atkbd);
atkbd            1398 drivers/input/keyboard/atkbd.c static ssize_t atkbd_show_force_release(struct atkbd *atkbd, char *buf)
atkbd            1401 drivers/input/keyboard/atkbd.c 			       ATKBD_KEYMAP_SIZE, atkbd->force_release_mask);
atkbd            1409 drivers/input/keyboard/atkbd.c static ssize_t atkbd_set_force_release(struct atkbd *atkbd,
atkbd            1420 drivers/input/keyboard/atkbd.c 	memcpy(atkbd->force_release_mask, new_mask, sizeof(atkbd->force_release_mask));
atkbd            1425 drivers/input/keyboard/atkbd.c static ssize_t atkbd_show_scroll(struct atkbd *atkbd, char *buf)
atkbd            1427 drivers/input/keyboard/atkbd.c 	return sprintf(buf, "%d\n", atkbd->scroll ? 1 : 0);
atkbd            1430 drivers/input/keyboard/atkbd.c static ssize_t atkbd_set_scroll(struct atkbd *atkbd, const char *buf, size_t count)
atkbd            1444 drivers/input/keyboard/atkbd.c 	if (atkbd->scroll != value) {
atkbd            1445 drivers/input/keyboard/atkbd.c 		old_dev = atkbd->dev;
atkbd            1446 drivers/input/keyboard/atkbd.c 		old_scroll = atkbd->scroll;
atkbd            1452 drivers/input/keyboard/atkbd.c 		atkbd->dev = new_dev;
atkbd            1453 drivers/input/keyboard/atkbd.c 		atkbd->scroll = value;
atkbd            1454 drivers/input/keyboard/atkbd.c 		atkbd_set_keycode_table(atkbd);
atkbd            1455 drivers/input/keyboard/atkbd.c 		atkbd_set_device_attrs(atkbd);
atkbd            1457 drivers/input/keyboard/atkbd.c 		err = input_register_device(atkbd->dev);
atkbd            1461 drivers/input/keyboard/atkbd.c 			atkbd->scroll = old_scroll;
atkbd            1462 drivers/input/keyboard/atkbd.c 			atkbd->dev = old_dev;
atkbd            1463 drivers/input/keyboard/atkbd.c 			atkbd_set_keycode_table(atkbd);
atkbd            1464 drivers/input/keyboard/atkbd.c 			atkbd_set_device_attrs(atkbd);
atkbd            1473 drivers/input/keyboard/atkbd.c static ssize_t atkbd_show_set(struct atkbd *atkbd, char *buf)
atkbd            1475 drivers/input/keyboard/atkbd.c 	return sprintf(buf, "%d\n", atkbd->set);
atkbd            1478 drivers/input/keyboard/atkbd.c static ssize_t atkbd_set_set(struct atkbd *atkbd, const char *buf, size_t count)
atkbd            1486 drivers/input/keyboard/atkbd.c 	if (!atkbd->write)
atkbd            1496 drivers/input/keyboard/atkbd.c 	if (atkbd->set != value) {
atkbd            1497 drivers/input/keyboard/atkbd.c 		old_dev = atkbd->dev;
atkbd            1498 drivers/input/keyboard/atkbd.c 		old_extra = atkbd->extra;
atkbd            1499 drivers/input/keyboard/atkbd.c 		old_set = atkbd->set;
atkbd            1505 drivers/input/keyboard/atkbd.c 		atkbd->dev = new_dev;
atkbd            1506 drivers/input/keyboard/atkbd.c 		atkbd->set = atkbd_select_set(atkbd, value, atkbd->extra);
atkbd            1507 drivers/input/keyboard/atkbd.c 		atkbd_reset_state(atkbd);
atkbd            1508 drivers/input/keyboard/atkbd.c 		atkbd_activate(atkbd);
atkbd            1509 drivers/input/keyboard/atkbd.c 		atkbd_set_keycode_table(atkbd);
atkbd            1510 drivers/input/keyboard/atkbd.c 		atkbd_set_device_attrs(atkbd);
atkbd            1512 drivers/input/keyboard/atkbd.c 		err = input_register_device(atkbd->dev);
atkbd            1516 drivers/input/keyboard/atkbd.c 			atkbd->dev = old_dev;
atkbd            1517 drivers/input/keyboard/atkbd.c 			atkbd->set = atkbd_select_set(atkbd, old_set, old_extra);
atkbd            1518 drivers/input/keyboard/atkbd.c 			atkbd_set_keycode_table(atkbd);
atkbd            1519 drivers/input/keyboard/atkbd.c 			atkbd_set_device_attrs(atkbd);
atkbd            1528 drivers/input/keyboard/atkbd.c static ssize_t atkbd_show_softrepeat(struct atkbd *atkbd, char *buf)
atkbd            1530 drivers/input/keyboard/atkbd.c 	return sprintf(buf, "%d\n", atkbd->softrepeat ? 1 : 0);
atkbd            1533 drivers/input/keyboard/atkbd.c static ssize_t atkbd_set_softrepeat(struct atkbd *atkbd, const char *buf, size_t count)
atkbd            1540 drivers/input/keyboard/atkbd.c 	if (!atkbd->write)
atkbd            1550 drivers/input/keyboard/atkbd.c 	if (atkbd->softrepeat != value) {
atkbd            1551 drivers/input/keyboard/atkbd.c 		old_dev = atkbd->dev;
atkbd            1552 drivers/input/keyboard/atkbd.c 		old_softrepeat = atkbd->softrepeat;
atkbd            1553 drivers/input/keyboard/atkbd.c 		old_softraw = atkbd->softraw;
atkbd            1559 drivers/input/keyboard/atkbd.c 		atkbd->dev = new_dev;
atkbd            1560 drivers/input/keyboard/atkbd.c 		atkbd->softrepeat = value;
atkbd            1561 drivers/input/keyboard/atkbd.c 		if (atkbd->softrepeat)
atkbd            1562 drivers/input/keyboard/atkbd.c 			atkbd->softraw = true;
atkbd            1563 drivers/input/keyboard/atkbd.c 		atkbd_set_device_attrs(atkbd);
atkbd            1565 drivers/input/keyboard/atkbd.c 		err = input_register_device(atkbd->dev);
atkbd            1569 drivers/input/keyboard/atkbd.c 			atkbd->dev = old_dev;
atkbd            1570 drivers/input/keyboard/atkbd.c 			atkbd->softrepeat = old_softrepeat;
atkbd            1571 drivers/input/keyboard/atkbd.c 			atkbd->softraw = old_softraw;
atkbd            1572 drivers/input/keyboard/atkbd.c 			atkbd_set_device_attrs(atkbd);
atkbd            1582 drivers/input/keyboard/atkbd.c static ssize_t atkbd_show_softraw(struct atkbd *atkbd, char *buf)
atkbd            1584 drivers/input/keyboard/atkbd.c 	return sprintf(buf, "%d\n", atkbd->softraw ? 1 : 0);
atkbd            1587 drivers/input/keyboard/atkbd.c static ssize_t atkbd_set_softraw(struct atkbd *atkbd, const char *buf, size_t count)
atkbd            1601 drivers/input/keyboard/atkbd.c 	if (atkbd->softraw != value) {
atkbd            1602 drivers/input/keyboard/atkbd.c 		old_dev = atkbd->dev;
atkbd            1603 drivers/input/keyboard/atkbd.c 		old_softraw = atkbd->softraw;
atkbd            1609 drivers/input/keyboard/atkbd.c 		atkbd->dev = new_dev;
atkbd            1610 drivers/input/keyboard/atkbd.c 		atkbd->softraw = value;
atkbd            1611 drivers/input/keyboard/atkbd.c 		atkbd_set_device_attrs(atkbd);
atkbd            1613 drivers/input/keyboard/atkbd.c 		err = input_register_device(atkbd->dev);
atkbd            1617 drivers/input/keyboard/atkbd.c 			atkbd->dev = old_dev;
atkbd            1618 drivers/input/keyboard/atkbd.c 			atkbd->softraw = old_softraw;
atkbd            1619 drivers/input/keyboard/atkbd.c 			atkbd_set_device_attrs(atkbd);
atkbd            1628 drivers/input/keyboard/atkbd.c static ssize_t atkbd_show_err_count(struct atkbd *atkbd, char *buf)
atkbd            1630 drivers/input/keyboard/atkbd.c 	return sprintf(buf, "%lu\n", atkbd->err_count);