Re: git: 971bac5ace7a - main - kbd: consolidate kb interfaces (phase one)
Date: Fri, 28 Jul 2023 19:04:04 UTC
On 28 Jul 2023, at 20:01, Renato Botelho <garga@FreeBSD.org> wrote: > > 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? > > After I upgrade system to recent CURRENT the error is gone. kbdcontrol requires an updated sys/kbio.h, so if you try and do a make of just it outside of make buildenv and without having first installed updated headers to worldtmp then you won’t get the updated sys/kbio.h. I don’t think that’s something we support in general, only when it happens to work? Jess