> Since the patch isn't a proper solution, I was wondering whether there's
> a quirks mechanism for pckbc, similar to what e.g. some of the USB HID
> drivers do for things like joysticks with weird button mappings.
No way. quirk layers are really unacceptable to maintain in the long term.
Instead, I ask you to figure out logical conditions under which this
should happen, or if some interaction is wrong. This is very complicated
stuff with a lot of legacy, prepare for it to take months to get good
sufficient reports from people, for your proposals.
>
> --
> Gregor
>
> Index: dev/ic/pckbc.c
> ===================================================================
> RCS file: /mnt/media/cvs/src/sys/dev/ic/pckbc.c,v
> retrieving revision 1.49
> diff -u -p -r1.49 pckbc.c
> --- dev/ic/pckbc.c 24 May 2015 10:57:47 -0000 1.49
> +++ dev/ic/pckbc.c 23 Oct 2016 21:19:56 -0000
> @@ -378,6 +378,8 @@ pckbc_attach(struct pckbc_softc *sc, int
> bus_space_write_1(iot, ioh_d, 0, 0x5a); /* a random value */
> res = pckbc_poll_data1(iot, ioh_d, ioh_c, PCKBC_AUX_SLOT, 1);
>
> + t->t_flags |= PCKBC_NEED_AUXWRITE;
> +
> if (ISSET(t->t_flags, PCKBC_NEED_AUXWRITE)) {
> /*
> * The following code is necessary to find the aux port on the
>