mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-30 22:26:55 +00:00
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
2 changed files with 6 additions and 4 deletions
|
@ -52,6 +52,7 @@ static const struct {
|
||||||
#define map_rel(c) hid_map_usage(hidinput, usage, &bit, &max, EV_REL, (c))
|
#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_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_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, \
|
#define map_abs_clear(c) hid_map_usage_clear(hidinput, usage, &bit, \
|
||||||
&max, EV_ABS, (c))
|
&max, EV_ABS, (c))
|
||||||
|
@ -874,10 +875,7 @@ static void hidinput_configure_usage(struct hid_input *hidinput, struct hid_fiel
|
||||||
|
|
||||||
case 0x5b: /* TransducerSerialNumber */
|
case 0x5b: /* TransducerSerialNumber */
|
||||||
case 0x6e: /* TransducerSerialNumber2 */
|
case 0x6e: /* TransducerSerialNumber2 */
|
||||||
usage->type = EV_MSC;
|
map_msc(MSC_SERIAL);
|
||||||
usage->code = MSC_SERIAL;
|
|
||||||
bit = input->mscbit;
|
|
||||||
max = MSC_MAX;
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default: goto unknown;
|
default: goto unknown;
|
||||||
|
|
|
@ -1010,6 +1010,10 @@ static inline void hid_map_usage(struct hid_input *hidinput,
|
||||||
bmap = input->ledbit;
|
bmap = input->ledbit;
|
||||||
limit = LED_MAX;
|
limit = LED_MAX;
|
||||||
break;
|
break;
|
||||||
|
case EV_MSC:
|
||||||
|
bmap = input->mscbit;
|
||||||
|
limit = MSC_MAX;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (unlikely(c > limit || !bmap)) {
|
if (unlikely(c > limit || !bmap)) {
|
||||||
|
|
Loading…
Reference in a new issue