diff mbox series

[v4] HID: add KEY_CAMERA_FOCUS event in HID

Message ID 3f8627d20de711d08b8cafe0a11481a2b9ca941e.1676537236.git.fengqi@xiaomi.com (mailing list archive)
State Mainlined
Commit 740b2f03f80e8f50c3f96309bc123bea040de8d0
Headers show
Series [v4] HID: add KEY_CAMERA_FOCUS event in HID | expand

Commit Message

qi feng Feb. 16, 2023, 8:48 a.m. UTC
From: fengqi <fengqi@xiaomi.com>

Our HID device need KEY_CAMERA_FOCUS event to control camera,
but this event is non-existent in current HID driver.
So we add this event in hid-input.c.

Signed-off-by: fengqi <fengqi@xiaomi.com>

---
changes in v4:

-add HID_UP_CAMERA in HID usage tables , Then add the mapping under HID_UP_CAMERA
-modify the commit log of patch
-Link to v3:https://lore.kernel.org/linux-input/9a85b268c7636ef2e4e3bbbe318561ba2842a591.1676536357.git.fengqi@xiaomi.com/T/#u
-Link to v2:https://lore.kernel.org/linux-input/CACOZ=ZU0zgRmoRu8X5bMUzUrXA9x-qoDJqrQroUs=+qKR58MQA@mail.gmail.com/T/#t
-Link to v1:https://lore.kernel.org/linux-input/CACOZ=ZWB3grJKn7wAZEZ0BDyN7KJF4VWUTNs-mPxeoW_oiR7=g@mail.gmail.com/T/#t
---
 drivers/hid/hid-input.c | 10 ++++++++++
 include/linux/hid.h     |  1 +
 2 files changed, 11 insertions(+)

Comments

qi feng Feb. 16, 2023, 9:26 a.m. UTC | #1
loop more

