HID: Add map_msc() to avoid boilerplate code
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> Reviewed-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Signed-off-by: Tero Kristo <tero.kristo@linux.intel.com> Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Link: https://lore.kernel.org/r/20211210111138.1248187-2-tero.kristo@linux.intel.com
This commit is contained in:
parent
f65a0b1f3e
commit
8aa45b544d
@ -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))
|
||||
@ -874,10 +875,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;
|
||||
|
@ -1010,6 +1010,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)) {
|
||||
|
Loading…
Reference in New Issue
Block a user