Lines Matching refs:touch
53 struct pm860x_touch *touch = data; in pm860x_touch_handler() local
54 struct pm860x_chip *chip = touch->chip; in pm860x_touch_handler()
60 ret = pm860x_bulk_read(touch->i2c, MEAS_TSIX_1, MEAS_LEN, buf); in pm860x_touch_handler()
71 if ((x != 0) && (z1 != 0) && (touch->res_x != 0)) { in pm860x_touch_handler()
73 rt = (rt * touch->res_x * x) >> ACCURATE_BIT; in pm860x_touch_handler()
77 input_report_abs(touch->idev, ABS_X, x); in pm860x_touch_handler()
78 input_report_abs(touch->idev, ABS_Y, y); in pm860x_touch_handler()
79 input_report_abs(touch->idev, ABS_PRESSURE, rt); in pm860x_touch_handler()
80 input_report_key(touch->idev, BTN_TOUCH, 1); in pm860x_touch_handler()
83 input_report_abs(touch->idev, ABS_PRESSURE, 0); in pm860x_touch_handler()
84 input_report_key(touch->idev, BTN_TOUCH, 0); in pm860x_touch_handler()
87 input_sync(touch->idev); in pm860x_touch_handler()
95 struct pm860x_touch *touch = input_get_drvdata(dev); in pm860x_touch_open() local
100 ret = pm860x_set_bits(touch->i2c, MEAS_EN3, data, data); in pm860x_touch_open()
110 struct pm860x_touch *touch = input_get_drvdata(dev); in pm860x_touch_close() local
115 pm860x_set_bits(touch->i2c, MEAS_EN3, data, 0); in pm860x_touch_close()
185 struct pm860x_touch *touch; in pm860x_touch_probe() local
246 touch = devm_kzalloc(&pdev->dev, sizeof(struct pm860x_touch), in pm860x_touch_probe()
248 if (!touch) in pm860x_touch_probe()
251 platform_set_drvdata(pdev, touch); in pm860x_touch_probe()
253 touch->idev = devm_input_allocate_device(&pdev->dev); in pm860x_touch_probe()
254 if (!touch->idev) { in pm860x_touch_probe()
259 touch->idev->name = "88pm860x-touch"; in pm860x_touch_probe()
260 touch->idev->phys = "88pm860x/input0"; in pm860x_touch_probe()
261 touch->idev->id.bustype = BUS_I2C; in pm860x_touch_probe()
262 touch->idev->dev.parent = &pdev->dev; in pm860x_touch_probe()
263 touch->idev->open = pm860x_touch_open; in pm860x_touch_probe()
264 touch->idev->close = pm860x_touch_close; in pm860x_touch_probe()
265 touch->chip = chip; in pm860x_touch_probe()
266 touch->i2c = i2c; in pm860x_touch_probe()
267 touch->irq = irq; in pm860x_touch_probe()
268 touch->res_x = res_x; in pm860x_touch_probe()
269 input_set_drvdata(touch->idev, touch); in pm860x_touch_probe()
271 ret = devm_request_threaded_irq(&pdev->dev, touch->irq, NULL, in pm860x_touch_probe()
273 "touch", touch); in pm860x_touch_probe()
277 __set_bit(EV_ABS, touch->idev->evbit); in pm860x_touch_probe()
278 __set_bit(ABS_X, touch->idev->absbit); in pm860x_touch_probe()
279 __set_bit(ABS_Y, touch->idev->absbit); in pm860x_touch_probe()
280 __set_bit(ABS_PRESSURE, touch->idev->absbit); in pm860x_touch_probe()
281 __set_bit(EV_SYN, touch->idev->evbit); in pm860x_touch_probe()
282 __set_bit(EV_KEY, touch->idev->evbit); in pm860x_touch_probe()
283 __set_bit(BTN_TOUCH, touch->idev->keybit); in pm860x_touch_probe()
285 input_set_abs_params(touch->idev, ABS_X, 0, 1 << ACCURATE_BIT, 0, 0); in pm860x_touch_probe()
286 input_set_abs_params(touch->idev, ABS_Y, 0, 1 << ACCURATE_BIT, 0, 0); in pm860x_touch_probe()
287 input_set_abs_params(touch->idev, ABS_PRESSURE, 0, 1 << ACCURATE_BIT, in pm860x_touch_probe()
290 ret = input_register_device(touch->idev); in pm860x_touch_probe()
296 platform_set_drvdata(pdev, touch); in pm860x_touch_probe()