Re: [PATCH 2/2] HID: input: support Microsoft wireless radio control hotkey

From: Benjamin Tissoires
Date: Fri Dec 07 2018 - 08:02:12 EST


On Mon, Dec 3, 2018 at 7:46 AM Chris Chiu <chiu@xxxxxxxxxxxx> wrote:
>
> The ASUS laptops start to support the airplane mode radio management
> to replace the original mechanism of airplane mode toggle hotkey.
> On the ASUS P5440FF, it presents as a HID device connecting via
> I2C, named i2c-AMPD0001. When pressing it, the Embedded Controller
> send hid report via I2C and switch the airplane mode indicator LED
> based on the status.
>
> However, it's not working because it fails to be identified as a
> hidinput device. It fails in hidinput_connect() due to the macro
> IS_INPUT_APPLICATION doesn't have HID_GD_WIRELESS_RADIO_CTLS as
> a legit application code.
>
> It's easy to add the HID I2C vendor and product id to the quirk
> list and apply HID_QUIRK_HIDINPUT_FORCE to make it work. But it
> makes more sense to support it as a generic input application.
>
> Signed-off-by: Chris Chiu <chiu@xxxxxxxxxxxx>
> ---

Thanks for the refresh of the series. It looks much better now.

I have scheduled this for 4.21. I am a bit hesitant in pushing changes
to 4.20 when they touch hid-input.c, especially when we are this late
in the process.

Cheers,
Benjamin

> include/linux/hid.h | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/include/linux/hid.h b/include/linux/hid.h
> index ce5f996c8d3d..42079116fb61 100644
> --- a/include/linux/hid.h
> +++ b/include/linux/hid.h
> @@ -840,7 +840,8 @@ static inline bool hid_is_using_ll_driver(struct hid_device *hdev,
> #define IS_INPUT_APPLICATION(a) \
> (((a >= HID_UP_GENDESK) && (a <= HID_GD_MULTIAXIS)) \
> || ((a >= HID_DG_PEN) && (a <= HID_DG_WHITEBOARD)) \
> - || (a == HID_GD_SYSTEM_CONTROL) || (a == HID_CP_CONSUMER_CONTROL))
> + || (a == HID_GD_SYSTEM_CONTROL) || (a == HID_CP_CONSUMER_CONTROL) \
> + || (a == HID_GD_WIRELESS_RADIO_CTLS))
>
> /* HID core API */
>
> --
> 2.19.1
>