};
-static int MX1TS_lastx = 0;
-static int MX1TS_lasty = 0;
static inline void mx1ts_reg_set_mask(struct mx1ts *mts , unsigned int reg, u32 mask)
{
static void mx1ts_evt_add_touch(struct input_dev *idev, u8 p , u16 x, u16 y)
{
+ struct mx1ts *mts = dev_get_drvdata(idev->dev.parent);
+ mts->x_akt = x;
+ mts->y_akt = y;
+
input_report_key(idev, BTN_TOUCH, 1);
input_report_abs(idev, ABS_X, x);
input_report_abs(idev, ABS_Y, y);
/*input_report_abs(idev, ABS_PRESSURE, p);*/
input_report_abs(idev, ABS_PRESSURE, 1);
- MX1TS_lastx = x;
- MX1TS_lasty = y;
input_sync(idev);
}
static void mx1ts_evt_add_up(struct input_dev *idev)
{
- input_report_abs(idev, ABS_X, MX1TS_lastx);
- input_report_abs(idev, ABS_Y, MX1TS_lasty);
+ struct mx1ts *mts = dev_get_drvdata(idev->dev.parent);
+
+ input_report_abs(idev, ABS_X, mts->x_akt);
+ input_report_abs(idev, ABS_Y, mts->y_akt);
input_report_abs(idev, ABS_PRESSURE, 0);
/*input_report_key(idev, BTN_TOUCH, 0);*/
input_sync(idev);
{
struct mx1ts *mts = (struct mx1ts *) dev_id;
- printk(KERN_ERR "mx1 touchscreen: Touch down interrupt \n");
+ printk(KERN_DEBUG "mx1 touchscreen: Touch down interrupt \n");
/* Clear the interrupt. */
mx1ts_reg_set_mask(mts, ASP_ISTATR, ASP_PEN);