Input sync flag when registering.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,
I noticed that with touchscreen drivers that don't explicitly call a input_sync after input_register_device, suspend to ram is blocked if no event is sent, because the input_dev created is considered as not synchronized. The problem was seen with Atmel mxt driver. When any event is sent, the driver explicitly ask a sync, so the problem is solved. The problem occurs only when the screen has never send any event before suspend to ram. I solved it setting the sync element to true (when input dev is created, no element is pending).
Is there a better way to solve the problem ?
Thanks.
Thomas.

>From d0edf89b99de37e366d5ad1ab08e3c936ac553ae Mon Sep 17 00:00:00 2001
From: Thomas Poussevin <thomas.poussevin@xxxxxxxxxx>
Date: Fri, 22 Aug 2014 17:56:17 +0200
Subject: [PATCH] [input] Set input sync param default status to true, to
 prevent touchscreen suspend fails. Problems used to happen only when
 touchsreen had not been touched since boot. When the first event is sent,
 input status is actualized.

Signed-off-by: Thomas Poussevin <thomas.poussevin@xxxxxxxxxx>
---
 drivers/input/input.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/input/input.c b/drivers/input/input.c
index 8921c61..c214b39 100644
--- a/drivers/input/input.c
+++ b/drivers/input/input.c
@@ -1652,6 +1652,7 @@ struct input_dev *input_allocate_device(void)
 	if (dev) {
 		dev->dev.type = &input_dev_type;
 		dev->dev.class = &input_class;
+		dev->sync = true;
 		device_initialize(&dev->dev);
 		mutex_init(&dev->mutex);
 		spin_lock_init(&dev->event_lock);
-- 
1.9.2




[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux