Message ID | 20211201164301.44653-2-tero.kristo@linux.intel.com |
---|---|
State | Superseded |
Headers | show |
Series | USI stylus support series | expand |
On Wed, Dec 1, 2021 at 5:43 PM Tero Kristo <tero.kristo@linux.intel.com> wrote: > > From: Mika Westerberg <mika.westerberg@linux.intel.com> > > Since we are going to have more MSC events too, add map_msc() that can > be used to fill in necessary fields and avoid boilerplate code. > > Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com> This one looks good to me and I should be able to take it in v5.17. Reviewed-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Cheers, Benjamin > --- > drivers/hid/hid-input.c | 6 ++---- > include/linux/hid.h | 4 ++++ > 2 files changed, 6 insertions(+), 4 deletions(-) > > diff --git a/drivers/hid/hid-input.c b/drivers/hid/hid-input.c > index 2c72ce4147b1..39ebedb2323b 100644 > --- a/drivers/hid/hid-input.c > +++ b/drivers/hid/hid-input.c > @@ -52,6 +52,7 @@ static const struct { > #define map_rel(c) hid_map_usage(hidinput, usage, &bit, &max, EV_REL, (c)) > #define map_key(c) hid_map_usage(hidinput, usage, &bit, &max, EV_KEY, (c)) > #define map_led(c) hid_map_usage(hidinput, usage, &bit, &max, EV_LED, (c)) > +#define map_msc(c) hid_map_usage(hidinput, usage, &bit, &max, EV_MSC, (c)) > > #define map_abs_clear(c) hid_map_usage_clear(hidinput, usage, &bit, \ > &max, EV_ABS, (c)) > @@ -872,10 +873,7 @@ static void hidinput_configure_usage(struct hid_input *hidinput, struct hid_fiel > > case 0x5b: /* TransducerSerialNumber */ > case 0x6e: /* TransducerSerialNumber2 */ > - usage->type = EV_MSC; > - usage->code = MSC_SERIAL; > - bit = input->mscbit; > - max = MSC_MAX; > + map_msc(MSC_SERIAL); > break; > > default: goto unknown; > diff --git a/include/linux/hid.h b/include/linux/hid.h > index e95800bab56a..96eaca0d5322 100644 > --- a/include/linux/hid.h > +++ b/include/linux/hid.h > @@ -766,6 +766,10 @@ static inline void hid_map_usage(struct hid_input *hidinput, > bmap = input->ledbit; > limit = LED_MAX; > break; > + case EV_MSC: > + bmap = input->mscbit; > + limit = MSC_MAX; > + break; > } > > if (unlikely(c > limit || !bmap)) { > -- > 2.25.1 >
diff --git a/drivers/hid/hid-input.c b/drivers/hid/hid-input.c index 2c72ce4147b1..39ebedb2323b 100644 --- a/drivers/hid/hid-input.c +++ b/drivers/hid/hid-input.c @@ -52,6 +52,7 @@ static const struct { #define map_rel(c) hid_map_usage(hidinput, usage, &bit, &max, EV_REL, (c)) #define map_key(c) hid_map_usage(hidinput, usage, &bit, &max, EV_KEY, (c)) #define map_led(c) hid_map_usage(hidinput, usage, &bit, &max, EV_LED, (c)) +#define map_msc(c) hid_map_usage(hidinput, usage, &bit, &max, EV_MSC, (c)) #define map_abs_clear(c) hid_map_usage_clear(hidinput, usage, &bit, \ &max, EV_ABS, (c)) @@ -872,10 +873,7 @@ static void hidinput_configure_usage(struct hid_input *hidinput, struct hid_fiel case 0x5b: /* TransducerSerialNumber */ case 0x6e: /* TransducerSerialNumber2 */ - usage->type = EV_MSC; - usage->code = MSC_SERIAL; - bit = input->mscbit; - max = MSC_MAX; + map_msc(MSC_SERIAL); break; default: goto unknown; diff --git a/include/linux/hid.h b/include/linux/hid.h index e95800bab56a..96eaca0d5322 100644 --- a/include/linux/hid.h +++ b/include/linux/hid.h @@ -766,6 +766,10 @@ static inline void hid_map_usage(struct hid_input *hidinput, bmap = input->ledbit; limit = LED_MAX; break; + case EV_MSC: + bmap = input->mscbit; + limit = MSC_MAX; + break; } if (unlikely(c > limit || !bmap)) {