diff mbox series

platform/x86: thinkpad-acpi: Add support for hotkey 0x1401

Message ID 20241227231840.21334-1-vishnuocv@gmail.com (mailing list archive)
State Accepted, archived
Headers show
Series platform/x86: thinkpad-acpi: Add support for hotkey 0x1401 | expand

Commit Message

Vishnu Sankar Dec. 27, 2024, 11:18 p.m. UTC
F8 mode key on Lenovo 2025 platforms use a different key code.
Adding support for the new keycode 0x1401.

Tested on X1 Carbon Gen 13 and X1 2-in-1 Gen 10.

Signed-off-by: Vishnu Sankar <vishnuocv@gmail.com>
---
 Documentation/admin-guide/laptops/thinkpad-acpi.rst | 10 +++++++---
 drivers/platform/x86/thinkpad_acpi.c                |  4 +++-
 2 files changed, 10 insertions(+), 4 deletions(-)

Comments

Mark Pearson Dec. 28, 2024, 3:11 a.m. UTC | #1
Thanks Vishnu,

On Fri, Dec 27, 2024, at 6:18 PM, Vishnu Sankar wrote:
> F8 mode key on Lenovo 2025 platforms use a different key code.
> Adding support for the new keycode 0x1401.
>
> Tested on X1 Carbon Gen 13 and X1 2-in-1 Gen 10.
>
> Signed-off-by: Vishnu Sankar <vishnuocv@gmail.com>
> ---
>  Documentation/admin-guide/laptops/thinkpad-acpi.rst | 10 +++++++---
>  drivers/platform/x86/thinkpad_acpi.c                |  4 +++-
>  2 files changed, 10 insertions(+), 4 deletions(-)
>
> diff --git a/Documentation/admin-guide/laptops/thinkpad-acpi.rst 
> b/Documentation/admin-guide/laptops/thinkpad-acpi.rst
> index 7f674a6cfa8a..4ab0fef7d440 100644
> --- a/Documentation/admin-guide/laptops/thinkpad-acpi.rst
> +++ b/Documentation/admin-guide/laptops/thinkpad-acpi.rst
> @@ -445,8 +445,10 @@ event	code	Key		Notes
>  0x1008	0x07	FN+F8		IBM: toggle screen expand
>  				Lenovo: configure UltraNav,
>  				or toggle screen expand.
> -				On newer platforms (2024+)
> -				replaced by 0x131f (see below)
> +				On 2024 platforms replaced by
> +				0x131f (see below) and on newer
> +				platforms (2025 +) keycode is
> +				replaced by 0x1401 (see below).
> 
>  0x1009	0x08	FN+F9		-
> 
> @@ -506,9 +508,11 @@ event	code	Key		Notes
> 
>  0x1019	0x18	unknown
> 
> -0x131f	...	FN+F8	        Platform Mode change.
> +0x131f	...	FN+F8		Platform Mode change (2024 systems).
>  				Implemented in driver.
> 
> +0x1401	...	FN+F8		Platform Mode change (2025 + systems).
> +				Implemented in driver.
>  ...	...	...
> 
>  0x1020	0x1F	unknown
> diff --git a/drivers/platform/x86/thinkpad_acpi.c 
> b/drivers/platform/x86/thinkpad_acpi.c
> index 6371a9f765c1..2cfb2ac3f465 100644
> --- a/drivers/platform/x86/thinkpad_acpi.c
> +++ b/drivers/platform/x86/thinkpad_acpi.c
> @@ -184,7 +184,8 @@ enum tpacpi_hkey_event_t {
>  						   */
>  	TP_HKEY_EV_AMT_TOGGLE		= 0x131a, /* Toggle AMT on/off */
>  	TP_HKEY_EV_DOUBLETAP_TOGGLE	= 0x131c, /* Toggle trackpoint doubletap 
> on/off */
> -	TP_HKEY_EV_PROFILE_TOGGLE	= 0x131f, /* Toggle platform profile */
> +	TP_HKEY_EV_PROFILE_TOGGLE	= 0x131f, /* Toggle platform profile in 
> 2024 systems */
> +	TP_HKEY_EV_PROFILE_TOGGLE2	= 0x1401, /* Toggle platform profile in 
> 2025 + systems */
> 
>  	/* Reasons for waking up from S3/S4 */
>  	TP_HKEY_EV_WKUP_S3_UNDOCK	= 0x2304, /* undock requested, S3 */
> @@ -11200,6 +11201,7 @@ static bool tpacpi_driver_event(const unsigned 
> int hkey_event)
>  		tp_features.trackpoint_doubletap = !tp_features.trackpoint_doubletap;
>  		return true;
>  	case TP_HKEY_EV_PROFILE_TOGGLE:
> +	case TP_HKEY_EV_PROFILE_TOGGLE2:
>  		platform_profile_cycle();
>  		return true;
>  	}
> -- 
> 2.45.2

Looks good to me.
Reviewed-by: Mark Pearson <mpearson-lenovo@squebb.ca>