Qi Feng <fengqi706@gmail.com> 于2023年2月16日周四 16:48写道:
>
> From: fengqi <fengqi@xiaomi.com>
>
> Our HID device need KEY_CAMERA_FOCUS event to control camera,
> but this event is non-existent in current HID driver.
> So we add this event in hid-input.c.
>
> Signed-off-by: fengqi <fengqi@xiaomi.com>
>
> ---
> changes in v4:
>
> -add HID_UP_CAMERA in HID usage tables , Then add the mapping under HID_UP_CAMERA
> -modify the commit log of patch
> -Link to v3:https://lore.kernel.org/linux-input/9a85b268c7636ef2e4e3bbbe318561ba2842a591.1676536357.git.fengqi@xiaomi.com/T/#u
> -Link to v2:https://lore.kernel.org/linux-input/CACOZ=ZU0zgRmoRu8X5bMUzUrXA9x-qoDJqrQroUs=+qKR58MQA@mail.gmail.com/T/#t
> -Link to v1:https://lore.kernel.org/linux-input/CACOZ=ZWB3grJKn7wAZEZ0BDyN7KJF4VWUTNs-mPxeoW_oiR7=g@mail.gmail.com/T/#t
> ---
>  drivers/hid/hid-input.c | 10 ++++++++++
>  include/linux/hid.h     |  1 +
>  2 files changed, 11 insertions(+)
>
> diff --git a/drivers/hid/hid-input.c b/drivers/hid/hid-input.c
> index 77c8c49852b5..c6098ae2fac7 100644
> --- a/drivers/hid/hid-input.c
> +++ b/drivers/hid/hid-input.c
> @@ -1225,6 +1225,16 @@ static void hidinput_configure_usage(struct hid_input *hidinput, struct hid_fiel
>                         return;
>                 }
>                 goto unknown;
> +       case HID_UP_CAMERA:
> +               switch (usage->hid & HID_USAGE) {
> +               case 0x020:
> +                       map_key_clear(KEY_CAMERA_FOCUS);        break;
> +               case 0x021:
> +                       map_key_clear(KEY_CAMERA);              break;
> +               default:
> +                       goto ignore;
> +               }
> +               break;
>
>         case HID_UP_HPVENDOR:   /* Reported on a Dutch layout HP5308 */
>                 set_bit(EV_REP, input->evbit);
> diff --git a/include/linux/hid.h b/include/linux/hid.h
> index 8677ae38599e..88793b77bd63 100644
> --- a/include/linux/hid.h
> +++ b/include/linux/hid.h
> @@ -155,6 +155,7 @@ struct hid_item {
>  #define HID_UP_DIGITIZER       0x000d0000
>  #define HID_UP_PID             0x000f0000
>  #define HID_UP_BATTERY         0x00850000
> +#define HID_UP_CAMERA          0x00900000
>  #define HID_UP_HPVENDOR         0xff7f0000
>  #define HID_UP_HPVENDOR2        0xff010000
>  #define HID_UP_MSVENDOR                0xff000000
> --
> 2.39.0
>
Greg Kroah-Hartman Feb. 16, 2023, 10:15 a.m. UTC | #2
On Thu, Feb 16, 2023 at 05:26:16PM +0800, qi feng wrote:
> loop more

????
Greg Kroah-Hartman Feb. 16, 2023, 10:18 a.m. UTC | #3
On Thu, Feb 16, 2023 at 04:48:30PM +0800, Qi Feng wrote:
> From: fengqi <fengqi@xiaomi.com>
> 
> Our HID device need KEY_CAMERA_FOCUS event to control camera,
> but this event is non-existent in current HID driver.
> So we add this event in hid-input.c.
> 
> Signed-off-by: fengqi <fengqi@xiaomi.com>
> 
> ---
> changes in v4:
> 
> -add HID_UP_CAMERA in HID usage tables , Then add the mapping under HID_UP_CAMERA
> -modify the commit log of patch
> -Link to v3:https://lore.kernel.org/linux-input/9a85b268c7636ef2e4e3bbbe318561ba2842a591.1676536357.git.fengqi@xiaomi.com/T/#u
> -Link to v2:https://lore.kernel.org/linux-input/CACOZ=ZU0zgRmoRu8X5bMUzUrXA9x-qoDJqrQroUs=+qKR58MQA@mail.gmail.com/T/#t
> -Link to v1:https://lore.kernel.org/linux-input/CACOZ=ZWB3grJKn7wAZEZ0BDyN7KJF4VWUTNs-mPxeoW_oiR7=g@mail.gmail.com/T/#t
> ---
>  drivers/hid/hid-input.c | 10 ++++++++++
>  include/linux/hid.h     |  1 +
>  2 files changed, 11 insertions(+)
> 
> diff --git a/drivers/hid/hid-input.c b/drivers/hid/hid-input.c
> index 77c8c49852b5..c6098ae2fac7 100644
> --- a/drivers/hid/hid-input.c
> +++ b/drivers/hid/hid-input.c
> @@ -1225,6 +1225,16 @@ static void hidinput_configure_usage(struct hid_input *hidinput, struct hid_fiel
>  			return;
>  		}
>  		goto unknown;
> +	case HID_UP_CAMERA:
> +		switch (usage->hid & HID_USAGE) {
> +		case 0x020:
> +			map_key_clear(KEY_CAMERA_FOCUS);	break;
> +		case 0x021:
> +			map_key_clear(KEY_CAMERA);		break;
> +		default:
> +			goto ignore;
> +		}
> +		break;
>  
>  	case HID_UP_HPVENDOR:	/* Reported on a Dutch layout HP5308 */
>  		set_bit(EV_REP, input->evbit);
> diff --git a/include/linux/hid.h b/include/linux/hid.h
> index 8677ae38599e..88793b77bd63 100644
> --- a/include/linux/hid.h
> +++ b/include/linux/hid.h
> @@ -155,6 +155,7 @@ struct hid_item {
>  #define HID_UP_DIGITIZER	0x000d0000
>  #define HID_UP_PID		0x000f0000
>  #define HID_UP_BATTERY		0x00850000
> +#define HID_UP_CAMERA		0x00900000
>  #define HID_UP_HPVENDOR         0xff7f0000
>  #define HID_UP_HPVENDOR2        0xff010000
>  #define HID_UP_MSVENDOR		0xff000000
> -- 
> 2.39.0
> 

Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
qi feng Feb. 16, 2023, 11:37 a.m. UTC | #4
Is there something wrong with this, I can correct it

Greg KH <gregkh@linuxfoundation.org> 于2023年2月16日周四 18:18写道:
>
> On Thu, Feb 16, 2023 at 04:48:30PM +0800, Qi Feng wrote:
> > From: fengqi <fengqi@xiaomi.com>
> >
> > Our HID device need KEY_CAMERA_FOCUS event to control camera,
> > but this event is non-existent in current HID driver.
> > So we add this event in hid-input.c.
> >
> > Signed-off-by: fengqi <fengqi@xiaomi.com>
> >
> > ---
> > changes in v4:
> >
> > -add HID_UP_CAMERA in HID usage tables , Then add the mapping under HID_UP_CAMERA
> > -modify the commit log of patch
> > -Link to v3:https://lore.kernel.org/linux-input/9a85b268c7636ef2e4e3bbbe318561ba2842a591.1676536357.git.fengqi@xiaomi.com/T/#u
> > -Link to v2:https://lore.kernel.org/linux-input/CACOZ=ZU0zgRmoRu8X5bMUzUrXA9x-qoDJqrQroUs=+qKR58MQA@mail.gmail.com/T/#t
> > -Link to v1:https://lore.kernel.org/linux-input/CACOZ=ZWB3grJKn7wAZEZ0BDyN7KJF4VWUTNs-mPxeoW_oiR7=g@mail.gmail.com/T/#t
> > ---
> >  drivers/hid/hid-input.c | 10 ++++++++++
> >  include/linux/hid.h     |  1 +
> >  2 files changed, 11 insertions(+)
> >
> > diff --git a/drivers/hid/hid-input.c b/drivers/hid/hid-input.c
> > index 77c8c49852b5..c6098ae2fac7 100644
> > --- a/drivers/hid/hid-input.c
> > +++ b/drivers/hid/hid-input.c
> > @@ -1225,6 +1225,16 @@ static void hidinput_configure_usage(struct hid_input *hidinput, struct hid_fiel
> >                       return;
> >               }
> >               goto unknown;
> > +     case HID_UP_CAMERA:
> > +             switch (usage->hid & HID_USAGE) {
> > +             case 0x020:
> > +                     map_key_clear(KEY_CAMERA_FOCUS);        break;
> > +             case 0x021:
> > +                     map_key_clear(KEY_CAMERA);              break;
> > +             default:
> > +                     goto ignore;
> > +             }
> > +             break;
> >
> >       case HID_UP_HPVENDOR:   /* Reported on a Dutch layout HP5308 */
> >               set_bit(EV_REP, input->evbit);
> > diff --git a/include/linux/hid.h b/include/linux/hid.h
> > index 8677ae38599e..88793b77bd63 100644
> > --- a/include/linux/hid.h
> > +++ b/include/linux/hid.h
> > @@ -155,6 +155,7 @@ struct hid_item {
> >  #define HID_UP_DIGITIZER     0x000d0000
> >  #define HID_UP_PID           0x000f0000
> >  #define HID_UP_BATTERY               0x00850000
> > +#define HID_UP_CAMERA                0x00900000
> >  #define HID_UP_HPVENDOR         0xff7f0000
> >  #define HID_UP_HPVENDOR2        0xff010000
> >  #define HID_UP_MSVENDOR              0xff000000
> > --
> > 2.39.0
> >
>
> Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Greg Kroah-Hartman Feb. 16, 2023, 11:50 a.m. UTC | #5
A: http://en.wikipedia.org/wiki/Top_post
Q: Were do I find info about this thing called top-posting?
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing in e-mail?

A: No.
Q: Should I include quotations after my reply?


http://daringfireball.net/2007/07/on_top

On Thu, Feb 16, 2023 at 07:37:51PM +0800, qi feng wrote:
> Is there something wrong with this, I can correct it

Nothing wrong at all, look at the bottom of the email where I wrote:

> Greg KH <gregkh@linuxfoundation.org> 于2023年2月16日周四 18:18写道:
> >
> > Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jiri Kosina March 10, 2023, 2:21 p.m. UTC | #6
On Thu, 16 Feb 2023, Qi Feng wrote:

> From: fengqi <fengqi@xiaomi.com>
> 
> Our HID device need KEY_CAMERA_FOCUS event to control camera,
> but this event is non-existent in current HID driver.
> So we add this event in hid-input.c.
> 
> Signed-off-by: fengqi <fengqi@xiaomi.com>

Applied, thank you.
diff mbox series

Patch

diff --git a/drivers/hid/hid-input.c b/drivers/hid/hid-input.c
index 77c8c49852b5..c6098ae2fac7 100644
--- a/drivers/hid/hid-input.c
+++ b/drivers/hid/hid-input.c
@@ -1225,6 +1225,16 @@  static void hidinput_configure_usage(struct hid_input *hidinput, struct hid_fiel
 			return;
 		}
 		goto unknown;
+	case HID_UP_CAMERA:
+		switch (usage->hid & HID_USAGE) {
+		case 0x020:
+			map_key_clear(KEY_CAMERA_FOCUS);	break;
+		case 0x021:
+			map_key_clear(KEY_CAMERA);		break;
+		default:
+			goto ignore;
+		}
+		break;
 
 	case HID_UP_HPVENDOR:	/* Reported on a Dutch layout HP5308 */
 		set_bit(EV_REP, input->evbit);
diff --git a/include/linux/hid.h b/include/linux/hid.h
index 8677ae38599e..88793b77bd63 100644
--- a/include/linux/hid.h
+++ b/include/linux/hid.h
@@ -155,6 +155,7 @@  struct hid_item {
 #define HID_UP_DIGITIZER	0x000d0000
 #define HID_UP_PID		0x000f0000
 #define HID_UP_BATTERY		0x00850000
+#define HID_UP_CAMERA		0x00900000
 #define HID_UP_HPVENDOR         0xff7f0000
 #define HID_UP_HPVENDOR2        0xff010000
 #define HID_UP_MSVENDOR		0xff000000