diff options
author | Michael <git@paepcke.de> | 2023-07-07 02:32:45 +0000 |
---|---|---|
committer | Warner Losh <imp@FreeBSD.org> | 2023-07-07 05:10:18 +0000 |
commit | 971bac5ace7a3c2262349fa2808188a11a5ffeed (patch) | |
tree | 42412f23e528e7520c02b44f804ce0b4b32fa951 /sys/dev/kbdmux | |
parent | 034c0856018ccf73c0f2d6140825f3edf43f47b2 (diff) | |
download | src-971bac5ace7a3c2262349fa2808188a11a5ffeed.tar.gz src-971bac5ace7a3c2262349fa2808188a11a5ffeed.zip |
kbd: consolidate kb interfaces (phase one)
Refactor to eliminate duplicated rate and delay tables, with minor style
tweaks for changed lines. Remove an obsolete comment about needing to
convert from microseconds to ticks (that's done elsewhere). Remove
traiing whitespace in kbdcontrol.c.
Except for the new warning, no change in behavior
Sponsored by: DSS GmbH
Reviewed by: imp [minor style tweaks as well]
Pull Request: https://github.com/freebsd/pull/683
Differential Revision: https://reviews.freebsd.org/D38818
Diffstat (limited to 'sys/dev/kbdmux')
-rw-r--r-- | sys/dev/kbdmux/kbdmux.c | 23 |
1 files changed, 6 insertions, 17 deletions
diff --git a/sys/dev/kbdmux/kbdmux.c b/sys/dev/kbdmux/kbdmux.c index 71f5dc7295e7..97ea7ba14a62 100644 --- a/sys/dev/kbdmux/kbdmux.c +++ b/sys/dev/kbdmux/kbdmux.c @@ -963,17 +963,6 @@ kbdmux_check_char(keyboard_t *kbd) static int kbdmux_ioctl(keyboard_t *kbd, u_long cmd, caddr_t arg) { - static int delays[] = { - 250, 500, 750, 1000 - }; - - static int rates[] = { - 34, 38, 42, 46, 50, 55, 59, 63, - 68, 76, 84, 92, 100, 110, 118, 126, - 136, 152, 168, 184, 200, 220, 236, 252, - 272, 304, 336, 368, 400, 440, 472, 504 - }; - kbdmux_state_t *state = (kbdmux_state_t *) kbd->kb_data; kbdmux_kbd_t *k; keyboard_info_t *ki; @@ -1206,14 +1195,14 @@ kbdmux_ioctl(keyboard_t *kbd, u_long cmd, caddr_t arg) int i; /* lookup delay */ - for (i = sizeof(delays)/sizeof(delays[0]) - 1; i > 0; i --) - if (((int *)arg)[0] >= delays[i]) + for (i = nitems(kbdelays) - 1; i > 0; i--) + if (((int *)arg)[0] >= kbdelays[i]) break; mode = i << 5; /* lookup rate */ - for (i = sizeof(rates)/sizeof(rates[0]) - 1; i > 0; i --) - if (((int *)arg)[1] >= rates[i]) + for (i = nitems(kbrates) - 1; i > 0; i--) + if (((int *)arg)[1] >= kbrates[i]) break; mode |= i; } else @@ -1225,8 +1214,8 @@ kbdmux_ioctl(keyboard_t *kbd, u_long cmd, caddr_t arg) return (EINVAL); } - kbd->kb_delay1 = delays[(mode >> 5) & 3]; - kbd->kb_delay2 = rates[mode & 0x1f]; + kbd->kb_delay1 = kbdelays[(mode >> 5) & 3]; + kbd->kb_delay2 = kbrates[mode & 0x1f]; #ifdef EVDEV_SUPPORT if (state->ks_evdev != NULL && evdev_rcpt_mask & EVDEV_RCPT_KBDMUX) |