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

From: Renato Botelho <garga_at_FreeBSD.org>
Date: Fri, 28 Jul 2023 11:44:19 UTC
On 28/07/23 00:04, Warner Losh wrote:
> 
> 
> On Thu, Jul 27, 2023 at 5:48 AM Renato Botelho <garga@freebsd.org 
> <mailto: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 <https://cgit.FreeBSD.org/src/commit/?id=971bac5ace7a3c2262349fa2808188a11a5ffeed>
>      >
>      > commit 971bac5ace7a3c2262349fa2808188a11a5ffeed
>      > Author:     Michael <git@paepcke.de <mailto: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
>     <https://github.com/freebsd/pull/683>
>      >      Differential Revision: https://reviews.freebsd.org/D38818
>     <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?

I completely removed /usr/obj, went to /usr/src/usr.sbin/kbdcontrol and 
tried to build it with and without META_MODE.  It failed on both.

Running system is 14.0-CURRENT #0 main-2f11df633: Wed Apr  5
-- 
Renato Botelho