History log of /src/sys/dev/hpc/hpckbd.c |
Revision | | Date | Author | Comments |
1.38 |
| 26-Oct-2022 |
andvar | nix double n, i or g in "ing", in comments and documentation.
|
1.37 |
| 07-Aug-2021 |
thorpej | Merge thorpej-cfargs2.
|
1.36 |
| 24-Apr-2021 |
thorpej | branches: 1.36.8; Merge thorpej-cfargs branch:
Simplify and make extensible the config_search() / config_found() / config_attach() interfaces: rather than having different variants for which arguments you want pass along, just have a single call that takes a variadic list of tag-value arguments.
Adjust all call sites: - Simplify wherever possible; don't pass along arguments that aren't actually needed. - Don't be explicit about what interface attribute is attaching if the device only has one. (More simplification.) - Add a config_probe() function to be used in indirect configuiration situations, making is visibly easier to see when indirect config is in play, and allowing for future change in semantics. (As of now, this is just a wrapper around config_match(), but that is an implementation detail.)
Remove unnecessary or redundant interface attributes where they're not needed.
There are currently 5 "cfargs" defined: - CFARG_SUBMATCH (submatch function for direct config) - CFARG_SEARCH (search function for indirect config) - CFARG_IATTR (interface attribte) - CFARG_LOCATORS (locators array) - CFARG_DEVHANDLE (devhandle_t - wraps OFW, ACPI, etc. handles)
...and a sentinel value CFARG_EOL.
Add some extra sanity checking to ensure that interface attributes aren't ambiguous.
Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark ports to associate those device handles with device_t instance. This will trickle trough to more places over time (need back-end for pre-OFW Sun OBP; any others?).
|
1.35 |
| 18-Sep-2018 |
uwe | branches: 1.35.14; Clarify the comment in the "unconst" version of hpckbd_keymap_setup. Both sh3 (P1) and mips (kseg0) have the kernel directly mapped.
|
1.34 |
| 18-Sep-2018 |
uwe | Fix comment formatting in previous.
|
1.33 |
| 18-Sep-2018 |
rin | Apply workaround introduced in r1.32 to hpcmips.
Fix kernel crash when console is attached. Now, my MC/R550 boots multiuser.
Thanks Masahiko Ito for encouraging me to do bisection to find this out.
XXX pullup-8, pullup-7
|
1.32 |
| 07-Aug-2017 |
uwe | branches: 1.32.2; 1.32.4; XXX: On hpcsh only - bring back old incorrect hpckbd_keymap_setup() fixed in 1.31. The old one with UNCONST does work on hpcsh b/c the kernel is directly mapped. The new one does not work on hpcsh b/c it calls consinit() very early when malloc() is not yet available.
The real fix for this is to fix the constness of wscons keymap structures that is self-contradictory.
|
1.31 |
| 12-Jun-2017 |
manu | Restore wscons keymaps feature on hpcarm
hpc ports need to alter keydesc data at runtime in order to load alternate keymaps. But since keydesc is const initialized data, it is mapped read only and the operation should fail.
It seems older compiler failed to enforce the read-only mapping and this is why it used to work, but on recent NetBSD releases, the feature is broken.
We fix it by duplicating the keydesc data once into a malloc'ed area that can be modified.
|
1.30 |
| 27-Oct-2012 |
chs | branches: 1.30.12; 1.30.14; 1.30.30; split device_t/softc for all remaining drivers. replace "struct device *" with "device_t". use device_xname(), device_unit(), etc.
|
1.29 |
| 11-Jun-2011 |
nonaka | branches: 1.29.2; 1.29.12; split device_t/softc.
|
1.28 |
| 12-May-2009 |
cegger | branches: 1.28.4; 1.28.10; struct device * -> device_t, no functional changes intended.
|
1.27 |
| 12-May-2009 |
cegger | struct cfdata * -> cfdata_t, no functional changes intended.
|
1.26 |
| 05-Apr-2009 |
uwe | Register with pmf(9), tell it we don't need anything.
|
1.25 |
| 28-Apr-2008 |
martin | branches: 1.25.8; 1.25.14; Remove clause 3 and 4 from TNF licenses
|
1.24 |
| 19-Oct-2007 |
ad | branches: 1.24.16; 1.24.18; 1.24.20; machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
|
1.23 |
| 23-Sep-2007 |
kiyohara | branches: 1.23.4; We call to config_hook_call() with always 'on'. It doesn't suspend it for NULL.
|
1.22 |
| 04-Mar-2007 |
christos | branches: 1.22.2; 1.22.14; 1.22.16; Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
|
1.21 |
| 29-Jan-2007 |
hubertf | branches: 1.21.2; Remove more duplicate headers. Patch by Slava Semushin <slava.semushin@gmail.com>
Again, this was tested by comparing obj files from a pristine and a patched source tree against an i386/ALL kernel, and also for src/sbin/fsck_ffs, src/sbin/fsdb and src/usr.sbin/makefs. Only changes in assert() line numbers were detected in 'objdump -d' output.
|
1.20 |
| 16-Nov-2006 |
christos | __unused removal on arguments; approved by core.
|
1.19 |
| 12-Oct-2006 |
uwe | -Wextra fixes
|
1.18 |
| 24-Sep-2006 |
peter | Run the "power button event" hooks when the special button OFF is pressed. Change the keycodes in the keymaps that are currently using the OFF button to -1 so that they will still operate the same way (i.e. do nothing).
No objection on port-hpcsh & port-hpcmips.
|
1.17 |
| 29-Mar-2006 |
thorpej | branches: 1.17.8; 1.17.10; Use device_private().
|
1.16 |
| 13-Feb-2006 |
uwe | branches: 1.16.2; 1.16.4; 1.16.6; Move assignment out of conditional expression.
|
1.15 |
| 12-Feb-2006 |
peter | Fix a typo, use uintN_t, use assigned variables, add newline to a printf.
|
1.14 |
| 11-Dec-2005 |
christos | branches: 1.14.2; 1.14.4; 1.14.6; merge ktrace-lwp.
|
1.13 |
| 08-Jun-2005 |
he | branches: 1.13.2; Add an __UNCONST() to appease -Wcast-qual.
XXX The way this is done is really wrong, as this function ends up modifying read-only data marked with 'const'. The reason we can get away with this is that apparently all the ports using this code maps text and read-only data read-write.
Reviewed by christos, who suggested "a big XXX comment".
|
1.12 |
| 27-Feb-2005 |
perry | nuke trailing whitespace
|
1.11 |
| 13-Mar-2004 |
bjh21 | branches: 1.11.8; 1.11.10; Abstract the interface between pckbc(4), and the pckbd(4) and pms(4) drivers that attach to it. This allows for other host interface chips that use the same keyboards and mice, such as the ones in the ARM IOMD20, ARM7500, and SA-1111. The PC-compatible driver is still called pckbc(4), and the new abstraction layer is "pckbport", so the child devices have moved from sys/dev/pckbc to sys/dev/pckbport, which also contains some code shared between all host controllers. To avoid incompatibility, pckbdreg.h is still installed in /usr/include/dev/pckbc.
In theory, this shouldn't cause any behavioural changes in the drivers concerned. Thy just use rather more function pointers than before. Tested on i386 and (with a new host driver) acorn32. Compiled on several other affected architectures.
|
1.10 |
| 02-Oct-2002 |
thorpej | branches: 1.10.6; Add trailing ; to CFATTACH_DECL.
|
1.9 |
| 30-Sep-2002 |
thorpej | Use CFATTACH_DECL().
|
1.8 |
| 27-Sep-2002 |
thorpej | Declare all cfattach structures const.
|
1.7 |
| 17-Mar-2002 |
atatat | Convert ioctl code to use EPASSTHROUGH instead of -1 or ENOTTY for indicating an unhandled "command". ERESTART is -1, which can lead to confusion. ERESTART has been moved to -3 and EPASSTHROUGH has been placed at -4. No ioctl code should now return -1 anywhere. The ioctl() system call is now properly restartable.
|
1.6 |
| 13-Nov-2001 |
lukem | add RCSID
|
1.5 |
| 04-Jun-2001 |
uch | branches: 1.5.2; ANSI KNF.
|
1.4 |
| 08-May-2001 |
uch | fix locking problem of event queue access.
|
1.3 |
| 12-Apr-2001 |
thorpej | splimp -> splvm (it's questionable whether or not this is really the right level at all -- maybe splhigh? Anyway, XXX comment added as well).
|
1.2 |
| 01-Mar-2001 |
uch | branches: 1.2.2; 1.2.4; if catch unknown scancode, print its row and column.
|
1.1 |
| 22-Feb-2001 |
uch | hpc common files are moved to dev/hpc.
|
1.2.4.3 |
| 21-Apr-2001 |
bouyer | Sync with HEAD
|
1.2.4.2 |
| 12-Mar-2001 |
bouyer | Sync with HEAD.
|
1.2.4.1 |
| 01-Mar-2001 |
bouyer | file hpckbd.c was added on branch thorpej_scsipi on 2001-03-12 13:30:06 +0000
|
1.2.2.4 |
| 18-Oct-2002 |
nathanw | Catch up to -current.
|
1.2.2.3 |
| 01-Apr-2002 |
nathanw | Catch up to -current. (CVS: It's not just a program. It's an adventure!)
|
1.2.2.2 |
| 14-Nov-2001 |
nathanw | Catch up to -current.
|
1.2.2.1 |
| 21-Jun-2001 |
nathanw | Catch up to -current.
|
1.5.2.3 |
| 10-Oct-2002 |
jdolecek | sync kqueue with -current; this includes merge of gehenna-devsw branch, merge of i386 MP branch, and part of autoconf rototil work
|
1.5.2.2 |
| 23-Jun-2002 |
jdolecek | catch up with -current on kqueue branch
|
1.5.2.1 |
| 10-Jan-2002 |
thorpej | Sync kqueue branch with -current.
|
1.10.6.6 |
| 10-Nov-2005 |
skrll | Sync with HEAD. Here we go again...
|
1.10.6.5 |
| 04-Mar-2005 |
skrll | Sync with HEAD.
Hi Perry!
|
1.10.6.4 |
| 24-Jan-2005 |
skrll | Adapt to branch.
|
1.10.6.3 |
| 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
1.10.6.2 |
| 18-Sep-2004 |
skrll | Sync with HEAD.
|
1.10.6.1 |
| 03-Aug-2004 |
skrll | Sync with HEAD
|
1.11.10.1 |
| 19-Mar-2005 |
yamt | sync with head. xen and whitespace. xen part is not finished.
|
1.11.8.1 |
| 29-Apr-2005 |
kent | sync with -current
|
1.13.2.5 |
| 27-Oct-2007 |
yamt | sync with head.
|
1.13.2.4 |
| 03-Sep-2007 |
yamt | sync with head.
|
1.13.2.3 |
| 26-Feb-2007 |
yamt | sync with head.
|
1.13.2.2 |
| 30-Dec-2006 |
yamt | sync with head.
|
1.13.2.1 |
| 21-Jun-2006 |
yamt | sync with head.
|
1.14.6.1 |
| 22-Apr-2006 |
simonb | Sync with head.
|
1.14.4.1 |
| 09-Sep-2006 |
rpaulo | sync with head
|
1.14.2.1 |
| 18-Feb-2006 |
yamt | sync with head.
|
1.16.6.1 |
| 31-Mar-2006 |
tron | Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
|
1.16.4.1 |
| 19-Apr-2006 |
elad | sync with head.
|
1.16.2.1 |
| 01-Apr-2006 |
yamt | sync with head.
|
1.17.10.2 |
| 10-Dec-2006 |
yamt | sync with head.
|
1.17.10.1 |
| 22-Oct-2006 |
yamt | sync with head
|
1.17.8.2 |
| 01-Feb-2007 |
ad | Sync with head.
|
1.17.8.1 |
| 18-Nov-2006 |
ad | Sync with head.
|
1.21.2.1 |
| 12-Mar-2007 |
rmind | Sync with HEAD.
|
1.22.16.1 |
| 06-Nov-2007 |
matt | sync with HEAD
|
1.22.14.2 |
| 26-Oct-2007 |
joerg | Sync with HEAD.
Follow the merge of pmap.c on i386 and amd64 and move pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup code to restore CR4 before jumping back into kernel space as the large page option might cover that.
|
1.22.14.1 |
| 02-Oct-2007 |
joerg | Sync with HEAD.
|
1.22.2.2 |
| 23-Oct-2007 |
ad | Sync with head.
|
1.22.2.1 |
| 09-Oct-2007 |
ad | Sync with head.
|
1.23.4.1 |
| 25-Oct-2007 |
bouyer | Sync with HEAD.
|
1.24.20.3 |
| 16-May-2009 |
yamt | sync with head
|
1.24.20.2 |
| 04-May-2009 |
yamt | sync with head.
|
1.24.20.1 |
| 16-May-2008 |
yamt | sync with head.
|
1.24.18.1 |
| 18-May-2008 |
yamt | sync with head.
|
1.24.16.1 |
| 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.25.14.1 |
| 13-May-2009 |
jym | Sync with HEAD.
Commit is split, to avoid a "too many arguments" protocol error.
|
1.25.8.1 |
| 28-Apr-2009 |
skrll | Sync with HEAD.
|
1.28.10.1 |
| 23-Jun-2011 |
cherry | Catchup with rmind-uvmplock merge.
|
1.28.4.1 |
| 12-Jun-2011 |
rmind | sync with head
|
1.29.12.2 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
1.29.12.1 |
| 20-Nov-2012 |
tls | Resync to 2012-11-19 00:00:00 UTC
|
1.29.2.1 |
| 30-Oct-2012 |
yamt | sync with head
|
1.30.30.3 |
| 23-Sep-2018 |
martin | Pull up following revision(s) (requested by rin in ticket #1021):
sys/dev/hpc/hpckbd.c: revision 1.33 sys/dev/hpc/hpckbd.c: revision 1.34 sys/dev/hpc/hpckbd.c: revision 1.35
Apply workaround introduced in r1.31 to hpcmips.
Fix kernel crash when console is attached. Now, my MC/R550 boots multiuser. Thanks Masahiko Ito for encouraging me to do bisection to find this out. XXX pullup-8, pullup-7
Fix comment formatting in previous.
Clarify the comment in the "unconst" version of hpckbd_keymap_setup. Both sh3 (P1) and mips (kseg0) have the kernel directly mapped.
|
1.30.30.2 |
| 09-Aug-2017 |
snj | Pull up following revision(s) (requested by uwe in ticket #202): sys/dev/hpc/hpckbd.c: revision 1.32 XXX: On hpcsh only - bring back old incorrect hpckbd_keymap_setup() fixed in 1.31. The old one with UNCONST does work on hpcsh b/c the kernel is directly mapped. The new one does not work on hpcsh b/c it calls consinit() very early when malloc() is not yet available. The real fix for this is to fix the constness of wscons keymap structures that is self-contradictory.
|
1.30.30.1 |
| 30-Jun-2017 |
snj | Pull up following revision(s) (requested by manu in ticket #61): sys/dev/hpc/hpckbd.c: revision 1.31 Restore wscons keymaps feature on hpcarm hpc ports need to alter keydesc data at runtime in order to load alternate keymaps. But since keydesc is const initialized data, it is mapped read only and the operation should fail. It seems older compiler failed to enforce the read-only mapping and this is why it used to work, but on recent NetBSD releases, the feature is broken. We fix it by duplicating the keydesc data once into a malloc'ed area that can be modified.
|
1.30.14.1 |
| 28-Aug-2017 |
skrll | Sync with HEAD
|
1.30.12.3 |
| 30-Oct-2018 |
sborrill | Pull up the following revisions(s) (requested by rin in ticket #1638): sys/dev/hpc/hpckbd.c: revision 1.33-1.35
Fix kernel crash on hpcmips when console is attached.
|
1.30.12.2 |
| 09-Aug-2017 |
snj | Pull up following revision(s) (requested by uwe in ticket #1465): sys/dev/hpc/hpckbd.c: revision 1.32 XXX: On hpcsh only - bring back old incorrect hpckbd_keymap_setup() fixed in 1.31. The old one with UNCONST does work on hpcsh b/c the kernel is directly mapped. The new one does not work on hpcsh b/c it calls consinit() very early when malloc() is not yet available. The real fix for this is to fix the constness of wscons keymap structures that is self-contradictory.
|
1.30.12.1 |
| 23-Jul-2017 |
snj | Pull up following revision(s) (requested by manu in ticket #1438): sys/dev/hpc/hpckbd.c: revision 1.31 Restore wscons keymaps feature on hpcarm hpc ports need to alter keydesc data at runtime in order to load alternate keymaps. But since keydesc is const initialized data, it is mapped read only and the operation should fail. It seems older compiler failed to enforce the read-only mapping and this is why it used to work, but on recent NetBSD releases, the feature is broken. We fix it by duplicating the keydesc data once into a malloc'ed area that can be modified.
|
1.32.4.1 |
| 10-Jun-2019 |
christos | Sync with HEAD
|
1.32.2.1 |
| 30-Sep-2018 |
pgoyette | Ssync with HEAD
|
1.35.14.1 |
| 21-Mar-2021 |
thorpej | Give config_found() the same variadic arguments treatment as config_search(). This commit only adds the CFARG_EOL sentinel to the existing config_found() calls. Conversion of config_found_sm_loc() and config_found_ia() call sites will be in subsequent commits.
|
1.36.8.1 |
| 04-Aug-2021 |
thorpej | Adapt to CFARGS().
|