diff --git a/drivers/input/touchscreen/ft5x_ts.c b/drivers/input/touchscreen/ft5x_ts.c index 5d8dc97..340507e 100644 --- a/drivers/input/touchscreen/ft5x_ts.c +++ b/drivers/input/touchscreen/ft5x_ts.c @@ -1762,8 +1762,8 @@ ft5x_ts_probe(struct i2c_client *client, const struct i2c_device_id *id) pr_info("%s:ctp_ops.set_irq_mode err.\n", __func__); goto exit_set_irq_mode; } - err = request_irq(SW_INT_IRQNO_PIO, ft5x_ts_interrupt, IRQF_TRIGGER_FALLING | IRQF_SHARED, "ft5x_ts", ft5x_ts); - + //err = request_irq(SW_INT_IRQNO_PIO, ft5x_ts_interrupt, IRQF_TRIGGER_FALLING | IRQF_SHARED, "ft5x_ts", ft5x_ts); + err = request_irq(SW_INT_IRQNO_PIO, ft5x_ts_interrupt, IRQF_SHARED, "ft5x_ts", ft5x_ts); if (err < 0) { dev_err(&client->dev, "ft5x_ts_probe: request irq failed\n"); goto exit_irq_request_failed; @@ -1981,6 +1981,10 @@ static int __init ft5x_ts_init(void) class_destroy(i2c_dev_class); } + //The delay is required to make the touchscreen work reliable on the Bananian + //Be fixed by Nico(contact@bananian.org) + msleep(100); + ret = i2c_add_driver(&ft5x_ts_driver); return ret;