Lines Matching defs:tw
48 struct tw {
60 struct tw *tw = serio_get_drvdata(serio);
61 struct input_dev *dev = tw->dev;
64 tw->touched = 1;
65 tw->data[tw->idx++] = data;
67 if (tw->idx == TW_LENGTH) {
69 if (tw->data[1] == tw->data[2]) {
70 input_report_abs(dev, ABS_X, tw->data[0]);
71 input_report_abs(dev, ABS_Y, tw->data[1]);
75 tw->idx = 0;
77 } else if (tw->touched) { /* untouch */
80 tw->idx = 0;
81 tw->touched = 0;
93 struct tw *tw = serio_get_drvdata(serio);
95 input_get_device(tw->dev);
96 input_unregister_device(tw->dev);
99 input_put_device(tw->dev);
100 kfree(tw);
111 struct tw *tw;
115 tw = kzalloc_obj(*tw);
117 if (!tw || !input_dev) {
122 tw->serio = serio;
123 tw->dev = input_dev;
124 scnprintf(tw->phys, sizeof(tw->phys), "%s/input0", serio->phys);
127 input_dev->phys = tw->phys;
135 input_set_abs_params(tw->dev, ABS_X, TW_MIN_XC, TW_MAX_XC, 0, 0);
136 input_set_abs_params(tw->dev, ABS_Y, TW_MIN_YC, TW_MAX_YC, 0, 0);
138 serio_set_drvdata(serio, tw);
144 err = input_register_device(tw->dev);
153 kfree(tw);