Lines Matching refs:tr
49 struct tr { struct
60 struct tr *tr = serio_get_drvdata(serio); in tr_interrupt() argument
61 struct input_dev *dev = tr->dev; in tr_interrupt()
63 tr->data[tr->idx] = data; in tr_interrupt()
65 if ((tr->data[0] & TR_FORMAT_STATUS_MASK) == TR_FORMAT_STATUS_BYTE) { in tr_interrupt()
66 if (++tr->idx == TR_LENGTH) { in tr_interrupt()
68 (tr->data[1] << 5) | (tr->data[2] >> 1)); in tr_interrupt()
70 (tr->data[3] << 5) | (tr->data[4] >> 1)); in tr_interrupt()
72 tr->data[0] & TR_FORMAT_TOUCH_BIT); in tr_interrupt()
74 tr->idx = 0; in tr_interrupt()
87 struct tr *tr = serio_get_drvdata(serio); in tr_disconnect() local
89 input_get_device(tr->dev); in tr_disconnect()
90 input_unregister_device(tr->dev); in tr_disconnect()
93 input_put_device(tr->dev); in tr_disconnect()
94 kfree(tr); in tr_disconnect()
105 struct tr *tr; in tr_connect() local
109 tr = kzalloc(sizeof(struct tr), GFP_KERNEL); in tr_connect()
111 if (!tr || !input_dev) { in tr_connect()
116 tr->serio = serio; in tr_connect()
117 tr->dev = input_dev; in tr_connect()
118 snprintf(tr->phys, sizeof(tr->phys), "%s/input0", serio->phys); in tr_connect()
121 input_dev->phys = tr->phys; in tr_connect()
129 input_set_abs_params(tr->dev, ABS_X, TR_MIN_XC, TR_MAX_XC, 0, 0); in tr_connect()
130 input_set_abs_params(tr->dev, ABS_Y, TR_MIN_YC, TR_MAX_YC, 0, 0); in tr_connect()
132 serio_set_drvdata(serio, tr); in tr_connect()
138 err = input_register_device(tr->dev); in tr_connect()
147 kfree(tr); in tr_connect()