Re: git: 971bac5ace7a - main - kbd: consolidate kb interfaces (phase one)

From: Warner Losh <imp_at_bsdimp.com>
Date: Fri, 28 Jul 2023 03:04:15 UTC
On Thu, Jul 27, 2023 at 5:48 AM Renato Botelho <garga@freebsd.org> wrote:

> On 07/07/23 02:10, Warner Losh wrote:
> > The branch main has been updated by imp:
> >
> > URL:
> https://cgit.FreeBSD.org/src/commit/?id=971bac5ace7a3c2262349fa2808188a11a5ffeed
> >
> > commit 971bac5ace7a3c2262349fa2808188a11a5ffeed
> > Author:     Michael <git@paepcke.de>
> > AuthorDate: 2023-07-07 02:32:45 +0000
> > Commit:     Warner Losh <imp@FreeBSD.org>
> > CommitDate: 2023-07-07 05:10:18 +0000
> >
> >      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
> > ---
> >   sys/dev/adb/adb_kbd.c            | 12 ++-------
> >   sys/dev/atkbdc/atkbd.c           | 18 +++++---------
> >   sys/dev/gpio/gpiokeys.c          | 10 ++------
> >   sys/dev/hid/hkbd.c               | 10 ++------
> >   sys/dev/kbdmux/kbdmux.c          | 23 +++++------------
> >   sys/dev/usb/input/ukbd.c         | 10 ++------
> >   sys/dev/vkbd/vkbd.c              | 18 +++++---------
> >   sys/sys/kbio.h                   |  7 ++++++
> >   usr.sbin/kbdcontrol/kbdcontrol.c | 53
> +++++++++++++++++++++-------------------
> >   9 files changed, 61 insertions(+), 100 deletions(-)
>
> After this change I started seeing following error building kbdcontrol:
>
> Building /usr/obj/usr/src/amd64.amd64/usr.sbin/kbdcontrol/kbdcontrol.o
> /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:97:35: error: use of
> undeclared identifier 'kbdelays'; did you mean 'ndelays'?
> static const int ndelays = nitems(kbdelays);
>                                    ^~~~~~~~
>                                    ndelays
> /usr/include/sys/param.h:324:28: note: expanded from macro 'nitems'
> #define nitems(x)       (sizeof((x)) / sizeof((x)[0]))
>                                   ^
> /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:97:18: note: 'ndelays'
> declared here
> static const int ndelays = nitems(kbdelays);
>                   ^
> /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:97:35: error: use of
> undeclared identifier 'kbdelays'; did you mean 'ndelays'?
> static const int ndelays = nitems(kbdelays);
>                                    ^~~~~~~~
>                                    ndelays
> /usr/include/sys/param.h:324:42: note: expanded from macro 'nitems'
> #define nitems(x)       (sizeof((x)) / sizeof((x)[0]))
>                                                 ^
> /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:97:18: note: 'ndelays'
> declared here
> static const int ndelays = nitems(kbdelays);
>                   ^
> /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:97:28: error: subscripted
> value is not an array, pointer, or vector
> static const int ndelays = nitems(kbdelays);
>                             ^~~~~~~~~~~~~~~~
> /usr/include/sys/param.h:324:44: note: expanded from macro 'nitems'
> #define nitems(x)       (sizeof((x)) / sizeof((x)[0]))
>                                                ~~~^~
> /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:98:36: error: use of
> undeclared identifier 'kbrates'
> static const int nrepeats = nitems(kbrates);
>                                     ^
> /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:98:36: error: use of
> undeclared identifier 'kbrates'
> /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:1072:17: error: use of
> undeclared identifier 'kbdelays'; did you mean 'ndelays'?
>                          if (delay <= kbdelays[n])
>                                       ^~~~~~~~
>                                       ndelays
> /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:97:18: note: 'ndelays'
> declared here
> static const int ndelays = nitems(kbdelays);
>                   ^
> /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:1072:25: error: subscripted
> value is not an array, pointer, or vector
>                          if (delay <= kbdelays[n])
>                                       ~~~~~~~~^~
> /usr/src/usr.sbin/kbdcontrol/kbdcontrol.c:1076:18: error: use of
> undeclared identifier 'kbrates'
>                          if (repeat <= kbrates[n])
>                                        ^
> 8 errors generated.
> *** Error code 1
>

I haven't seen this. How do I recreate this? Does this happen on a clean
build?

Warner