Lines Matching +full:serial +full:- +full:id

1 // SPDX-License-Identifier: GPL-2.0-only
3 * Fujitsu serial touchscreen driver
16 #define DRIVER_DESC "Fujitsu serial touchscreen driver"
25 * Per-touchscreen data.
36 * Decode serial data (5 bytes per packet)
47 struct input_dev *dev = fujitsu->dev; in fujitsu_interrupt()
49 if (fujitsu->idx == 0) { in fujitsu_interrupt()
56 fujitsu->idx = 0; in fujitsu_interrupt()
61 fujitsu->data[fujitsu->idx++] = data; in fujitsu_interrupt()
62 if (fujitsu->idx == FUJITSU_LENGTH) { in fujitsu_interrupt()
64 (fujitsu->data[2] << 7) | fujitsu->data[1]); in fujitsu_interrupt()
66 (fujitsu->data[4] << 7) | fujitsu->data[3]); in fujitsu_interrupt()
68 (fujitsu->data[0] & 0x03) != 2); in fujitsu_interrupt()
70 fujitsu->idx = 0; in fujitsu_interrupt()
83 input_get_device(fujitsu->dev); in fujitsu_disconnect()
84 input_unregister_device(fujitsu->dev); in fujitsu_disconnect()
87 input_put_device(fujitsu->dev); in fujitsu_disconnect()
105 err = -ENOMEM; in fujitsu_connect()
109 fujitsu->serio = serio; in fujitsu_connect()
110 fujitsu->dev = input_dev; in fujitsu_connect()
111 snprintf(fujitsu->phys, sizeof(fujitsu->phys), in fujitsu_connect()
112 "%s/input0", serio->phys); in fujitsu_connect()
114 input_dev->name = "Fujitsu Serial Touchscreen"; in fujitsu_connect()
115 input_dev->phys = fujitsu->phys; in fujitsu_connect()
116 input_dev->id.bustype = BUS_RS232; in fujitsu_connect()
117 input_dev->id.vendor = SERIO_FUJITSU; in fujitsu_connect()
118 input_dev->id.product = 0; in fujitsu_connect()
119 input_dev->id.version = 0x0100; in fujitsu_connect()
120 input_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_ABS); in fujitsu_connect()
121 input_dev->keybit[BIT_WORD(BTN_TOUCH)] = BIT_MASK(BTN_TOUCH); in fujitsu_connect()
131 err = input_register_device(fujitsu->dev); in fujitsu_connect()
154 .id = SERIO_ANY,