Lines Matching refs:xtkbd
56 struct xtkbd { struct
66 struct xtkbd *xtkbd = serio_get_drvdata(serio); in xtkbd_interrupt() argument
74 if (xtkbd->keycode[data & XTKBD_KEY]) { in xtkbd_interrupt()
75 input_report_key(xtkbd->dev, xtkbd->keycode[data & XTKBD_KEY], !(data & XTKBD_RELEASE)); in xtkbd_interrupt()
76 input_sync(xtkbd->dev); in xtkbd_interrupt()
87 struct xtkbd *xtkbd; in xtkbd_connect() local
92 xtkbd = kmalloc(sizeof(struct xtkbd), GFP_KERNEL); in xtkbd_connect()
94 if (!xtkbd || !input_dev) in xtkbd_connect()
97 xtkbd->serio = serio; in xtkbd_connect()
98 xtkbd->dev = input_dev; in xtkbd_connect()
99 snprintf(xtkbd->phys, sizeof(xtkbd->phys), "%s/input0", serio->phys); in xtkbd_connect()
100 memcpy(xtkbd->keycode, xtkbd_keycode, sizeof(xtkbd->keycode)); in xtkbd_connect()
103 input_dev->phys = xtkbd->phys; in xtkbd_connect()
111 input_dev->keycode = xtkbd->keycode; in xtkbd_connect()
116 set_bit(xtkbd->keycode[i], input_dev->keybit); in xtkbd_connect()
119 serio_set_drvdata(serio, xtkbd); in xtkbd_connect()
125 err = input_register_device(xtkbd->dev); in xtkbd_connect()
134 kfree(xtkbd); in xtkbd_connect()
140 struct xtkbd *xtkbd = serio_get_drvdata(serio); in xtkbd_disconnect() local
144 input_unregister_device(xtkbd->dev); in xtkbd_disconnect()
145 kfree(xtkbd); in xtkbd_disconnect()