Lines Matching refs: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 && tw->data[1] == tw->data[2]) {
68 input_report_abs(dev, ABS_X, tw->data[0]);
69 input_report_abs(dev, ABS_Y, tw->data[1]);
72 tw->idx = 0;
74 } else if (tw->touched) { /* untouch */
77 tw->idx = 0;
78 tw->touched = 0;
90 struct tw *tw = serio_get_drvdata(serio);
92 input_get_device(tw->dev);
93 input_unregister_device(tw->dev);
96 input_put_device(tw->dev);
97 kfree(tw);
108 struct tw *tw;
112 tw = kzalloc(sizeof(struct tw), GFP_KERNEL);
114 if (!tw || !input_dev) {
119 tw->serio = serio;
120 tw->dev = input_dev;
121 snprintf(tw->phys, sizeof(tw->phys), "%s/input0", serio->phys);
124 input_dev->phys = tw->phys;
132 input_set_abs_params(tw->dev, ABS_X, TW_MIN_XC, TW_MAX_XC, 0, 0);
133 input_set_abs_params(tw->dev, ABS_Y, TW_MIN_YC, TW_MAX_YC, 0, 0);
135 serio_set_drvdata(serio, tw);
141 err = input_register_device(tw->dev);
150 kfree(tw);