Messages in this thread | | | From | Benjamin Tissoires <> | Date | Wed, 8 Dec 2021 16:03:02 +0100 | Subject | Re: [RFCv3 1/7] HID: Add map_msc() to avoid boilerplate code |
| |
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 >
| |