Mark
Ilpo Järvinen Dec. 29, 2024, 3:44 p.m. UTC | #2
On Sat, 28 Dec 2024 08:18:40 +0900, Vishnu Sankar wrote:

> F8 mode key on Lenovo 2025 platforms use a different key code.
> Adding support for the new keycode 0x1401.
> 
> Tested on X1 Carbon Gen 13 and X1 2-in-1 Gen 10.
> 
> 


Thank you for your contribution, it has been applied to my local
review-ilpo-fixes branch. Note it will show up in the public
platform-drivers-x86/review-ilpo-fixes branch only once I've pushed my
local branch there, which might take a while.

The list of commits applied:
[1/1] platform/x86: thinkpad-acpi: Add support for hotkey 0x1401
      commit: 7e16ae558a87ac9099b6a93a43f19b42d809fd78

--
 i.
Vishnu Sankar Jan. 6, 2025, 2:40 a.m. UTC | #3
Thank you so much for accepting my patch.

On Mon, Dec 30, 2024 at 12:44 AM Ilpo Järvinen
<ilpo.jarvinen@linux.intel.com> wrote:
>
> On Sat, 28 Dec 2024 08:18:40 +0900, Vishnu Sankar wrote:
>
> > F8 mode key on Lenovo 2025 platforms use a different key code.
> > Adding support for the new keycode 0x1401.
> >
> > Tested on X1 Carbon Gen 13 and X1 2-in-1 Gen 10.
> >
> >
>
>
> Thank you for your contribution, it has been applied to my local
> review-ilpo-fixes branch. Note it will show up in the public
> platform-drivers-x86/review-ilpo-fixes branch only once I've pushed my
> local branch there, which might take a while.
>
> The list of commits applied:
> [1/1] platform/x86: thinkpad-acpi: Add support for hotkey 0x1401
>       commit: 7e16ae558a87ac9099b6a93a43f19b42d809fd78
>
> --
>  i.
>
diff mbox series

Patch

diff --git a/Documentation/admin-guide/laptops/thinkpad-acpi.rst b/Documentation/admin-guide/laptops/thinkpad-acpi.rst
index 7f674a6cfa8a..4ab0fef7d440 100644
--- a/Documentation/admin-guide/laptops/thinkpad-acpi.rst
+++ b/Documentation/admin-guide/laptops/thinkpad-acpi.rst
@@ -445,8 +445,10 @@  event	code	Key		Notes
 0x1008	0x07	FN+F8		IBM: toggle screen expand
 				Lenovo: configure UltraNav,
 				or toggle screen expand.
-				On newer platforms (2024+)
-				replaced by 0x131f (see below)
+				On 2024 platforms replaced by
+				0x131f (see below) and on newer
+				platforms (2025 +) keycode is
+				replaced by 0x1401 (see below).
 
 0x1009	0x08	FN+F9		-
 
@@ -506,9 +508,11 @@  event	code	Key		Notes
 
 0x1019	0x18	unknown
 
-0x131f	...	FN+F8	        Platform Mode change.
+0x131f	...	FN+F8		Platform Mode change (2024 systems).
 				Implemented in driver.
 
+0x1401	...	FN+F8		Platform Mode change (2025 + systems).
+				Implemented in driver.
 ...	...	...
 
 0x1020	0x1F	unknown
diff --git a/drivers/platform/x86/thinkpad_acpi.c b/drivers/platform/x86/thinkpad_acpi.c
index 6371a9f765c1..2cfb2ac3f465 100644
--- a/drivers/platform/x86/thinkpad_acpi.c
+++ b/drivers/platform/x86/thinkpad_acpi.c
@@ -184,7 +184,8 @@  enum tpacpi_hkey_event_t {
 						   */
 	TP_HKEY_EV_AMT_TOGGLE		= 0x131a, /* Toggle AMT on/off */
 	TP_HKEY_EV_DOUBLETAP_TOGGLE	= 0x131c, /* Toggle trackpoint doubletap on/off */
-	TP_HKEY_EV_PROFILE_TOGGLE	= 0x131f, /* Toggle platform profile */
+	TP_HKEY_EV_PROFILE_TOGGLE	= 0x131f, /* Toggle platform profile in 2024 systems */
+	TP_HKEY_EV_PROFILE_TOGGLE2	= 0x1401, /* Toggle platform profile in 2025 + systems */
 
 	/* Reasons for waking up from S3/S4 */
 	TP_HKEY_EV_WKUP_S3_UNDOCK	= 0x2304, /* undock requested, S3 */
@@ -11200,6 +11201,7 @@  static bool tpacpi_driver_event(const unsigned int hkey_event)
 		tp_features.trackpoint_doubletap = !tp_features.trackpoint_doubletap;
 		return true;
 	case TP_HKEY_EV_PROFILE_TOGGLE:
+	case TP_HKEY_EV_PROFILE_TOGGLE2:
 		platform_profile_cycle();
 		return true;
 	}