Thread (8 messages) 8 messages, 5 authors, 2021-09-07

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

From: Benjamin Tissoires <hidden>
Date: 2021-07-06 08:02:54
Also in: linux-input, lkml

Hi Maxim,

On Sun, Jul 4, 2021 at 12:02 AM Maxim Mikityanskiy [off-list ref] wrote:
quoted hunk
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 <redacted>
---
 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
quoted hunk
+       [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
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help