Re: [PATCH V6 RESEND] HID: ASUS: Add support for ASUS N-Key keyboard

From: Jiri Kosina
Date: Fri Oct 09 2020 - 05:39:00 EST


On Thu, 24 Sep 2020, Luke D Jones wrote:

> The ASUS N-Key keyboard uses the productId of 0x1866 and is used in
> almost all modern ASUS gaming laptops with slight changes to the
> firmware. This patch enables: Fn+key hotkeys, keyboard backlight
> brightness control, and notify asus-wmi to toggle "fan-mode".
>
> The keyboard has many of the same key outputs as the existing G752
> keyboard including a few extras, and varies a little between laptop
> models. The key-sets have been split and sub-grouped so that there
> will not be conflict between key event codes used.
>
> An existing key event used across some keyboards for "Mic Toggle"
> has been changed to emit "F20" as this is what all the main
> desktop environments are using.
>
> Additionally this keyboard requires the LED interface to be
> intitialised before such things as keyboard backlight control work.
>
> Misc changes in scope: update some hardcoded comparisons to use an
> available define.
>
> Signed-off-by: Luke D Jones <luke@xxxxxxxxxx>

Thanks for the patch. Looks good to me in general, one small nit before
this can be merged as a whole ...

> ---
> drivers/hid/hid-asus.c | 188 ++++++++++++++++++---
> drivers/hid/hid-ids.h | 1 +
> include/linux/platform_data/x86/asus-wmi.h | 2 +

... I'd like to get Ack from Andy (CCing) on the addition below to
asus-wmi.h.

[ ... snip ... ]
> diff --git a/include/linux/platform_data/x86/asus-wmi.h b/include/linux/platform_data/x86/asus-wmi.h
> index 897b8332a39f..05253cfe786c 100644
> --- a/include/linux/platform_data/x86/asus-wmi.h
> +++ b/include/linux/platform_data/x86/asus-wmi.h
> @@ -27,6 +27,8 @@
> #define ASUS_WMI_METHODID_INIT 0x54494E49 /* INITialize */
> #define ASUS_WMI_METHODID_HKEY 0x59454B48 /* Hot KEY ?? */
>
> +#define ASUS_WMI_METHODID_NOTIF 0x00100021 /* Notify method ?? */
> +
> #define ASUS_WMI_UNSUPPORTED_METHOD 0xFFFFFFFE
>
> /* Wireless */

Thanks,

--
Jiri Kosina
SUSE Labs