aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/kbdmux
diff options
context:
space:
mode:
authorMichael <git@paepcke.de>2023-07-07 02:32:45 +0000
committerWarner Losh <imp@FreeBSD.org>2023-07-07 05:10:18 +0000
commit971bac5ace7a3c2262349fa2808188a11a5ffeed (patch)
tree42412f23e528e7520c02b44f804ce0b4b32fa951 /sys/dev/kbdmux
parent034c0856018ccf73c0f2d6140825f3edf43f47b2 (diff)
downloadsrc-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.c23
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)