[PATCH] HID: alps: fix stick device not working after resume

Subsystems: hid core layer, the rest

STALE3678d

6 messages, 2 authors, 2016-09-22 · open the first message on its own page

[PATCH] HID: alps: fix stick device not working after resume

From: Kai-Heng Feng <hidden>
Date: 2016-09-19 07:42:02

The stick device does not work after resume, add U1_SP_ABS_MODE flag can
make the device work after resume.

Signed-off-by: Kai-Heng Feng <redacted>
---
 drivers/hid/hid-alps.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/hid/hid-alps.c b/drivers/hid/hid-alps.c
index 048befd..390f8d3 100644
--- a/drivers/hid/hid-alps.c
+++ b/drivers/hid/hid-alps.c
@@ -244,13 +244,13 @@ static int alps_raw_event(struct hid_device *hdev,
 static int alps_post_reset(struct hid_device *hdev)
 {
 	return u1_read_write_register(hdev, ADDRESS_U1_DEV_CTRL_1,
-				NULL, U1_TP_ABS_MODE, false);
+				NULL, U1_TP_ABS_MODE | U1_SP_ABS_MODE, false);
 }
 
 static int alps_post_resume(struct hid_device *hdev)
 {
 	return u1_read_write_register(hdev, ADDRESS_U1_DEV_CTRL_1,
-				NULL, U1_TP_ABS_MODE, false);
+				NULL, U1_TP_ABS_MODE | U1_SP_ABS_MODE, false);
 }
 #endif /* CONFIG_PM */
 
-- 
2.9.3

Re: [PATCH] HID: alps: fix stick device not working after resume

From: Jiri Kosina <jikos@kernel.org>
Date: 2016-09-19 12:37:13

On Mon, 19 Sep 2016, Kai-Heng Feng wrote:
The stick device does not work after resume, add U1_SP_ABS_MODE flag can
make the device work after resume.
Do you happen to have any more details on why it doesn't work without 
U1_SP_ABS_MODE? Or was this a pure guesswork?
quoted hunk
Signed-off-by: Kai-Heng Feng <redacted>
---
 drivers/hid/hid-alps.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/hid/hid-alps.c b/drivers/hid/hid-alps.c
index 048befd..390f8d3 100644
--- a/drivers/hid/hid-alps.c
+++ b/drivers/hid/hid-alps.c
@@ -244,13 +244,13 @@ static int alps_raw_event(struct hid_device *hdev,
 static int alps_post_reset(struct hid_device *hdev)
 {
 	return u1_read_write_register(hdev, ADDRESS_U1_DEV_CTRL_1,
-				NULL, U1_TP_ABS_MODE, false);
+				NULL, U1_TP_ABS_MODE | U1_SP_ABS_MODE, false);
 }
 
 static int alps_post_resume(struct hid_device *hdev)
 {
 	return u1_read_write_register(hdev, ADDRESS_U1_DEV_CTRL_1,
-				NULL, U1_TP_ABS_MODE, false);
+				NULL, U1_TP_ABS_MODE | U1_SP_ABS_MODE, false);
 }
 #endif /* CONFIG_PM */
-- 
Jiri Kosina
SUSE Labs

Re: [PATCH] HID: alps: fix stick device not working after resume

From: Kai Heng Feng <hidden>
Date: 2016-09-19 15:57:57

On Mon, Sep 19, 2016 at 8:37 PM, Jiri Kosina [off-list ref] wrote:
On Mon, 19 Sep 2016, Kai-Heng Feng wrote:
quoted
The stick device does not work after resume, add U1_SP_ABS_MODE flag can
make the device work after resume.
Do you happen to have any more details on why it doesn't work without
U1_SP_ABS_MODE? Or was this a pure guesswork?
It' pure guesswork, based on how the existing code uses U1_TP_ABS_MODE flag
on both initialization and resume.

I also tested the the patch on an ALPS touchpad without stick device,
did not notice
any side effect on suspend/resume, so I made the U1_SP_ABS_MODE flag mandatory.
quoted
Signed-off-by: Kai-Heng Feng <redacted>
---
 drivers/hid/hid-alps.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/hid/hid-alps.c b/drivers/hid/hid-alps.c
index 048befd..390f8d3 100644
--- a/drivers/hid/hid-alps.c
+++ b/drivers/hid/hid-alps.c
@@ -244,13 +244,13 @@ static int alps_raw_event(struct hid_device *hdev,
 static int alps_post_reset(struct hid_device *hdev)
 {
      return u1_read_write_register(hdev, ADDRESS_U1_DEV_CTRL_1,
-                             NULL, U1_TP_ABS_MODE, false);
+                             NULL, U1_TP_ABS_MODE | U1_SP_ABS_MODE, false);
 }

 static int alps_post_resume(struct hid_device *hdev)
 {
      return u1_read_write_register(hdev, ADDRESS_U1_DEV_CTRL_1,
-                             NULL, U1_TP_ABS_MODE, false);
+                             NULL, U1_TP_ABS_MODE | U1_SP_ABS_MODE, false);
 }
 #endif /* CONFIG_PM */
--
Jiri Kosina
SUSE Labs

Re: [PATCH] HID: alps: fix stick device not working after resume

From: Jiri Kosina <jikos@kernel.org>
Date: 2016-09-21 12:00:18

On Mon, 19 Sep 2016, Kai Heng Feng wrote:
quoted
quoted
The stick device does not work after resume, add U1_SP_ABS_MODE flag can
make the device work after resume.
Do you happen to have any more details on why it doesn't work without
U1_SP_ABS_MODE? Or was this a pure guesswork?
It' pure guesswork, based on how the existing code uses U1_TP_ABS_MODE flag
on both initialization and resume.

I also tested the the patch on an ALPS touchpad without stick device,
did not notice
any side effect on suspend/resume, so I made the U1_SP_ABS_MODE flag mandatory.
I'll fold this information into the patch changelog before comitting; if 
you disagree, please let me know. 

-- 
Jiri Kosina
SUSE Labs

Re: [PATCH] HID: alps: fix stick device not working after resume

From: Kai Heng Feng <hidden>
Date: 2016-09-22 05:12:18

On Wed, Sep 21, 2016 at 8:00 PM, Jiri Kosina [off-list ref] wrote:
On Mon, 19 Sep 2016, Kai Heng Feng wrote:
quoted
quoted
quoted
The stick device does not work after resume, add U1_SP_ABS_MODE flag can
make the device work after resume.
Do you happen to have any more details on why it doesn't work without
U1_SP_ABS_MODE? Or was this a pure guesswork?
It' pure guesswork, based on how the existing code uses U1_TP_ABS_MODE flag
on both initialization and resume.

I also tested the the patch on an ALPS touchpad without stick device,
did not notice
any side effect on suspend/resume, so I made the U1_SP_ABS_MODE flag mandatory.
I'll fold this information into the patch changelog before comitting; if
you disagree, please let me know.
That will be great.
Appreciate!
--
Jiri Kosina
SUSE Labs

Re: [PATCH] HID: alps: fix stick device not working after resume

From: Jiri Kosina <jikos@kernel.org>
Date: 2016-09-22 09:08:33

On Mon, 19 Sep 2016, Kai-Heng Feng wrote:
The stick device does not work after resume, add U1_SP_ABS_MODE flag can
make the device work after resume.

Signed-off-by: Kai-Heng Feng <redacted>
Applied with ammended changelog. Thanks,

-- 
Jiri Kosina
SUSE Labs
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help