Re: [PATCH 1/6] HID: hid-input: Add offhook and ring LEDs for headsets

From: Benjamin Tissoires
Date: Tue Jul 06 2021 - 04:02:54 EST


Hi Maxim,

On Sun, Jul 4, 2021 at 12:02 AM Maxim Mikityanskiy <maxtram95@xxxxxxxxx> wrote:
>
> A lot of USBHID headsets available on the market have LEDs that indicate
> ringing and off-hook states when used with VoIP applications. This
> commit exposes these LEDs via the standard sysfs interface.
>
> Signed-off-by: Maxim Mikityanskiy <maxtram95@xxxxxxxxx>
> ---
> drivers/hid/hid-input.c | 2 ++
> drivers/input/input-leds.c | 2 ++
> include/uapi/linux/input-event-codes.h | 2 ++
> 3 files changed, 6 insertions(+)
>
> diff --git a/drivers/hid/hid-input.c b/drivers/hid/hid-input.c
> index 4286a51f7f16..44b8243f9924 100644
> --- a/drivers/hid/hid-input.c
> +++ b/drivers/hid/hid-input.c
> @@ -798,6 +798,8 @@ static void hidinput_configure_usage(struct hid_input *hidinput, struct hid_fiel
> case 0x4b: map_led (LED_MISC); break; /* "Generic Indicator" */
> case 0x19: map_led (LED_MAIL); break; /* "Message Waiting" */
> case 0x4d: map_led (LED_CHARGING); break; /* "External Power Connected" */
> + case 0x17: map_led (LED_OFFHOOK); break; /* "Off-Hook" */
> + case 0x18: map_led (LED_RING); break; /* "Ring" */
>
> default: goto ignore;
> }
> diff --git a/drivers/input/input-leds.c b/drivers/input/input-leds.c
> index 0b11990ade46..bc6e25b9af25 100644
> --- a/drivers/input/input-leds.c
> +++ b/drivers/input/input-leds.c
> @@ -33,6 +33,8 @@ static const struct {
> [LED_MISC] = { "misc" },
> [LED_MAIL] = { "mail" },
> [LED_CHARGING] = { "charging" },
> + [LED_OFFHOOK] = { "offhook" },

I am pretty sure this also needs to be reviewed by the led folks.
Adding them in Cc.

Cheers,
Benjamin

> + [LED_RING] = { "ring" },
> };
>
> struct input_led {
> diff --git a/include/uapi/linux/input-event-codes.h b/include/uapi/linux/input-event-codes.h
> index 225ec87d4f22..dd785a5b5076 100644
> --- a/include/uapi/linux/input-event-codes.h
> +++ b/include/uapi/linux/input-event-codes.h
> @@ -925,6 +925,8 @@
> #define LED_MISC 0x08
> #define LED_MAIL 0x09
> #define LED_CHARGING 0x0a
> +#define LED_OFFHOOK 0x0b
> +#define LED_RING 0x0c
> #define LED_MAX 0x0f
> #define LED_CNT (LED_MAX+1)
>
> --
> 2.32.0
>