2018-06-21 20:13:19

by Matt Delco

[permalink] [raw]
Subject: [PATCH] platform/x86: intel-vbtn: Ignore extraneous events from tablet mode

The Dell laptop I have has an ACPI that sends 0xCB and 0xCC on entering
tablet mode. On exiting tablet mode it sends 0xCA and 0xCD. This
change has the driver ignore 0xCA and 0xCB.

Signed-off-by: Matt Delco <[email protected]>
---
drivers/platform/x86/intel-vbtn.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/platform/x86/intel-vbtn.c b/drivers/platform/x86/intel-vbtn.c
index c13780b8dabb..4c6f2bb1d1ac 100644
--- a/drivers/platform/x86/intel-vbtn.c
+++ b/drivers/platform/x86/intel-vbtn.c
@@ -38,8 +38,10 @@ static const struct key_entry intel_vbtn_keymap[] = {
{ KE_IGNORE, 0xC7, { KEY_VOLUMEDOWN } }, /* volume-down key release */
{ KE_KEY, 0xC8, { KEY_ROTATE_LOCK_TOGGLE } }, /* rotate-lock key press */
{ KE_KEY, 0xC9, { KEY_ROTATE_LOCK_TOGGLE } }, /* rotate-lock key release */
- { KE_SW, 0xCC, { .sw = { SW_TABLET_MODE, 1 } } }, /* Tablet */
- { KE_SW, 0xCD, { .sw = { SW_TABLET_MODE, 0 } } }, /* Laptop */
+ { KE_IGNORE, 0xCA, { KEY_UNKNOWN } }, /* Laptop key press */
+ { KE_IGNORE, 0xCB, { KEY_UNKNOWN } }, /* Tablet key press */
+ { KE_SW, 0xCC, { .sw = { SW_TABLET_MODE, 1 } } }, /* Tablet key release */
+ { KE_SW, 0xCD, { .sw = { SW_TABLET_MODE, 0 } } }, /* Laptop key release */
{ KE_END },
};

--
2.18.0.rc2.346.g013aa6912e-goog



2018-06-21 20:39:03

by Dmitry Torokhov

[permalink] [raw]
Subject: Re: [PATCH] platform/x86: intel-vbtn: Ignore extraneous events from tablet mode

On Thu, Jun 21, 2018 at 01:12:07PM -0700, Matt Delco wrote:
> The Dell laptop I have has an ACPI that sends 0xCB and 0xCC on entering
> tablet mode. On exiting tablet mode it sends 0xCA and 0xCD. This
> change has the driver ignore 0xCA and 0xCB.
>
> Signed-off-by: Matt Delco <[email protected]>

This looks good to me.

Acked-by: Dmitry Torokhov <[email protected]>

> ---
> drivers/platform/x86/intel-vbtn.c | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/platform/x86/intel-vbtn.c b/drivers/platform/x86/intel-vbtn.c
> index c13780b8dabb..4c6f2bb1d1ac 100644
> --- a/drivers/platform/x86/intel-vbtn.c
> +++ b/drivers/platform/x86/intel-vbtn.c
> @@ -38,8 +38,10 @@ static const struct key_entry intel_vbtn_keymap[] = {
> { KE_IGNORE, 0xC7, { KEY_VOLUMEDOWN } }, /* volume-down key release */
> { KE_KEY, 0xC8, { KEY_ROTATE_LOCK_TOGGLE } }, /* rotate-lock key press */
> { KE_KEY, 0xC9, { KEY_ROTATE_LOCK_TOGGLE } }, /* rotate-lock key release */
> - { KE_SW, 0xCC, { .sw = { SW_TABLET_MODE, 1 } } }, /* Tablet */
> - { KE_SW, 0xCD, { .sw = { SW_TABLET_MODE, 0 } } }, /* Laptop */
> + { KE_IGNORE, 0xCA, { KEY_UNKNOWN } }, /* Laptop key press */
> + { KE_IGNORE, 0xCB, { KEY_UNKNOWN } }, /* Tablet key press */
> + { KE_SW, 0xCC, { .sw = { SW_TABLET_MODE, 1 } } }, /* Tablet key release */
> + { KE_SW, 0xCD, { .sw = { SW_TABLET_MODE, 0 } } }, /* Laptop key release */
> { KE_END },
> };
>
> --
> 2.18.0.rc2.346.g013aa6912e-goog
>

--
Dmitry

2018-06-25 06:16:16

by AceLan Kao

[permalink] [raw]
Subject: Re: [PATCH] platform/x86: intel-vbtn: Ignore extraneous events from tablet mode

There is a v2 patch.
Please ignore this one.

2018-06-22 4:37 GMT+08:00 Dmitry Torokhov <[email protected]>:
> On Thu, Jun 21, 2018 at 01:12:07PM -0700, Matt Delco wrote:
>> The Dell laptop I have has an ACPI that sends 0xCB and 0xCC on entering
>> tablet mode. On exiting tablet mode it sends 0xCA and 0xCD. This
>> change has the driver ignore 0xCA and 0xCB.
>>
>> Signed-off-by: Matt Delco <[email protected]>
>
> This looks good to me.
>
> Acked-by: Dmitry Torokhov <[email protected]>
>
>> ---
>> drivers/platform/x86/intel-vbtn.c | 6 ++++--
>> 1 file changed, 4 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/platform/x86/intel-vbtn.c b/drivers/platform/x86/intel-vbtn.c
>> index c13780b8dabb..4c6f2bb1d1ac 100644
>> --- a/drivers/platform/x86/intel-vbtn.c
>> +++ b/drivers/platform/x86/intel-vbtn.c
>> @@ -38,8 +38,10 @@ static const struct key_entry intel_vbtn_keymap[] = {
>> { KE_IGNORE, 0xC7, { KEY_VOLUMEDOWN } }, /* volume-down key release */
>> { KE_KEY, 0xC8, { KEY_ROTATE_LOCK_TOGGLE } }, /* rotate-lock key press */
>> { KE_KEY, 0xC9, { KEY_ROTATE_LOCK_TOGGLE } }, /* rotate-lock key release */
>> - { KE_SW, 0xCC, { .sw = { SW_TABLET_MODE, 1 } } }, /* Tablet */
>> - { KE_SW, 0xCD, { .sw = { SW_TABLET_MODE, 0 } } }, /* Laptop */
>> + { KE_IGNORE, 0xCA, { KEY_UNKNOWN } }, /* Laptop key press */
>> + { KE_IGNORE, 0xCB, { KEY_UNKNOWN } }, /* Tablet key press */
>> + { KE_SW, 0xCC, { .sw = { SW_TABLET_MODE, 1 } } }, /* Tablet key release */
>> + { KE_SW, 0xCD, { .sw = { SW_TABLET_MODE, 0 } } }, /* Laptop key release */
>> { KE_END },
>> };
>>
>> --
>> 2.18.0.rc2.346.g013aa6912e-goog
>>
>
> --
> Dmitry