Home | History | Annotate | only in /src/sys/arch/hpcmips/dev
History log of /src/sys/arch/hpcmips/dev
RevisionDateAuthorComments
 1.2 23-Feb-2001  uch I forgot to move Makefile.
 1.1 12-Mar-2000  takemura branches: 1.1.6;
Add makefile to install hpcfb.h.
 1.1.6.3 12-Mar-2001  bouyer Sync with HEAD.
 1.1.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.6.1 12-Mar-2000  bouyer file Makefile was added on branch thorpej_scsipi on 2000-11-20 20:45:48 +0000
 1.7 09-Feb-2001  uch sync with bicons change.
 1.6 21-Jan-2001  takemura Built-in console driver supports 4bpp frame buffer.
 1.5 06-Mar-2000  thorpej - Implement cnbell() -- ring the console bell. The cn_bell entrypoint
is optional.
- Add cn_bell to statically allocated consdevs as appropriate.
 1.4 30-Nov-1999  uch bicons_getc: calls vrkiu_getc() when vrkiu is configurated only.
 1.3 21-Nov-1999  uch when frame buffer address is not specified, don't try to access.
 1.2 02-Nov-1999  takemura Add new function, bicons_printf().
 1.1 16-Sep-1999  takemura branches: 1.1.1;
Initial revision
 1.1.1.1 16-Sep-1999  takemura branches: 1.1.1.1.2; 1.1.1.1.4; 1.1.1.1.6;
Import NetBSD/hpcmips source files from hpcmips repository.
file list:
sys/arch/hpcmips/
distrib/hpcmips/
etc/etc.hpcmips/
lib/libc/arch/mips/fplib/
lib/libc/arch/mips/fplib/Makefile.inc
lib/libc/arch/mips/fplib/environment.h
lib/libc/arch/mips/fplib/fplib_glue.c
lib/libc/arch/mips/fplib/fplib_libc.c
lib/libc/arch/mips/fplib/hpcmips-gcc.h
lib/libc/arch/mips/fplib/softfloat-macros.h
lib/libc/arch/mips/fplib/softfloat-specialize.h
lib/libc/arch/mips/fplib/softfloat.c
lib/libc/arch/mips/fplib/softfloat.h
lib/libc/arch/mips/gen/ieee.h
lib/libc/arch/mips/gen/sf_fabs.c
lib/libc/arch/mips/gen/sf_flt_rounds.c
lib/libc/arch/mips/gen/sf_fpgetmask.c
lib/libc/arch/mips/gen/sf_fpgetround.c
lib/libc/arch/mips/gen/sf_fpgetsticky.c
lib/libc/arch/mips/gen/sf_fpsetmask.c
lib/libc/arch/mips/gen/sf_fpsetround.c
lib/libc/arch/mips/gen/sf_fpsetsticky.c
lib/libc/arch/mips/gen/sf_isinf.c
lib/libc/arch/mips/gen/sf_ldexp.c
lib/libc/arch/mips/gen/sf_modf.c
 1.1.1.1.6.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.1.1.1.4.1 15-Nov-1999  fvdl Sync with -current
 1.1.1.1.2.2 11-Feb-2001  bouyer Sync with HEAD.
 1.1.1.1.2.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.3 09-Feb-2001  uch sync with bicons change.
 1.2 02-Nov-1999  takemura Add new function, bicons_printf().
 1.1 16-Sep-1999  takemura branches: 1.1.1;
Initial revision
 1.1.1.1 16-Sep-1999  takemura branches: 1.1.1.1.2; 1.1.1.1.4; 1.1.1.1.6;
Import NetBSD/hpcmips source files from hpcmips repository.
file list:
sys/arch/hpcmips/
distrib/hpcmips/
etc/etc.hpcmips/
lib/libc/arch/mips/fplib/
lib/libc/arch/mips/fplib/Makefile.inc
lib/libc/arch/mips/fplib/environment.h
lib/libc/arch/mips/fplib/fplib_glue.c
lib/libc/arch/mips/fplib/fplib_libc.c
lib/libc/arch/mips/fplib/hpcmips-gcc.h
lib/libc/arch/mips/fplib/softfloat-macros.h
lib/libc/arch/mips/fplib/softfloat-specialize.h
lib/libc/arch/mips/fplib/softfloat.c
lib/libc/arch/mips/fplib/softfloat.h
lib/libc/arch/mips/gen/ieee.h
lib/libc/arch/mips/gen/sf_fabs.c
lib/libc/arch/mips/gen/sf_flt_rounds.c
lib/libc/arch/mips/gen/sf_fpgetmask.c
lib/libc/arch/mips/gen/sf_fpgetround.c
lib/libc/arch/mips/gen/sf_fpgetsticky.c
lib/libc/arch/mips/gen/sf_fpsetmask.c
lib/libc/arch/mips/gen/sf_fpsetround.c
lib/libc/arch/mips/gen/sf_fpsetsticky.c
lib/libc/arch/mips/gen/sf_isinf.c
lib/libc/arch/mips/gen/sf_ldexp.c
lib/libc/arch/mips/gen/sf_modf.c
 1.1.1.1.6.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.1.1.1.4.1 15-Nov-1999  fvdl Sync with -current
 1.1.1.1.2.2 11-Feb-2001  bouyer Sync with HEAD.
 1.1.1.1.2.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.5 09-Feb-2001  uch sync with bicons change.
 1.4 08-Nov-2000  eeh Fix tty initialization. From Arne H Juul <arnej@fast.no>.
 1.3 02-Nov-2000  eeh Adapt to the new line discipline scheme.
 1.2 23-Mar-2000  thorpej New callout mechanism with two major improvements over the old
timeout()/untimeout() API:
- Clients supply callout handle storage, thus eliminating problems of
resource allocation.
- Insertion and removal of callouts is constant time, important as
this facility is used quite a lot in the kernel.

The old timeout()/untimeout() API has been removed from the kernel.
 1.1 16-Sep-1999  takemura branches: 1.1.1;
Initial revision
 1.1.1.1 16-Sep-1999  takemura branches: 1.1.1.1.2;
Import NetBSD/hpcmips source files from hpcmips repository.
file list:
sys/arch/hpcmips/
distrib/hpcmips/
etc/etc.hpcmips/
lib/libc/arch/mips/fplib/
lib/libc/arch/mips/fplib/Makefile.inc
lib/libc/arch/mips/fplib/environment.h
lib/libc/arch/mips/fplib/fplib_glue.c
lib/libc/arch/mips/fplib/fplib_libc.c
lib/libc/arch/mips/fplib/hpcmips-gcc.h
lib/libc/arch/mips/fplib/softfloat-macros.h
lib/libc/arch/mips/fplib/softfloat-specialize.h
lib/libc/arch/mips/fplib/softfloat.c
lib/libc/arch/mips/fplib/softfloat.h
lib/libc/arch/mips/gen/ieee.h
lib/libc/arch/mips/gen/sf_fabs.c
lib/libc/arch/mips/gen/sf_flt_rounds.c
lib/libc/arch/mips/gen/sf_fpgetmask.c
lib/libc/arch/mips/gen/sf_fpgetround.c
lib/libc/arch/mips/gen/sf_fpgetsticky.c
lib/libc/arch/mips/gen/sf_fpsetmask.c
lib/libc/arch/mips/gen/sf_fpsetround.c
lib/libc/arch/mips/gen/sf_fpsetsticky.c
lib/libc/arch/mips/gen/sf_isinf.c
lib/libc/arch/mips/gen/sf_ldexp.c
lib/libc/arch/mips/gen/sf_modf.c
 1.1.1.1.2.3 11-Feb-2001  bouyer Sync with HEAD.
 1.1.1.1.2.2 22-Nov-2000  bouyer Sync with HEAD.
 1.1.1.1.2.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.2 09-Feb-2001  uch sync with bicons change.
 1.1 16-Sep-1999  takemura branches: 1.1.1;
Initial revision
 1.1.1.1 16-Sep-1999  takemura branches: 1.1.1.1.2;
Import NetBSD/hpcmips source files from hpcmips repository.
file list:
sys/arch/hpcmips/
distrib/hpcmips/
etc/etc.hpcmips/
lib/libc/arch/mips/fplib/
lib/libc/arch/mips/fplib/Makefile.inc
lib/libc/arch/mips/fplib/environment.h
lib/libc/arch/mips/fplib/fplib_glue.c
lib/libc/arch/mips/fplib/fplib_libc.c
lib/libc/arch/mips/fplib/hpcmips-gcc.h
lib/libc/arch/mips/fplib/softfloat-macros.h
lib/libc/arch/mips/fplib/softfloat-specialize.h
lib/libc/arch/mips/fplib/softfloat.c
lib/libc/arch/mips/fplib/softfloat.h
lib/libc/arch/mips/gen/ieee.h
lib/libc/arch/mips/gen/sf_fabs.c
lib/libc/arch/mips/gen/sf_flt_rounds.c
lib/libc/arch/mips/gen/sf_fpgetmask.c
lib/libc/arch/mips/gen/sf_fpgetround.c
lib/libc/arch/mips/gen/sf_fpgetsticky.c
lib/libc/arch/mips/gen/sf_fpsetmask.c
lib/libc/arch/mips/gen/sf_fpsetround.c
lib/libc/arch/mips/gen/sf_fpsetsticky.c
lib/libc/arch/mips/gen/sf_isinf.c
lib/libc/arch/mips/gen/sf_ldexp.c
lib/libc/arch/mips/gen/sf_modf.c
 1.1.1.1.2.1 11-Feb-2001  bouyer Sync with HEAD.
 1.2 09-Feb-2001  uch sync with bicons change.
 1.1 16-Sep-1999  takemura branches: 1.1.1;
Initial revision
 1.1.1.1 16-Sep-1999  takemura branches: 1.1.1.1.2;
Import NetBSD/hpcmips source files from hpcmips repository.
file list:
sys/arch/hpcmips/
distrib/hpcmips/
etc/etc.hpcmips/
lib/libc/arch/mips/fplib/
lib/libc/arch/mips/fplib/Makefile.inc
lib/libc/arch/mips/fplib/environment.h
lib/libc/arch/mips/fplib/fplib_glue.c
lib/libc/arch/mips/fplib/fplib_libc.c
lib/libc/arch/mips/fplib/hpcmips-gcc.h
lib/libc/arch/mips/fplib/softfloat-macros.h
lib/libc/arch/mips/fplib/softfloat-specialize.h
lib/libc/arch/mips/fplib/softfloat.c
lib/libc/arch/mips/fplib/softfloat.h
lib/libc/arch/mips/gen/ieee.h
lib/libc/arch/mips/gen/sf_fabs.c
lib/libc/arch/mips/gen/sf_flt_rounds.c
lib/libc/arch/mips/gen/sf_fpgetmask.c
lib/libc/arch/mips/gen/sf_fpgetround.c
lib/libc/arch/mips/gen/sf_fpgetsticky.c
lib/libc/arch/mips/gen/sf_fpsetmask.c
lib/libc/arch/mips/gen/sf_fpsetround.c
lib/libc/arch/mips/gen/sf_fpsetsticky.c
lib/libc/arch/mips/gen/sf_isinf.c
lib/libc/arch/mips/gen/sf_ldexp.c
lib/libc/arch/mips/gen/sf_modf.c
 1.1.1.1.2.1 11-Feb-2001  bouyer Sync with HEAD.
 1.18 22-Feb-2001  uch hpc common files are moved to dev/hpc.
 1.17 15-Feb-2001  sato * show framebuffer address in boot time.
 1.16 21-Jan-2001  takemura Use rasops with 4bit depth.
 1.15 21-Jan-2001  takemura Built-in console driver supports 4bpp frame buffer.
 1.14 05-Jan-2001  sato - print debug message for WSDISPLAYIO_GETPARAM/WSDISPLAYIO_SETPARAM
when boot verbose mode.
for debuging LCD control and/or keyboard cmds.
 1.13 03-Dec-2000  takemura Change hf_baseaddr usage. Now it potins frame buffer start address instead
of hf_baseadd + hf_offset. You should use hf_baseaddr only in kernel and
you should use hf_offset only with mmap system call from userland.
 1.12 01-Oct-2000  takemura branches: 1.12.2;
Modify keymaps of MC-R and MC-CS series to add backlight control keycommand.
Modify keymap of btnmgr to add backlight control keycommand.
Add backlight control function to bivideo.
 1.11 10-Sep-2000  sato - not handle CONFIG_HOOK_POWERCONTROL events because the events
handled by lower lcd/lcdlight control device.
 1.10 22-Jul-2000  takemura Experimental MQ200 video driver. It's just copy of bivideo plus power
management routine.
 1.9 02-Jul-2000  takemura Experimental APM compatible power management.
 1.8 29-Jun-2000  mrg remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h>
 1.7 26-Jun-2000  simonb Change the kernel mmap interface so that the offset to map is an
"off_t" and the return value is a "paddr_t" to allow mappings
at offsets past 2^31 bytes. Somewhat inspired by FreeBSD, which
only changed the offset to a "vm_offset_t".

Includes updates for the i386, pc532 and sh3 mmmmap from Jason Thorpe.
 1.6 09-May-2000  shin branches: 1.6.4;
make it compile again (add #include's).
 1.5 20-Mar-2000  takemura Built in video supports get/set color map.
 1.4 20-Mar-2000  takemura Change color map and share color map data with kernel part.
 1.3 13-Mar-2000  uch sync with hpcfb.
 1.2 12-Mar-2000  takemura Bivideo utilize platid mechanisum for probing.
 1.1 12-Mar-2000  takemura New frame buffer driver 'hpcfb' and built in video controller 'bivideo'
 1.6.4.2 06-Aug-2000  takemura Pull up revisions 1.8-1.10 (requested by takemura)

Add power management hook.
 1.6.4.1 30-Jun-2000  simonb Pull up mmap paddr_t/off_t changes from trunk.
 1.12.2.6 12-Mar-2001  bouyer Sync with HEAD.
 1.12.2.5 11-Feb-2001  bouyer Sync with HEAD.
 1.12.2.4 05-Jan-2001  bouyer Sync with HEAD
 1.12.2.3 08-Dec-2000  bouyer Sync with HEAD.
 1.12.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.12.2.1 01-Oct-2000  bouyer file bivideo.c was added on branch thorpej_scsipi on 2000-11-20 20:45:49 +0000
 1.3 22-Feb-2001  uch hpc common files are moved to dev/hpc.
 1.2 22-Jul-2000  takemura branches: 1.2.2;
Experimental MQ200 video driver. It's just copy of bivideo plus power
management routine.
 1.1 12-Mar-2000  takemura branches: 1.1.4;
New frame buffer driver 'hpcfb' and built in video controller 'bivideo'
 1.1.4.1 06-Aug-2000  takemura Pull up revision 1.2 (requested by takemura)

Add bivideo_dont_attach for mq200video.
 1.2.2.3 12-Mar-2001  bouyer Sync with HEAD.
 1.2.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.2.2.1 22-Jul-2000  bouyer file bivideovar.h was added on branch thorpej_scsipi on 2000-11-20 20:45:49 +0000
 1.12 22-Feb-2001  uch hpc common files are moved to dev/hpc.
 1.11 26-Jan-2001  sato * support more than 16 ids.
* check the event ids are in the table.
 1.10 01-Oct-2000  takemura branches: 1.10.2;
Modify keymaps of MC-R and MC-CS series to add backlight control keycommand.
Modify keymap of btnmgr to add backlight control keycommand.
Add backlight control function to bivideo.
 1.9 02-Jul-2000  takemura Experimental APM compatible power management.
 1.8 18-May-2000  sato branches: 1.8.4;
fix CONFIG_HOOK_BUTTONEVENT_CANCEL keycode.
 1.7 04-May-2000  takemura Raw keyboard mode support. I'd tested this on MC/R530.
I don't sure if skbd work or not.
 1.6 30-Mar-2000  sato fix mapping.
 1.5 14-Mar-2000  sato some buttuns map to key codes which the button mean.
 1.4 13-Mar-2000  sato HPC/PsPC keyboard types.
 1.3 12-Mar-2000  takemura Change btnmgr to wskbd device from pseudo device.
 1.2 27-Feb-2000  uch UCB1200 GPIO routines.
 1.1 23-Dec-1999  takemura New button handler and power controller with configurable hooking mechanism.
 1.8.4.1 06-Aug-2000  takemura Pull up revision 1.9 (requested by takemura)

Map BUTTONEVENT_POWER-> PMEVENT_SUSPENDREQ for power management.
 1.10.2.4 12-Mar-2001  bouyer Sync with HEAD.
 1.10.2.3 11-Feb-2001  bouyer Sync with HEAD.
 1.10.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.10.2.1 01-Oct-2000  bouyer file btnmgr.c was added on branch thorpej_scsipi on 2000-11-20 20:45:50 +0000
 1.2 08-Dec-1999  uch Remove old keyboard driver for Compaq C.
Add driver
PHILIPS 74ALVC1624? buffer chip + simple keyboard driver.
 1.1 21-Nov-1999  uch Compaq C-series keyboard driver
 1.2 08-Dec-1999  uch Remove old keyboard driver for Compaq C.
Add driver
PHILIPS 74ALVC1624? buffer chip + simple keyboard driver.
 1.1 21-Nov-1999  uch Compaq C-series keyboard driver
 1.2 08-Dec-1999  uch Remove old keyboard driver for Compaq C.
Add driver
PHILIPS 74ALVC1624? buffer chip + simple keyboard driver.
 1.1 21-Nov-1999  uch Compaq C-series keyboard driver
 1.12 08-Dec-2018  thorpej Clean up initialization of com_regs structure, in preparation for
some additional changers.
 1.11 14-Mar-2008  cube branches: 1.11.90; 1.11.92;
Split device_t and softc for all com(4) devices (well, everything that
uses a com_softc backend). Use proper types and ansify where appropriate.
 1.10 13-Jul-2006  gdamore branches: 1.10.34; 1.10.54; 1.10.58;
Add an option COM_REGMAP to allow com(4) to use an array of register indices.
This allows us to convert aucom to just another com attachment, and cleanup
some code in the com_arbus.c.

Additionally, we use a common com_cleanup routine rather than having a
zillion copies of it in the attachment points.

This has been tested on a number architectures, and it has been shown to get
close to comparable performance when COM_REGMAP is defined, and comparable
when it is not defined.

Approved by core@. Fixes PR port-evbmips/32362.
 1.9 29-Mar-2006  thorpej branches: 1.9.4;
Use device_cfdata().
 1.8 11-Dec-2005  christos branches: 1.8.4; 1.8.6; 1.8.8; 1.8.10; 1.8.12;
merge ktrace-lwp.
 1.7 15-Jul-2003  lukem branches: 1.7.16;
__KERNEL_RCSID()
 1.6 14-Jun-2003  thorpej branches: 1.6.2;
Also pass a type argument to comcnattach() and com_kgdb_attach().
comspeed() (and thus cominit()) may need this information.
 1.5 02-Oct-2002  thorpej Use CFATTACH_DECL().
 1.4 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.3 14-Apr-2002  takemura Added bus probing to avoid bus error.
 1.2 05-Jan-2002  takemura branches: 1.2.2; 1.2.4;
Deleted verbose error message in probe routine to probe silently.
 1.1 04-Jan-2002  takemura Renamed sg2com -> com_hpcio. Now it seems to be working on SigmarionII.
 1.2.4.4 18-Oct-2002  nathanw Catch up to -current.
 1.2.4.3 17-Apr-2002  nathanw Catch up to -current.
 1.2.4.2 11-Jan-2002  nathanw More catchup.
 1.2.4.1 05-Jan-2002  nathanw file com_hpcio.c was added on branch nathanw_sa on 2002-01-11 23:38:23 +0000
 1.2.2.4 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.2.2.3 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.2.2.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.2.2.1 05-Jan-2002  thorpej file com_hpcio.c was added on branch kqueue on 2002-01-10 19:43:47 +0000
 1.6.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.6.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.6.2.1 03-Aug-2004  skrll Sync with HEAD
 1.7.16.3 17-Mar-2008  yamt sync with head.
 1.7.16.2 30-Dec-2006  yamt sync with head.
 1.7.16.1 21-Jun-2006  yamt sync with head.
 1.8.12.1 31-Mar-2006  tron Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
 1.8.10.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.8.8.2 11-Aug-2006  yamt sync with head
 1.8.8.1 01-Apr-2006  yamt sync with head.
 1.8.6.1 22-Apr-2006  simonb Sync with head.
 1.8.4.1 09-Sep-2006  rpaulo sync with head
 1.9.4.1 16-Jun-2006  gdamore com(4) attachment hacks. Note that these aren't as clean as they could be,
particularly com_hpcio.c, which has a custom bus_space which could probably
be eliminated. But _I_ don't have an hpcmips to test with. The compile of
MPC303 works, but GENERIC fails due to an error in tx39clock.c, so I'm
_not_ testing it. (But both files at least _compiled_.)
 1.10.58.1 03-Apr-2008  mjf Sync with HEAD.
 1.10.54.1 24-Mar-2008  keiichi sync with head.
 1.10.34.1 23-Mar-2008  matt sync with HEAD
 1.11.92.1 10-Jun-2019  christos Sync with HEAD
 1.11.90.1 26-Dec-2018  pgoyette Sync with HEAD, resolve a few conflicts
 1.1 04-Jan-2002  takemura branches: 1.1.2; 1.1.4;
Renamed sg2com -> com_hpcio. Now it seems to be working on SigmarionII.
 1.1.4.2 11-Jan-2002  nathanw More catchup.
 1.1.4.1 04-Jan-2002  nathanw file com_hpciovar.h was added on branch nathanw_sa on 2002-01-11 23:38:24 +0000
 1.1.2.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.2.1 04-Jan-2002  thorpej file com_hpciovar.h was added on branch kqueue on 2002-01-10 19:43:47 +0000
 1.16 13-Mar-2000  uch no longer required.
 1.15 05-Mar-2000  takemura Delete #ifdef USE_RASTERCONS lines, which are not used.
 1.14 27-Jan-2000  sato - fb_mmap(): treate about unaligned framebuffer memory (MC-R510).
 1.13 16-Jan-2000  uch disable noisy boot message.
 1.12 05-Jan-2000  takemura We can mmap frame buffer. Sorry, we had not been able to map it.
 1.11 16-Dec-1999  sato - support WSDISPLAYIO_GTYPE. (but currently return WSDISPLAY_TYPE_UNKNOWN.)
- support WSDISPLAYOP_GINFO. (but cmsize maybe not correct.. )
- not display kernel message when group 't' ioctl.
- support mmap()
 1.10 11-Dec-1999  takemura I've took 1 for i.
 1.9 06-Dec-1999  drochner update for changed struct wsdisplay_accessops:show_screen signature.
no functional changes
 1.8 25-Nov-1999  ad Fix date in copyright string.
 1.7 14-Nov-1999  takemura Support the frame buffer in which white pixel value is zero.
 1.6 03-Nov-1999  takemura Always override color table.
 1.5 02-Nov-1999  takemura Wsdisplay use small font, VT220 8x10.
 1.4 24-Oct-1999  takemura Fix argument type.
 1.3 24-Oct-1999  takemura Wsdisplay and wskbd are supported as a console device.
 1.2 26-Sep-1999  takemura branches: 1.2.2; 1.2.4; 1.2.6;
Add columns and rows infomation to attach message.
 1.1 16-Sep-1999  takemura branches: 1.1.1;
Initial revision
 1.1.1.1 16-Sep-1999  takemura Import NetBSD/hpcmips source files from hpcmips repository.
file list:
sys/arch/hpcmips/
distrib/hpcmips/
etc/etc.hpcmips/
lib/libc/arch/mips/fplib/
lib/libc/arch/mips/fplib/Makefile.inc
lib/libc/arch/mips/fplib/environment.h
lib/libc/arch/mips/fplib/fplib_glue.c
lib/libc/arch/mips/fplib/fplib_libc.c
lib/libc/arch/mips/fplib/hpcmips-gcc.h
lib/libc/arch/mips/fplib/softfloat-macros.h
lib/libc/arch/mips/fplib/softfloat-specialize.h
lib/libc/arch/mips/fplib/softfloat.c
lib/libc/arch/mips/fplib/softfloat.h
lib/libc/arch/mips/gen/ieee.h
lib/libc/arch/mips/gen/sf_fabs.c
lib/libc/arch/mips/gen/sf_flt_rounds.c
lib/libc/arch/mips/gen/sf_fpgetmask.c
lib/libc/arch/mips/gen/sf_fpgetround.c
lib/libc/arch/mips/gen/sf_fpgetsticky.c
lib/libc/arch/mips/gen/sf_fpsetmask.c
lib/libc/arch/mips/gen/sf_fpsetround.c
lib/libc/arch/mips/gen/sf_fpsetsticky.c
lib/libc/arch/mips/gen/sf_isinf.c
lib/libc/arch/mips/gen/sf_ldexp.c
lib/libc/arch/mips/gen/sf_modf.c
 1.2.6.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.2.4.1 15-Nov-1999  fvdl Sync with -current
 1.2.2.1 20-Nov-2000  bouyer Remove files that are no longer on the trunck
 1.6 13-Mar-2000  uch no longer required.
 1.5 05-Mar-2000  takemura Delete #ifdef USE_RASTERCONS lines, which are not used.
 1.4 02-Nov-1999  takemura Wsdisplay use small font, VT220 8x10.
 1.3 24-Oct-1999  takemura Fix argument type.
 1.2 24-Oct-1999  takemura Wsdisplay and wskbd are supported as a console device.
 1.1 16-Sep-1999  takemura branches: 1.1.1;
Initial revision
 1.1.1.1 16-Sep-1999  takemura branches: 1.1.1.1.2; 1.1.1.1.4; 1.1.1.1.6;
Import NetBSD/hpcmips source files from hpcmips repository.
file list:
sys/arch/hpcmips/
distrib/hpcmips/
etc/etc.hpcmips/
lib/libc/arch/mips/fplib/
lib/libc/arch/mips/fplib/Makefile.inc
lib/libc/arch/mips/fplib/environment.h
lib/libc/arch/mips/fplib/fplib_glue.c
lib/libc/arch/mips/fplib/fplib_libc.c
lib/libc/arch/mips/fplib/hpcmips-gcc.h
lib/libc/arch/mips/fplib/softfloat-macros.h
lib/libc/arch/mips/fplib/softfloat-specialize.h
lib/libc/arch/mips/fplib/softfloat.c
lib/libc/arch/mips/fplib/softfloat.h
lib/libc/arch/mips/gen/ieee.h
lib/libc/arch/mips/gen/sf_fabs.c
lib/libc/arch/mips/gen/sf_flt_rounds.c
lib/libc/arch/mips/gen/sf_fpgetmask.c
lib/libc/arch/mips/gen/sf_fpgetround.c
lib/libc/arch/mips/gen/sf_fpgetsticky.c
lib/libc/arch/mips/gen/sf_fpsetmask.c
lib/libc/arch/mips/gen/sf_fpsetround.c
lib/libc/arch/mips/gen/sf_fpsetsticky.c
lib/libc/arch/mips/gen/sf_isinf.c
lib/libc/arch/mips/gen/sf_ldexp.c
lib/libc/arch/mips/gen/sf_modf.c
 1.1.1.1.6.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.1.1.1.4.1 15-Nov-1999  fvdl Sync with -current
 1.1.1.1.2.1 20-Nov-2000  bouyer Remove files that are no longer on the trunck
 1.2 04-Nov-1999  takemura Move consinit() from findcons.c to machdep.c and remove file 'findcons.c.
Modify kernel boot options.
 1.1 16-Sep-1999  takemura branches: 1.1.1;
Initial revision
 1.1.1.1 16-Sep-1999  takemura branches: 1.1.1.1.2; 1.1.1.1.4; 1.1.1.1.6;
Import NetBSD/hpcmips source files from hpcmips repository.
file list:
sys/arch/hpcmips/
distrib/hpcmips/
etc/etc.hpcmips/
lib/libc/arch/mips/fplib/
lib/libc/arch/mips/fplib/Makefile.inc
lib/libc/arch/mips/fplib/environment.h
lib/libc/arch/mips/fplib/fplib_glue.c
lib/libc/arch/mips/fplib/fplib_libc.c
lib/libc/arch/mips/fplib/hpcmips-gcc.h
lib/libc/arch/mips/fplib/softfloat-macros.h
lib/libc/arch/mips/fplib/softfloat-specialize.h
lib/libc/arch/mips/fplib/softfloat.c
lib/libc/arch/mips/fplib/softfloat.h
lib/libc/arch/mips/gen/ieee.h
lib/libc/arch/mips/gen/sf_fabs.c
lib/libc/arch/mips/gen/sf_flt_rounds.c
lib/libc/arch/mips/gen/sf_fpgetmask.c
lib/libc/arch/mips/gen/sf_fpgetround.c
lib/libc/arch/mips/gen/sf_fpgetsticky.c
lib/libc/arch/mips/gen/sf_fpsetmask.c
lib/libc/arch/mips/gen/sf_fpsetround.c
lib/libc/arch/mips/gen/sf_fpsetsticky.c
lib/libc/arch/mips/gen/sf_isinf.c
lib/libc/arch/mips/gen/sf_ldexp.c
lib/libc/arch/mips/gen/sf_modf.c
 1.1.1.1.6.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.1.1.1.4.1 15-Nov-1999  fvdl Sync with -current
 1.1.1.1.2.1 20-Nov-2000  bouyer Remove files that are no longer on the trunck
 1.3 22-Feb-2001  uch hpc common files are moved to dev/hpc.
 1.2 05-Jan-2000  ad branches: 1.2.6;
- Update for changes to 'struct wsdisplay_font'.
- Add RCS Id string. This should probably be in 'othersrc'.
 1.1 02-Nov-1999  takemura branches: 1.1.4; 1.1.6;
Wsdisplay use small font, VT220 8x10.
 1.1.6.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.1.4.2 15-Nov-1999  fvdl Sync with -current
 1.1.4.1 02-Nov-1999  fvdl file fontconv.c was added on branch fvdl-softdep on 1999-11-15 00:37:48 +0000
 1.2.6.3 12-Mar-2001  bouyer Sync with HEAD.
 1.2.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.2.6.1 05-Jan-2000  bouyer file fontconv.c was added on branch thorpej_scsipi on 2000-11-20 20:45:50 +0000
 1.18 03-Jul-2004  uch hpcmips independent hpcapm part are moved to sys/dev/hpc/
hpcmips dependend part is separated to sys/arch/hpcmips/hpcapm_machdep.c
 1.17 25-Oct-2003  mycroft Fix typo.
 1.16 25-Oct-2003  mycroft Token-pasting nits for GCC 3.
 1.15 15-Jul-2003  lukem __KERNEL_RCSID()
 1.14 02-Oct-2002  thorpej branches: 1.14.6;
Use CFATTACH_DECL().
 1.13 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.12 12-May-2002  takemura BUGFIX: SigmarionII can't resume.
Added config_hook_call_reverse() to call the hardpower hook of CMU
(Vr clock mask unit) before the hardpower hook of MQ200 video controller.
 1.11 11-Feb-2002  takemura Added vr4122ip.
 1.10 27-Jan-2002  takemura Don't call tx39power_suspend_cpu unless the CPU is TX.
 1.9 30-Dec-2001  takemura BUGFIX: It allocated only 44 bytes for hpcapm while the device needed
764 bytes.

it was really terrible.
 1.8 16-Sep-2001  uch branches: 1.8.4;
ANSIfy, KNF.
 1.7 05-Sep-2001  sato branches: 1.7.2;
add more battery event.
 1.6 04-Jan-2001  sato branches: 1.6.4;
handle pointer type event message and scaler type event message
for CONFIG_HOOK_PMEVENT_*.
 1.5 29-Dec-2000  sato * implimant CONFIG_HOOK_PMEVENT_BATTERY&CONFIG_HOOK_PMEVENT_AC
based apm state transition.
- change CONFIG_HOOK_PMEVENT_BATTERY message.
XXX: currentry none send these events.
 1.4 04-Oct-2000  uch branches: 1.4.2;
experimental power management support for TX3912/TX3922 based model.
 1.3 30-Jul-2000  takemura branches: 1.3.2;
Remove src/sys/dev/apm/*. (They've gone to arch/hpcmips/dev/apm.)
 1.2 22-Jul-2000  takemura Experimental MQ200 video driver. It's just copy of bivideo plus power
management routine.
 1.1 02-Jul-2000  takemura Experimental APM compatible power management.
 1.3.2.2 06-Aug-2000  takemura Pull up revisions 1.1-1.3 (new, requested by takemura)

new power management function.
 1.3.2.1 30-Jul-2000  takemura file hpcapm.c was added on branch netbsd-1-5 on 2000-08-06 03:51:59 +0000
 1.4.2.3 05-Jan-2001  bouyer Sync with HEAD
 1.4.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.4.2.1 04-Oct-2000  bouyer file hpcapm.c was added on branch thorpej_scsipi on 2000-11-20 20:45:51 +0000
 1.6.4.6 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.6.4.5 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.6.4.4 16-Mar-2002  jdolecek Catch up with -current.
 1.6.4.3 11-Feb-2002  jdolecek Sync w/ -current.
 1.6.4.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.6.4.1 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.7.2.1 01-Oct-2001  fvdl Catch up with -current.
 1.8.4.5 18-Oct-2002  nathanw Catch up to -current.
 1.8.4.4 20-Jun-2002  nathanw Catch up to -current.
 1.8.4.3 28-Feb-2002  nathanw Catch up to -current.
 1.8.4.2 08-Jan-2002  nathanw Catch up to -current.
 1.8.4.1 16-Sep-2001  nathanw file hpcapm.c was added on branch nathanw_sa on 2002-01-08 00:24:59 +0000
 1.14.6.1 03-Aug-2004  skrll Sync with HEAD
 1.2 22-Feb-2001  uch hpc common files are moved to dev/hpc.
 1.1 20-Mar-2000  takemura branches: 1.1.6;
Change color map and share color map data with kernel part.
 1.1.6.3 12-Mar-2001  bouyer Sync with HEAD.
 1.1.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.6.1 20-Mar-2000  bouyer file hpccmap.c was added on branch thorpej_scsipi on 2000-11-20 20:45:51 +0000
 1.2 22-Feb-2001  uch hpc common files are moved to dev/hpc.
 1.1 20-Mar-2000  takemura branches: 1.1.6;
Change color map and share color map data with kernel part.
 1.1.6.3 12-Mar-2001  bouyer Sync with HEAD.
 1.1.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.6.1 20-Mar-2000  bouyer file hpccmap_gen.c was added on branch thorpej_scsipi on 2000-11-20 20:45:52 +0000
 1.2 22-Feb-2001  uch hpc common files are moved to dev/hpc.
 1.1 20-Mar-2000  takemura branches: 1.1.6;
Change color map and share color map data with kernel part.
 1.1.6.3 12-Mar-2001  bouyer Sync with HEAD.
 1.1.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.6.1 20-Mar-2000  bouyer file hpccmapvar.h was added on branch thorpej_scsipi on 2000-11-20 20:45:52 +0000
 1.39 22-Feb-2001  uch hpc common files are moved to dev/hpc.
 1.38 02-Feb-2001  sato Copyright year.
 1.37 24-Jan-2001  sato * fix typo.
* change PWR_* handling to PWR_SOFT* handling, if these routines need to sleep.
 1.36 24-Jan-2001  sato delete unneed debug message.
 1.35 24-Jan-2001  sato revert one of 1.34 change.
> * emul/mapping infomation turn to per screen.
(my misunderstanding)
currently per device.
 1.34 24-Jan-2001  sato * support hpcfb_show_screens()'s cb and cbarg arguments. (HPCFB_MULTI)
* emul/mapping infomation turn to per screen.
* rename hpcfb_check_scroll() to hpcfb_check_update(). (HPCFB_JUMP)
* rename hpcfb_scroll_update() to hpcfb_update(). (HPCFB_JUMP)
* update experimental HPCFB_JUMP codes. (but not yet fix yet)
 1.33 05-Jan-2001  sato - fix WSDISPLAYIO_MODE_EMUL mode redrawing.
- avoid null pointer dereference.
- clean up hpcfb_show_screen().
 1.32 04-Jan-2001  sato Avoid null pointer dereference. dc_sc may be null on early stage.
 1.31 04-Jan-2001  enami Avoid null pointer dereference. dc_sc may be null on early stage.
 1.30 04-Jan-2001  enami Set HPCFB_DC_CURRENT bit in hpcfb_init() so that boot -d works.
 1.29 01-Jan-2001  sato re-disable experimental HPCFB_MULTI codes....
 1.28 30-Dec-2000  sato notify console polling mode or not to lower level video driver.
turn polling mode when console are polling mode.
disable redrawing when not EMUL mode.
 1.27 27-Dec-2000  sato fix typo.
 1.26 25-Dec-2000  sato make compilable for HPCFB_JUMP codes.
 1.25 25-Dec-2000  sato * add iodone&font entry in struct hpcfb_accessops.
* update HPCFB_JUMP codes.
* change tvram initialization out of hpcfb_init().
* use dc_fbaddr for switching screen (for HPCFB_MULTI codes).
 1.24 22-Dec-2000  sato * update HPCFB_MULTI codes
- check malloc() return value.
- disable multi screen feature when console is serial.
XXXX: bacause hpcfb multiscreen feature buggy in serial console.
 1.23 21-Dec-2000  sato - re-disable HPCFB_MULTI which enabled by my mistake.
- fix hpcfb_show_screen()'s cursor drawing when HPCFB_MULTI is enabled.
 1.22 20-Dec-2000  sato fix some HPCFB_MULTI related bugs.
- confusing some screens.
- save/resume problem

(but HPCFB_MULTI is not stabe yet)
 1.21 20-Dec-2000  sato fix bug hpcfb_redraw()'s argument all=1.
 1.20 12-Dec-2000  sato delete unused HPCFB_BSTORE codes.
 1.19 03-Dec-2000  takemura Change hf_baseaddr usage. Now it potins frame buffer start address instead
of hf_baseadd + hf_offset. You should use hf_baseaddr only in kernel and
you should use hf_offset only with mmap system call from userland.
 1.18 26-Nov-2000  sato hardware accelarate function parameters turn to dot base.
 1.17 24-Nov-2000  sato delete not HPCFB_TVOPTIM codes.
 1.16 24-Nov-2000  sato update experimental HPCFB_JUMP codes.
(but not completely yet)
 1.15 22-Oct-2000  uch branches: 1.15.2;
reorder color map adequately.
 1.14 01-Oct-2000  takemura Modify keymaps of MC-R and MC-CS series to add backlight control keycommand.
Modify keymap of btnmgr to add backlight control keycommand.
Add backlight control function to bivideo.
 1.13 12-Sep-2000  sato bzero allocated structutre initialy.
 1.12 11-Sep-2000  sato - delete some unused codes (but some experimental code is not deleted)
- add experimental HPCFB_JUMP code but it is not enabled.
 1.11 10-Sep-2000  takemura Introduce WSDISPLAY_NULLSCREEN to allow low level device to detach control
process. Hpcmips frame buffer driver(hpcfb) call wsdisplay_switch with
WSDISPLAY_NULLSCREEN to notify user process of suspend/resume event.
 1.10 30-Jul-2000  takemura Refresh screen when the system resume.
 1.9 22-Jul-2000  takemura Overwrite color map of rasops.
 1.8 29-Jun-2000  mrg remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h>
 1.7 26-Jun-2000  simonb Change the kernel mmap interface so that the offset to map is an
"off_t" and the return value is a "paddr_t" to allow mappings
at offsets past 2^31 bytes. Somewhat inspired by FreeBSD, which
only changed the offset to a "vm_offset_t".

Includes updates for the i386, pc532 and sh3 mmmmap from Jason Thorpe.
 1.6 08-May-2000  uch branches: 1.6.4;
add struct hpcfb_accessops to setclut method. TX3912 can't change
color map index (R:G:B = 3:3:2), so use this.
 1.5 02-May-2000  uch change hpfcb_cnattach interface to adopt current implementation.
 1.4 01-May-2000  takemura We should not report button down event while we don't know where it occur.
 1.3 03-Apr-2000  sato - virtual TEXT vram implimentation.
- optimize scroll.
- hardware accelerator hooking mechanism (initianly, maybe change..)
- multiscreen (some bugs, so currently disabled)
- if you want disable above codes, #define HPCFB_DISABLE.
 1.2 20-Mar-2000  takemura Change color map and share color map data with kernel part.
 1.1 12-Mar-2000  takemura New frame buffer driver 'hpcfb' and built in video controller 'bivideo'
 1.6.4.2 06-Aug-2000  takemura Pull up revisions 1.8-1.10 (requested by takemura)

Add power hook and refresh screen on resume.
 1.6.4.1 30-Jun-2000  simonb Pull up mmap paddr_t/off_t changes from trunk.
 1.15.2.8 12-Mar-2001  bouyer Sync with HEAD.
 1.15.2.7 11-Feb-2001  bouyer Sync with HEAD.
 1.15.2.6 05-Jan-2001  bouyer Sync with HEAD
 1.15.2.5 13-Dec-2000  bouyer Sync with HEAD (for UBC fixes).
 1.15.2.4 13-Dec-2000  bouyer Sync with HEAD (for UBC fixes)
 1.15.2.3 08-Dec-2000  bouyer Sync with HEAD.
 1.15.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.15.2.1 22-Oct-2000  bouyer file hpcfb.c was added on branch thorpej_scsipi on 2000-11-20 20:45:53 +0000
 1.3 22-Feb-2001  uch hpc common files are moved to dev/hpc.
 1.2 03-Dec-2000  takemura Change hf_baseaddr usage. Now it potins frame buffer start address instead
of hf_baseadd + hf_offset. You should use hf_baseaddr only in kernel and
you should use hf_offset only with mmap system call from userland.
 1.1 12-Mar-2000  takemura branches: 1.1.6;
New frame buffer driver 'hpcfb' and built in video controller 'bivideo'
 1.1.6.4 12-Mar-2001  bouyer Sync with HEAD.
 1.1.6.3 08-Dec-2000  bouyer Sync with HEAD.
 1.1.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.6.1 12-Mar-2000  bouyer file hpcfbio.h was added on branch thorpej_scsipi on 2000-11-20 20:45:53 +0000
 1.7 22-Feb-2001  uch hpc common files are moved to dev/hpc.
 1.6 25-Dec-2000  sato * add iodone&font entry in struct hpcfb_accessops.
* update HPCFB_JUMP codes.
* change tvram initialization out of hpcfb_init().
* use dc_fbaddr for switching screen (for HPCFB_MULTI codes).
 1.5 26-Jun-2000  simonb branches: 1.5.2;
Change the kernel mmap interface so that the offset to map is an
"off_t" and the return value is a "paddr_t" to allow mappings
at offsets past 2^31 bytes. Somewhat inspired by FreeBSD, which
only changed the offset to a "vm_offset_t".

Includes updates for the i386, pc532 and sh3 mmmmap from Jason Thorpe.
 1.4 08-May-2000  uch branches: 1.4.4;
add struct hpcfb_accessops to setclut method. TX3912 can't change
color map index (R:G:B = 3:3:2), so use this.
 1.3 02-May-2000  uch change hpfcb_cnattach interface to adopt current implementation.
 1.2 03-Apr-2000  sato - virtual TEXT vram implimentation.
- optimize scroll.
- hardware accelerator hooking mechanism (initianly, maybe change..)
- multiscreen (some bugs, so currently disabled)
- if you want disable above codes, #define HPCFB_DISABLE.
 1.1 12-Mar-2000  takemura New frame buffer driver 'hpcfb' and built in video controller 'bivideo'
 1.4.4.1 30-Jun-2000  simonb Pull up mmap paddr_t/off_t changes from trunk.
 1.5.2.4 12-Mar-2001  bouyer Sync with HEAD.
 1.5.2.3 05-Jan-2001  bouyer Sync with HEAD
 1.5.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.5.2.1 26-Jun-2000  bouyer file hpcfbvar.h was added on branch thorpej_scsipi on 2000-11-20 20:45:54 +0000
 1.6 22-Feb-2001  uch hpc common files are moved to dev/hpc.
 1.5 10-Jan-2001  sato dummy WSKBDIO_SETLEDS WSKBDIO_GETLEDS for wsconsctl(8)
 1.4 22-Oct-2000  uch branches: 1.4.2;
new I/O modules framework for TX based system.
 1.3 21-Oct-2000  takemura BUGFIX: PCKBD_LAYOUT had not been effective.
 1.2 01-Oct-2000  takemura Modify keymaps of MC-R and MC-CS series to add backlight control keycommand.
Modify keymap of btnmgr to add backlight control keycommand.
Add backlight control function to bivideo.
 1.1 21-Sep-2000  takemura skbd -> hpckbd. hpckbd supports vrkiu as well as m38813c and tc5165.
 1.4.2.4 12-Mar-2001  bouyer Sync with HEAD.
 1.4.2.3 18-Jan-2001  bouyer Sync with head (for UBC+NFS fixes, mostly).
 1.4.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.4.2.1 22-Oct-2000  bouyer file hpckbd.c was added on branch thorpej_scsipi on 2000-11-20 20:45:54 +0000
 1.7 22-Feb-2001  uch hpc common files are moved to dev/hpc.
 1.6 19-Oct-2000  takemura branches: 1.6.2;
Swap reft and light key.
 1.5 04-Oct-2000  sato fix mistake of sigmarion cmdmap.
 1.4 02-Oct-2000  sato add sigmarion cmdmap and use it.
 1.3 01-Oct-2000  takemura Modify keymaps of MC-R and MC-CS series to add backlight control keycommand.
Modify keymap of btnmgr to add backlight control keycommand.
Add backlight control function to bivideo.
 1.2 27-Sep-2000  sato add DoCoMo sigmarion keymap.
 1.1 21-Sep-2000  takemura skbd -> hpckbd. hpckbd supports vrkiu as well as m38813c and tc5165.
 1.6.2.3 12-Mar-2001  bouyer Sync with HEAD.
 1.6.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.6.2.1 19-Oct-2000  bouyer file hpckbdkeymap.h was added on branch thorpej_scsipi on 2000-11-20 20:45:54 +0000
 1.2 22-Feb-2001  uch hpc common files are moved to dev/hpc.
 1.1 21-Sep-2000  takemura branches: 1.1.2;
skbd -> hpckbd. hpckbd supports vrkiu as well as m38813c and tc5165.
 1.1.2.3 12-Mar-2001  bouyer Sync with HEAD.
 1.1.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.2.1 21-Sep-2000  bouyer file hpckbdvar.h was added on branch thorpej_scsipi on 2000-11-20 20:45:55 +0000
 1.28 08-Dec-2023  andvar fix triple t typos in comment and debug message.
 1.27 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.26 25-Apr-2021  thorpej branches: 1.26.6;
it8368_attach_socket(): Pass the device_t to config_found(), not the
softc. This was missed due to a (void *) cast when the device_t / softc
split changes occurred.
 1.25 24-Apr-2021  thorpej branches: 1.25.2;
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.24 27-Oct-2012  chs branches: 1.24.52;
split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.23 26-Jul-2011  dyoung branches: 1.23.2; 1.23.12;
Don't set the iobase and iosize members of pcmciabus_attach_args because
they're not used in any meaningful way.
 1.22 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.21 24-Dec-2005  perry branches: 1.21.74; 1.21.76; 1.21.78;
__asm__ -> __asm
__const__ -> const
__inline__ -> inline
__volatile__ -> volatile
 1.20 11-Dec-2005  christos merge ktrace-lwp.
 1.19 28-Jun-2005  drochner branches: 1.19.2;
convert remaining autoconf bus "submatch" functions to use the new
signature (passing locators), and remove some which obviously don't
serve any purpose
(untested, sorry)
 1.18 15-Jul-2003  lukem __KERNEL_RCSID()
 1.17 01-Jan-2003  thorpej branches: 1.17.2;
Use aprint_normal() for cfprint routines.
 1.16 02-Oct-2002  thorpej Use CFATTACH_DECL().
 1.15 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.14 27-Sep-2002  thorpej Introduce a new routine, config_match(), which invokes the
cfattach->ca_match function in behalf of the caller. Use it
rather than invoking cfattach->ca_match directly.
 1.13 03-May-2002  takemura Fixed debug print.
 1.12 29-Jan-2002  uch clean up debug print and configuration.
 1.11 15-Dec-2001  soren To make dev/pcmcia work on platforms with 64-bit bus_addr_t and
32-bit bus_size_t (sparc), change the pcmcia_mem_map(9) offsetp
argument to bus_size_t as it is used as a bus_space offset.
 1.10 15-Sep-2001  uch branches: 1.10.4;
ANSIfy, KNF, change my copyright.
 1.9 08-May-2001  uch branches: 1.9.2; 1.9.4;
set allocatable PCMCIA I/O space size.
 1.8 12-Mar-2000  uch branches: 1.8.6; 1.8.8;
add WINCE_DEFAULT_SETTING and IT8368E_DESTRUCTIVE_CHECK for debug.
 1.7 03-Mar-2000  uch cosmetic change
 1.6 06-Jan-2000  uch implement IT8368 legacy attr mode. Mobilon requires it.
 1.5 03-Jan-2000  uch clean up boot message.
 1.4 30-Dec-1999  uch Before attach card, check card is detected.
 1.3 27-Dec-1999  uch Implement PCMCIA controller power up/reset.
 1.2 29-Nov-1999  uch branches: 1.2.2;
commet out non-working code.
 1.1 21-Nov-1999  uch ITE IT8368E PCMCIA controller
 1.2.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.8.8.1 21-Jun-2001  nathanw Catch up to -current.
 1.8.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.8.6.1 12-Mar-2000  bouyer file it8368.c was added on branch thorpej_scsipi on 2000-11-20 20:45:56 +0000
 1.9.4.1 01-Oct-2001  fvdl Catch up with -current.
 1.9.2.4 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.9.2.3 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.9.2.2 11-Feb-2002  jdolecek Sync w/ -current.
 1.9.2.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.10.4.6 03-Jan-2003  thorpej Sync with HEAD.
 1.10.4.5 18-Oct-2002  nathanw Catch up to -current.
 1.10.4.4 20-Jun-2002  nathanw Catch up to -current.
 1.10.4.3 28-Feb-2002  nathanw Catch up to -current.
 1.10.4.2 08-Jan-2002  nathanw Catch up to -current.
 1.10.4.1 15-Sep-2001  nathanw file it8368.c was added on branch nathanw_sa on 2002-01-08 00:24:59 +0000
 1.17.2.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.17.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.17.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.17.2.1 03-Aug-2004  skrll Sync with HEAD
 1.19.2.1 21-Jun-2006  yamt sync with head.
 1.21.78.1 16-May-2008  yamt sync with head.
 1.21.76.1 18-May-2008  yamt sync with head.
 1.21.74.1 02-Jun-2008  mjf Sync with HEAD.
 1.23.12.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.23.2.1 30-Oct-2012  yamt sync with head
 1.24.52.1 23-Mar-2021  thorpej Convert config_found_ia() call sites where the device only carries
a single interface attribute to bare config_found() calls.
 1.25.2.1 13-May-2021  thorpej Sync with HEAD.
 1.26.6.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.5 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.4 15-Sep-2001  uch branches: 1.4.4; 1.4.122; 1.4.124; 1.4.126;
ANSIfy, KNF, change my copyright.
 1.3 12-Mar-2000  uch branches: 1.3.6; 1.3.8; 1.3.10;
add WINCE_DEFAULT_SETTING and IT8368E_DESTRUCTIVE_CHECK for debug.
 1.2 30-Dec-1999  uch Before attach card, check card is detected.
 1.1 21-Nov-1999  uch branches: 1.1.2;
ITE IT8368E PCMCIA controller
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.3.10.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.3.8.1 01-Oct-2001  fvdl Catch up with -current.
 1.3.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.3.6.1 12-Mar-2000  bouyer file it8368reg.h was added on branch thorpej_scsipi on 2000-11-20 20:45:56 +0000
 1.4.126.1 16-May-2008  yamt sync with head.
 1.4.124.1 18-May-2008  yamt sync with head.
 1.4.122.1 02-Jun-2008  mjf Sync with HEAD.
 1.4.4.2 15-Sep-2001  uch ANSIfy, KNF, change my copyright.
 1.4.4.1 15-Sep-2001  uch file it8368reg.h was added on branch nathanw_sa on 2001-09-15 12:47:06 +0000
 1.3 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.2 15-Sep-2001  uch branches: 1.2.4; 1.2.122; 1.2.124; 1.2.126;
ANSIfy, KNF, change my copyright.
 1.1 06-Jan-2000  uch branches: 1.1.6; 1.1.8; 1.1.10;
implement IT8368 legacy attr mode. Mobilon requires it.
 1.1.10.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.8.1 01-Oct-2001  fvdl Catch up with -current.
 1.1.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.6.1 06-Jan-2000  bouyer file it8368var.h was added on branch thorpej_scsipi on 2000-11-20 20:45:57 +0000
 1.2.126.1 16-May-2008  yamt sync with head.
 1.2.124.1 18-May-2008  yamt sync with head.
 1.2.122.1 02-Jun-2008  mjf Sync with HEAD.
 1.2.4.2 15-Sep-2001  uch ANSIfy, KNF, change my copyright.
 1.2.4.1 15-Sep-2001  uch file it8368var.h was added on branch nathanw_sa on 2001-09-15 12:47:06 +0000
 1.31 28-May-2022  andvar fix various typos, mainly in comments.
 1.30 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.29 24-Apr-2021  thorpej branches: 1.29.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.28 27-Oct-2012  chs branches: 1.28.52;
split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.27 18-Mar-2009  cegger branches: 1.27.12; 1.27.22;
bzero -> memset
 1.26 14-Mar-2009  dsl ANSIfy another 1261 function definitions.
The only ones left in sys are beyond by sed script!
(or in sys/dist or sys/external)
Mostly they have function pointer parameters.
 1.25 04-Mar-2007  christos branches: 1.25.44; 1.25.52; 1.25.58;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.24 24-Sep-2006  jmcneill branches: 1.24.4;
Add "name" parameter to powerhook_establish, to aid debugging. No objections
on tech-kern@
 1.23 26-May-2006  blymn branches: 1.23.6; 1.23.8;
Clean up bogus whitespace
 1.22 11-Dec-2005  christos branches: 1.22.4; 1.22.6; 1.22.8; 1.22.14;
merge ktrace-lwp.
 1.21 12-Dec-2004  abs branches: 1.21.10;
Fix comments regarding configration bounaries
 1.20 13-Nov-2003  chs eliminate uvm_useracc() in favor of checking the return value of
copyin() or copyout().

uvm_useracc() tells us whether the mapping permissions allow access to
the desired part of an address space, and many callers assume that
this is the same as knowing whether an attempt to access that part of
the address space will succeed. however, access to user space can
fail for reasons other than insufficient permission, most notably that
paging in any non-resident data can fail due to i/o errors. most of
the callers of uvm_useracc() make the above incorrect assumption. the
rest are all misguided optimizations, which optimize for the case
where an operation will fail. we'd rather optimize for operations
succeeding, in which case we should just attempt the access and handle
failures due to insufficient permissions the same way we handle i/o
errors. since there appear to be no good uses of uvm_useracc(), we'll
just remove it.
 1.19 15-Jul-2003  lukem __KERNEL_RCSID()
 1.18 06-Nov-2002  wiz branches: 1.18.6;
Fix typo. Reported by Jolan Luff in PR 18952.
 1.17 06-Aug-2002  itojun integer overflow. from silvio@qualys.com
 1.16 17-Mar-2002  atatat branches: 1.16.4; 1.16.6;
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.15 16-Sep-2001  uch branches: 1.15.4;
ANSIfy, KNF.
 1.14 22-Jul-2001  takemura branches: 1.14.2;
You must set 'HPCFB_SWAP_*' if bytes are stored in reverse order, i.e.
little endian like order, however, usage of 'HPCFB_SWAP_*' was widely
misunderstood because it reminded you of 'RI_BSWAP' in raster operation.
Please note that 'RI_BSWAP' indicate that frame buffer byte order is different
from natural order of system while 'HPCFB_REVORDER_*' is independent of
system byte order.
 1.13 17-Jul-2001  toshii "infomation" -> "information"
 1.12 11-Jun-2001  sato branches: 1.12.2;
not set HPCFB_SWAP_BYTE
 1.11 26-Mar-2001  sato o Change initialization for config_hook() base lcd control.
o Fix backlight control in case that light is controlable but not be
able to get status.
o change some verbose prints.
 1.10 12-Mar-2001  sato * assume backlight is on if backlight value cannot get.
* move the lcd control codes used config_hook_call()
in *_hardpower() to *_power().
 1.9 09-Mar-2001  sato support WSDISPLAYIO_SVIDEO/WSDISPLAYIO_GVIDEO.
lcd on/off
 1.8 27-Feb-2001  sato branches: 1.8.2;
* add WSDISPLAYIO_PARAM_BACKLIGHT, WSDISPLAYIO_PARAM_CONTRAST,
WSDISPLAYIO_PARAM_BRIGHTNESS supports.
 1.7 22-Feb-2001  uch hpc common files are moved to dev/hpc.
 1.6 15-Feb-2001  sato * show framebuffer address in boot time.
 1.5 23-Jan-2001  sato add 4bpp support (sync with mq200 rev1.6 -> 1.7)
 1.4 03-Dec-2000  takemura Change hf_baseaddr usage. Now it potins frame buffer start address instead
of hf_baseadd + hf_offset. You should use hf_baseaddr only in kernel and
you should use hf_offset only with mmap system call from userland.
 1.3 27-Oct-2000  sato branches: 1.3.2;
enlarge ITE8181_LCD_ON_SELF_DELAY.
 1.2 23-Oct-2000  sato - change constant to static variable for
ite8181 access delay parameter after lcd power on.
- ITE8181_WINCE_CMAP.
use presetting cmap by pbsdboot.exe(temporally)
 1.1 02-Oct-2000  sato experimental ite8181 video driver for hpcfb.
- just copy from bivideo.
- erase WindowsCE hardware cursor initialy.
- LCD power management codes exist, but currently disabled.
Because some devices(include ite8181) confuse after LCD power turn on.
WorkPad z50 power unit seem to be very weak,
 1.3.2.7 27-Mar-2001  bouyer Sync with HEAD.
 1.3.2.6 12-Mar-2001  bouyer Sync with HEAD.
 1.3.2.5 11-Feb-2001  bouyer Sync with HEAD.
 1.3.2.4 08-Dec-2000  bouyer Sync with HEAD.
 1.3.2.3 22-Nov-2000  bouyer Sync with HEAD.
 1.3.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.3.2.1 27-Oct-2000  bouyer file ite8181.c was added on branch thorpej_scsipi on 2000-11-20 20:45:57 +0000
 1.8.2.2 21-Jun-2001  nathanw Catch up to -current.
 1.8.2.1 09-Apr-2001  nathanw Catch up with -current.
 1.12.2.4 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.12.2.3 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.12.2.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.12.2.1 03-Aug-2001  lukem update to -current
 1.14.2.1 01-Oct-2001  fvdl Catch up with -current.
 1.15.4.4 11-Nov-2002  nathanw Catch up to -current
 1.15.4.3 13-Aug-2002  nathanw Catch up to -current.
 1.15.4.2 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.15.4.1 16-Sep-2001  nathanw file ite8181.c was added on branch nathanw_sa on 2002-04-01 07:40:24 +0000
 1.16.6.1 07-Aug-2002  lukem Pull up revision 1.17 (requested by itojun in ticket #616):
integer overflow. from silvio@qualys.com
 1.16.4.1 31-Aug-2002  gehenna catch up with -current.
 1.18.6.5 24-Jan-2005  skrll Adapt to branch.
 1.18.6.4 18-Dec-2004  skrll Sync with HEAD.
 1.18.6.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.18.6.2 18-Sep-2004  skrll Sync with HEAD.
 1.18.6.1 03-Aug-2004  skrll Sync with HEAD
 1.21.10.3 03-Sep-2007  yamt sync with head.
 1.21.10.2 30-Dec-2006  yamt sync with head.
 1.21.10.1 21-Jun-2006  yamt sync with head.
 1.22.14.1 19-Jun-2006  chap Sync with head.
 1.22.8.1 26-Jun-2006  yamt sync with head.
 1.22.6.1 01-Jun-2006  kardel Sync with head.
 1.22.4.1 09-Sep-2006  rpaulo sync with head
 1.23.8.1 22-Oct-2006  yamt sync with head
 1.23.6.1 18-Nov-2006  ad Sync with head.
 1.24.4.1 12-Mar-2007  rmind Sync with HEAD.
 1.25.58.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.25.52.1 28-Apr-2009  skrll Sync with HEAD.
 1.25.44.1 04-May-2009  yamt sync with head.
 1.27.22.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.27.12.1 30-Oct-2012  yamt sync with head
 1.28.52.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.29.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.6 05-Jul-2024  andvar Fix various typos in comments.
 1.5 03-Jul-2022  andvar branches: 1.5.10;
fix various typos in comments, mainly s/pallete/palette/.
 1.4 11-Dec-2005  christos merge ktrace-lwp.
 1.3 04-Jan-2004  wiz Spell controller with two ls. Inspired by miod@openbsd.
 1.2 10-Nov-2003  wiz Spell address with two d's. Inspired by similar changes in OpenBSD,
originating from Jonathon Gray and forwarded by jmc@openbsd.
 1.1 02-Oct-2000  sato branches: 1.1.2; 1.1.26;
experimental ite8181 video driver for hpcfb.
- just copy from bivideo.
- erase WindowsCE hardware cursor initialy.
- LCD power management codes exist, but currently disabled.
Because some devices(include ite8181) confuse after LCD power turn on.
WorkPad z50 power unit seem to be very weak,
 1.1.26.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.26.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.26.1 03-Aug-2004  skrll Sync with HEAD
 1.1.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.2.1 02-Oct-2000  bouyer file ite8181reg.h was added on branch thorpej_scsipi on 2000-11-20 20:46:02 +0000
 1.5.10.1 02-Aug-2025  perseant Sync with HEAD
 1.7 27-Oct-2012  chs split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.6 16-Sep-2001  uch branches: 1.6.4; 1.6.160; 1.6.170;
ANSIfy, KNF.
 1.5 26-Mar-2001  sato branches: 1.5.2; 1.5.4;
o Change initialization for config_hook() base lcd control.
o Fix backlight control in case that light is controlable but not be
able to get status.
o change some verbose prints.
 1.4 09-Mar-2001  sato support WSDISPLAYIO_SVIDEO/WSDISPLAYIO_GVIDEO.
lcd on/off
 1.3 27-Feb-2001  sato branches: 1.3.2;
* add WSDISPLAYIO_PARAM_BACKLIGHT, WSDISPLAYIO_PARAM_CONTRAST,
WSDISPLAYIO_PARAM_BRIGHTNESS supports.
 1.2 22-Feb-2001  uch hpc common files are moved to dev/hpc.
 1.1 02-Oct-2000  sato branches: 1.1.2;
experimental ite8181 video driver for hpcfb.
- just copy from bivideo.
- erase WindowsCE hardware cursor initialy.
- LCD power management codes exist, but currently disabled.
Because some devices(include ite8181) confuse after LCD power turn on.
WorkPad z50 power unit seem to be very weak,
 1.1.2.4 27-Mar-2001  bouyer Sync with HEAD.
 1.1.2.3 12-Mar-2001  bouyer Sync with HEAD.
 1.1.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.2.1 02-Oct-2000  bouyer file ite8181var.h was added on branch thorpej_scsipi on 2000-11-20 20:46:02 +0000
 1.3.2.1 09-Apr-2001  nathanw Catch up with -current.
 1.5.4.1 01-Oct-2001  fvdl Catch up with -current.
 1.5.2.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.6.170.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.6.160.1 30-Oct-2012  yamt sync with head
 1.6.4.2 16-Sep-2001  uch ANSIfy, KNF.
 1.6.4.1 16-Sep-2001  uch file ite8181var.h was added on branch nathanw_sa on 2001-09-16 05:32:19 +0000
 1.16 07-Sep-2021  rin Make this compile again.

XXX
Unfortunately, kernel does not boot on TX3922-based machines...
 1.15 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.14 24-Apr-2021  thorpej branches: 1.14.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.13 27-Oct-2012  chs branches: 1.13.52;
split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.12 28-Apr-2008  martin branches: 1.12.34; 1.12.44;
Remove clause 3 and 4 from TNF licenses
 1.11 04-Mar-2006  peter branches: 1.11.68; 1.11.70; 1.11.72;
Fix a typo.
 1.10 11-Dec-2005  christos branches: 1.10.4; 1.10.6;
merge ktrace-lwp.
 1.9 15-Jul-2003  lukem branches: 1.9.16;
__KERNEL_RCSID()
 1.8 02-Oct-2002  thorpej branches: 1.8.6;
Use CFATTACH_DECL().
 1.7 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.6 29-Jan-2002  uch clean up debug print and configuration.
 1.5 15-Sep-2001  uch branches: 1.5.4;
ANSIfy, KNF, change my copyright.
 1.4 22-Feb-2001  uch branches: 1.4.2; 1.4.4;
hpc common files are moved to dev/hpc.
 1.3 21-Sep-2000  takemura branches: 1.3.2;
skbd -> hpckbd. hpckbd supports vrkiu as well as m38813c and tc5165.
 1.2 03-Jan-2000  uch Change tx_poll_establish implementation and interface.
 1.1 08-Dec-1999  uch branches: 1.1.2;
MITUBISHI M38813 keyboard controller.
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.3.2.3 12-Mar-2001  bouyer Sync with HEAD.
 1.3.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.3.2.1 21-Sep-2000  bouyer file m38813c.c was added on branch thorpej_scsipi on 2000-11-20 20:46:02 +0000
 1.4.4.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.4.4.2 11-Feb-2002  jdolecek Sync w/ -current.
 1.4.4.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.4.2.1 01-Oct-2001  fvdl Catch up with -current.
 1.5.4.3 18-Oct-2002  nathanw Catch up to -current.
 1.5.4.2 28-Feb-2002  nathanw Catch up to -current.
 1.5.4.1 15-Sep-2001  nathanw file m38813c.c was added on branch nathanw_sa on 2002-02-28 04:09:54 +0000
 1.8.6.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.8.6.2 18-Sep-2004  skrll Sync with HEAD.
 1.8.6.1 03-Aug-2004  skrll Sync with HEAD
 1.9.16.1 21-Jun-2006  yamt sync with head.
 1.10.6.1 22-Apr-2006  simonb Sync with head.
 1.10.4.1 09-Sep-2006  rpaulo sync with head
 1.11.72.1 16-May-2008  yamt sync with head.
 1.11.70.1 18-May-2008  yamt sync with head.
 1.11.68.1 02-Jun-2008  mjf Sync with HEAD.
 1.12.44.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.12.34.1 30-Oct-2012  yamt sync with head
 1.13.52.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.14.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.3 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.2 15-Sep-2001  uch branches: 1.2.4; 1.2.122; 1.2.124; 1.2.126;
ANSIfy, KNF, change my copyright.
 1.1 08-Dec-1999  uch branches: 1.1.2; 1.1.8; 1.1.10; 1.1.12;
MITUBISHI M38813 keyboard controller.
 1.1.12.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.10.1 01-Oct-2001  fvdl Catch up with -current.
 1.1.8.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.8.1 08-Dec-1999  bouyer file m38813cvar.h was added on branch thorpej_scsipi on 2000-11-20 20:46:03 +0000
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.2.126.1 16-May-2008  yamt sync with head.
 1.2.124.1 18-May-2008  yamt sync with head.
 1.2.122.1 02-Jun-2008  mjf Sync with HEAD.
 1.2.4.2 15-Sep-2001  uch ANSIfy, KNF, change my copyright.
 1.2.4.1 15-Sep-2001  uch file m38813cvar.h was added on branch nathanw_sa on 2001-09-15 12:47:06 +0000
 1.3 28-Jan-2001  uch Switch to MI md_root.c.
 1.2 09-Jan-2000  shin md_root.c: #include "opt_mdsize.h"
machdep.c: add 'ifdef' to compile without 'options DDB'
 1.1 16-Sep-1999  takemura branches: 1.1.1;
Initial revision
 1.1.1.1 16-Sep-1999  takemura branches: 1.1.1.1.2;
Import NetBSD/hpcmips source files from hpcmips repository.
file list:
sys/arch/hpcmips/
distrib/hpcmips/
etc/etc.hpcmips/
lib/libc/arch/mips/fplib/
lib/libc/arch/mips/fplib/Makefile.inc
lib/libc/arch/mips/fplib/environment.h
lib/libc/arch/mips/fplib/fplib_glue.c
lib/libc/arch/mips/fplib/fplib_libc.c
lib/libc/arch/mips/fplib/hpcmips-gcc.h
lib/libc/arch/mips/fplib/softfloat-macros.h
lib/libc/arch/mips/fplib/softfloat-specialize.h
lib/libc/arch/mips/fplib/softfloat.c
lib/libc/arch/mips/fplib/softfloat.h
lib/libc/arch/mips/gen/ieee.h
lib/libc/arch/mips/gen/sf_fabs.c
lib/libc/arch/mips/gen/sf_flt_rounds.c
lib/libc/arch/mips/gen/sf_fpgetmask.c
lib/libc/arch/mips/gen/sf_fpgetround.c
lib/libc/arch/mips/gen/sf_fpgetsticky.c
lib/libc/arch/mips/gen/sf_fpsetmask.c
lib/libc/arch/mips/gen/sf_fpsetround.c
lib/libc/arch/mips/gen/sf_fpsetsticky.c
lib/libc/arch/mips/gen/sf_isinf.c
lib/libc/arch/mips/gen/sf_ldexp.c
lib/libc/arch/mips/gen/sf_modf.c
 1.1.1.1.2.2 11-Feb-2001  bouyer Sync with HEAD.
 1.1.1.1.2.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.36 28-May-2022  andvar fixed typo with another typo in my last commit. fixing it again.
 1.35 28-May-2022  andvar fix various typos, mainly in comments.
 1.34 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.33 24-Apr-2021  thorpej branches: 1.33.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.32 26-Jun-2015  matt branches: 1.32.32;
Cleanup includes
 1.31 27-Oct-2012  chs branches: 1.31.14;
split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.30 18-Mar-2009  cegger branches: 1.30.12; 1.30.22;
bzero -> memset
 1.29 14-Mar-2009  dsl ANSIfy another 1261 function definitions.
The only ones left in sys are beyond by sed script!
(or in sys/dist or sys/external)
Mostly they have function pointer parameters.
 1.28 04-Mar-2007  christos branches: 1.28.44; 1.28.52; 1.28.58;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.27 24-Sep-2006  jmcneill branches: 1.27.4;
Add "name" parameter to powerhook_establish, to aid debugging. No objections
on tech-kern@
 1.26 26-May-2006  blymn branches: 1.26.6; 1.26.8;
Clean up bogus whitespace
 1.25 11-Dec-2005  christos branches: 1.25.4; 1.25.6; 1.25.8; 1.25.14;
merge ktrace-lwp.
 1.24 12-Dec-2004  abs branches: 1.24.10;
Fix comments regarding configration bounaries
 1.23 13-Nov-2003  chs eliminate uvm_useracc() in favor of checking the return value of
copyin() or copyout().

uvm_useracc() tells us whether the mapping permissions allow access to
the desired part of an address space, and many callers assume that
this is the same as knowing whether an attempt to access that part of
the address space will succeed. however, access to user space can
fail for reasons other than insufficient permission, most notably that
paging in any non-resident data can fail due to i/o errors. most of
the callers of uvm_useracc() make the above incorrect assumption. the
rest are all misguided optimizations, which optimize for the case
where an operation will fail. we'd rather optimize for operations
succeeding, in which case we should just attempt the access and handle
failures due to insufficient permissions the same way we handle i/o
errors. since there appear to be no good uses of uvm_useracc(), we'll
just remove it.
 1.22 15-Jul-2003  lukem __KERNEL_RCSID()
 1.21 06-Aug-2002  itojun branches: 1.21.6;
integer overflow. from silvio@qualys.com
 1.20 14-Apr-2002  takemura branches: 1.20.2; 1.20.4;
Fixed 8bpp problem of mq200.
 1.19 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.18 16-Sep-2001  uch branches: 1.18.4;
ANSIfy, KNF.
 1.17 22-Jul-2001  takemura branches: 1.17.2;
You must set 'HPCFB_SWAP_*' if bytes are stored in reverse order, i.e.
little endian like order, however, usage of 'HPCFB_SWAP_*' was widely
misunderstood because it reminded you of 'RI_BSWAP' in raster operation.
Please note that 'RI_BSWAP' indicate that frame buffer byte order is different
from natural order of system while 'HPCFB_REVORDER_*' is independent of
system byte order.
 1.16 17-Jul-2001  toshii "infomation" -> "information"
 1.15 11-Jun-2001  sato branches: 1.15.2;
not set HPCFB_SWAP_BYTE.
 1.14 26-Mar-2001  sato o Change initialization for config_hook() base lcd control.
o Fix backlight control in case that light is controlable but not be
able to get status.
o change some verbose prints.
 1.13 25-Mar-2001  takemura Add MQ200_USECRT option, which enables CRT output on MC/R530.
This is kernel configuration option and you can't enable and disable CRT
dynamically for now.
 1.12 12-Mar-2001  sato * assume backlight is on if backlight value cannot get.
* move the lcd control codes used config_hook_call()
in *_hardpower() to *_power().
 1.11 09-Mar-2001  sato support WSDISPLAYIO_SVIDEO/WSDISPLAYIO_GVIDEO.
lcd on/off
 1.10 27-Feb-2001  sato branches: 1.10.2;
* add WSDISPLAYIO_PARAM_BACKLIGHT, WSDISPLAYIO_PARAM_CONTRAST,
WSDISPLAYIO_PARAM_BRIGHTNESS supports.
 1.9 22-Feb-2001  uch hpc common files are moved to dev/hpc.
 1.8 15-Feb-2001  sato * show framebuffer address in boot time.
 1.7 21-Jan-2001  takemura Use rasops with 4bit depth.
 1.6 05-Jan-2001  sato - print debug message for WSDISPLAYIO_GETPARAM/WSDISPLAYIO_SETPARAM
when boot verbose mode.
for debuging LCD control and/or keyboard cmds.
 1.5 21-Dec-2000  sato fix sc->sc_fbconf.hf_offset calculation.
 1.4 03-Dec-2000  takemura Change hf_baseaddr usage. Now it potins frame buffer start address instead
of hf_baseadd + hf_offset. You should use hf_baseaddr only in kernel and
you should use hf_offset only with mmap system call from userland.
 1.3 26-Nov-2000  takemura You can map mq200 registers as well as frame buffer.
(This little change has already contains release 1.5 branch by my mistake)
 1.2 02-Oct-2000  sato branches: 1.2.2;
- DPRINTF -> VPRINTF for verbose.
- don't attach other video driver under hpcfb.
 1.1 22-Jul-2000  takemura branches: 1.1.2;
Experimental MQ200 video driver. It's just copy of bivideo plus power
management routine.
 1.1.2.3 04-Sep-2002  itojun pullup (itojun)

sys/arch/amiga/dev/grf_cv3d.c 1.11
sys/arch/hpcmips/dev/mq200.c 1.21
sys/arch/i386/i386/sys_machdep.c 1.64
sys/arch/luna68k/dev/lunafb.c 1.9
sys/arch/sparc/dev/bt_subr.c via patch
sys/arch/sparc64/dev/bt_subr.c via patch
sys/arch/sun3/dev/bt_subr.c via patch
sys/compat/ibcs2/ibcs2_stat.c 1.21-1.23
sys/dev/sun/bt_subr.c 1.3
sys/dev/tc/cfb.c 1.34
sys/dev/tc/sfb.c 1.53
sys/dev/tc/xcfb.c 1.29
integer overflow. reported by silvio@qualys.com
 1.1.2.2 06-Aug-2000  takemura Pull up revision 1.1 (new, requested by takemura)

New power management function and MQ200 video power management driver.
 1.1.2.1 22-Jul-2000  takemura file mq200.c was added on branch netbsd-1-5 on 2000-08-06 03:56:41 +0000
 1.2.2.7 27-Mar-2001  bouyer Sync with HEAD.
 1.2.2.6 12-Mar-2001  bouyer Sync with HEAD.
 1.2.2.5 11-Feb-2001  bouyer Sync with HEAD.
 1.2.2.4 05-Jan-2001  bouyer Sync with HEAD
 1.2.2.3 08-Dec-2000  bouyer Sync with HEAD.
 1.2.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.2.2.1 02-Oct-2000  bouyer file mq200.c was added on branch thorpej_scsipi on 2000-11-20 20:46:04 +0000
 1.10.2.2 21-Jun-2001  nathanw Catch up to -current.
 1.10.2.1 09-Apr-2001  nathanw Catch up with -current.
 1.15.2.4 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.15.2.3 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.15.2.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.15.2.1 03-Aug-2001  lukem update to -current
 1.17.2.1 01-Oct-2001  fvdl Catch up with -current.
 1.18.4.4 13-Aug-2002  nathanw Catch up to -current.
 1.18.4.3 17-Apr-2002  nathanw Catch up to -current.
 1.18.4.2 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.18.4.1 16-Sep-2001  nathanw file mq200.c was added on branch nathanw_sa on 2002-04-01 07:40:24 +0000
 1.20.4.1 07-Aug-2002  lukem Pull up revision 1.21 (requested by itojun in ticket #616):
integer overflow. from silvio@qualys.com
 1.20.2.1 31-Aug-2002  gehenna catch up with -current.
 1.21.6.5 24-Jan-2005  skrll Adapt to branch.
 1.21.6.4 18-Dec-2004  skrll Sync with HEAD.
 1.21.6.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.21.6.2 18-Sep-2004  skrll Sync with HEAD.
 1.21.6.1 03-Aug-2004  skrll Sync with HEAD
 1.24.10.3 03-Sep-2007  yamt sync with head.
 1.24.10.2 30-Dec-2006  yamt sync with head.
 1.24.10.1 21-Jun-2006  yamt sync with head.
 1.25.14.1 19-Jun-2006  chap Sync with head.
 1.25.8.1 26-Jun-2006  yamt sync with head.
 1.25.6.1 01-Jun-2006  kardel Sync with head.
 1.25.4.1 09-Sep-2006  rpaulo sync with head
 1.26.8.1 22-Oct-2006  yamt sync with head
 1.26.6.1 18-Nov-2006  ad Sync with head.
 1.27.4.1 12-Mar-2007  rmind Sync with HEAD.
 1.28.58.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.28.52.1 28-Apr-2009  skrll Sync with HEAD.
 1.28.44.1 04-May-2009  yamt sync with head.
 1.30.22.2 03-Dec-2017  jdolecek update from HEAD
 1.30.22.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.30.12.1 30-Oct-2012  yamt sync with head
 1.31.14.1 22-Sep-2015  skrll Sync with HEAD
 1.32.32.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.33.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.6 20-Dec-2023  thorpej Remove unnecessary <sys/malloc.h>.
 1.5 27-Oct-2012  chs split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.4 02-Oct-2002  thorpej branches: 1.4.146; 1.4.156;
Use CFATTACH_DECL().
 1.3 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.2 11-May-2002  takemura branches: 1.2.6; 1.2.8;
Just deleted junk lines.
 1.1 11-May-2002  takemura BUGFIX: Xhpc dumps core on SigmarionII.
Attached MQ200 video controller at PCI bus.
 1.2.8.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.2.8.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.2.8.1 11-May-2002  jdolecek file mq200_pci.c was added on branch kqueue on 2002-06-23 17:36:51 +0000
 1.2.6.3 18-Oct-2002  nathanw Catch up to -current.
 1.2.6.2 20-Jun-2002  nathanw Catch up to -current.
 1.2.6.1 11-May-2002  nathanw file mq200_pci.c was added on branch nathanw_sa on 2002-06-20 03:38:48 +0000
 1.4.156.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.4.146.1 30-Oct-2012  yamt sync with head
 1.7 05-Jul-2024  andvar fix various typos in comments and log messages, mainly s/hight/high/
s/hight/height/ and removing double m in time(ing).
 1.6 26-Mar-2014  christos branches: 1.6.66;
- kill sprintf
- fix unused
 1.5 11-Dec-2005  christos branches: 1.5.112; 1.5.122; 1.5.128;
merge ktrace-lwp.
 1.4 07-Jun-2005  he Sprinkle some const around to make these files compile with -Wcast-qual.
 1.3 06-Apr-2004  tv Allow compilation without MQ200_DEBUG: mq200_clknames is used outside of
debugging-only code.
 1.2 15-Jul-2003  lukem branches: 1.2.2;
__KERNEL_RCSID()
 1.1 25-Mar-2001  takemura branches: 1.1.2; 1.1.4; 1.1.12; 1.1.28;
Add MQ200_USECRT option, which enables CRT output on MC/R530.
This is kernel configuration option and you can't enable and disable CRT
dynamically for now.
 1.1.28.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.1.28.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.28.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.28.1 03-Aug-2004  skrll Sync with HEAD
 1.1.12.2 25-Mar-2001  takemura Add MQ200_USECRT option, which enables CRT output on MC/R530.
This is kernel configuration option and you can't enable and disable CRT
dynamically for now.
 1.1.12.1 25-Mar-2001  takemura file mq200debug.c was added on branch nathanw_sa on 2001-03-25 13:06:54 +0000
 1.1.4.1 09-Apr-2001  nathanw Catch up with -current.
 1.1.2.2 27-Mar-2001  bouyer Sync with HEAD.
 1.1.2.1 25-Mar-2001  bouyer file mq200debug.c was added on branch thorpej_scsipi on 2001-03-27 15:30:54 +0000
 1.2.2.1 07-Apr-2004  jmc Pullup rev 1.3 (requested by tv in ticket #76)

Allow compilation without MQ200_DEBUG: mq200_clknames is used outside of
debugging-only code.
 1.5.128.1 18-May-2014  rmind sync with head
 1.5.122.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.5.112.1 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.6.66.1 02-Aug-2025  perseant Sync with HEAD
 1.6 17-Oct-2007  garbled Merge the ppcoea-renovation branch to HEAD.

This branch was a major cleanup and rototill of many of the various OEA
cpu based PPC ports that focused on sharing as much code as possible
between the various ports to eliminate near-identical copies of files in
every tree. Additionally there is a new PIC system that unifies the
interface to interrupt code for all different OEA ppc arches. The work
for this branch was done by a variety of people, too long to list here.

TODO:
bebox still needs work to complete the transition to -renovation.
ofppc still needs a bunch of work, which I will be looking at.
ev64260 still needs to be renovated
amigappc was not attempted.

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.5 13-Jul-2007  kiyohara branches: 1.5.10;
There is a possibility that TLB-miss is caused in mq200_mdsetup().
 1.4 11-Dec-2005  christos branches: 1.4.24; 1.4.30; 1.4.38; 1.4.40;
merge ktrace-lwp.
 1.3 04-Oct-2003  imp branches: 1.3.16;
The Mobile Pro 780 is the same as the MobileGear II MC/R530. In fact,
its platform code is R530A. As such, the external video patches for
the R530 work for the '780. This gives a 640x480 video out (but only
the middle 240 pixels are used, to match the lcd resolution) on the
console and in X11.
 1.2 15-Jul-2003  lukem __KERNEL_RCSID()
 1.1 25-Mar-2001  takemura branches: 1.1.2; 1.1.4; 1.1.12; 1.1.28;
Add MQ200_USECRT option, which enables CRT output on MC/R530.
This is kernel configuration option and you can't enable and disable CRT
dynamically for now.
 1.1.28.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.28.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.28.1 03-Aug-2004  skrll Sync with HEAD
 1.1.12.2 25-Mar-2001  takemura Add MQ200_USECRT option, which enables CRT output on MC/R530.
This is kernel configuration option and you can't enable and disable CRT
dynamically for now.
 1.1.12.1 25-Mar-2001  takemura file mq200machdep.c was added on branch nathanw_sa on 2001-03-25 13:06:54 +0000
 1.1.4.1 09-Apr-2001  nathanw Catch up with -current.
 1.1.2.2 27-Mar-2001  bouyer Sync with HEAD.
 1.1.2.1 25-Mar-2001  bouyer file mq200machdep.c was added on branch thorpej_scsipi on 2001-03-27 15:30:55 +0000
 1.3.16.1 03-Sep-2007  yamt sync with head.
 1.4.40.1 06-Jan-2008  wrstuden Catch up to netbsd-4.0 release.
 1.4.38.1 03-Oct-2007  garbled Sync with HEAD
 1.4.30.1 15-Jul-2007  ad Sync with head.
 1.4.24.1 25-Nov-2007  xtraeme Pull up following revision(s) (requested by kiyohara in ticket #997):
sys/arch/hpcmips/dev/mq200machdep.c: revision 1.5
There is a possibility that TLB-miss is caused in mq200_mdsetup().
 1.5.10.1 06-Nov-2007  matt sync with HEAD
 1.4 11-Dec-2005  christos merge ktrace-lwp.
 1.3 07-Jun-2005  he Sprinkle some const around to make these files compile with -Wcast-qual.
 1.2 27-Dec-2003  takemura Initialized variables and added error handling in mq200_pllparam().
 1.1 25-Mar-2001  takemura branches: 1.1.2; 1.1.4; 1.1.12; 1.1.28;
Add MQ200_USECRT option, which enables CRT output on MC/R530.
This is kernel configuration option and you can't enable and disable CRT
dynamically for now.
 1.1.28.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.1.28.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.28.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.28.1 03-Aug-2004  skrll Sync with HEAD
 1.1.12.2 25-Mar-2001  takemura Add MQ200_USECRT option, which enables CRT output on MC/R530.
This is kernel configuration option and you can't enable and disable CRT
dynamically for now.
 1.1.12.1 25-Mar-2001  takemura file mq200priv.h was added on branch nathanw_sa on 2001-03-25 13:06:54 +0000
 1.1.4.1 09-Apr-2001  nathanw Catch up with -current.
 1.1.2.2 27-Mar-2001  bouyer Sync with HEAD.
 1.1.2.1 25-Mar-2001  bouyer file mq200priv.h was added on branch thorpej_scsipi on 2001-03-27 15:30:55 +0000
 1.12 23-May-2024  andvar fix typos in comments.
 1.11 28-Feb-2010  snj Fight the ever-increasing size of src checkouts by spelling "useful"
without an extra l.
 1.10 11-Dec-2005  christos branches: 1.10.78; 1.10.98;
merge ktrace-lwp.
 1.9 12-Dec-2004  abs Fix comments regarding configration bounaries
 1.8 04-Jan-2004  wiz Spell controller with two ls. Inspired by miod@openbsd.
 1.7 11-May-2002  takemura branches: 1.7.10;
BUGFIX: Xhpc dumps core on SigmarionII.
Attached MQ200 video controller at PCI bus.
 1.6 25-Mar-2001  takemura branches: 1.6.2; 1.6.8;
Add MQ200_USECRT option, which enables CRT output on MC/R530.
This is kernel configuration option and you can't enable and disable CRT
dynamically for now.
 1.5 11-Mar-2001  takemura Fix definition of MQ200_GCR(n). This definition was quite bad!
 1.4 07-Jan-2001  takemura branches: 1.4.2;
Add some definitions.
 1.3 03-Dec-2000  takemura - CRT control exists only in GC01R.
- add some symbols.
- fix some typo.
 1.2 26-Nov-2000  takemura You can map mq200 registers as well as frame buffer.
(This little change has already contains release 1.5 branch by my mistake)
 1.1 22-Jul-2000  takemura branches: 1.1.2; 1.1.4;
Experimental MQ200 video driver. It's just copy of bivideo plus power
management routine.
 1.1.4.6 27-Mar-2001  bouyer Sync with HEAD.
 1.1.4.5 12-Mar-2001  bouyer Sync with HEAD.
 1.1.4.4 18-Jan-2001  bouyer Sync with head (for UBC+NFS fixes, mostly).
 1.1.4.3 08-Dec-2000  bouyer Sync with HEAD.
 1.1.4.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.4.1 22-Jul-2000  bouyer file mq200reg.h was added on branch thorpej_scsipi on 2000-11-20 20:46:04 +0000
 1.1.2.2 06-Aug-2000  takemura Pull up revision 1.1 (new, requested by takemura)

New power management function and MQ200 video power management driver.
 1.1.2.1 22-Jul-2000  takemura file mq200reg.h was added on branch netbsd-1-5 on 2000-08-06 03:56:42 +0000
 1.4.2.1 09-Apr-2001  nathanw Catch up with -current.
 1.6.8.2 20-Jun-2002  nathanw Catch up to -current.
 1.6.8.1 25-Mar-2001  nathanw file mq200reg.h was added on branch nathanw_sa on 2002-06-20 03:38:48 +0000
 1.6.2.1 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.7.10.4 18-Dec-2004  skrll Sync with HEAD.
 1.7.10.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.7.10.2 18-Sep-2004  skrll Sync with HEAD.
 1.7.10.1 03-Aug-2004  skrll Sync with HEAD
 1.10.98.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.10.78.1 11-Mar-2010  yamt sync with head
 1.7 21-Aug-2019  msaitoh Fix typo (s/contoller/controller/).
 1.6 11-Dec-2005  christos branches: 1.6.166;
merge ktrace-lwp.
 1.5 27-Dec-2003  takemura Initialized variables and added error handling in mq200_pllparam().
 1.4 15-Jul-2003  lukem __KERNEL_RCSID()
 1.3 27-Sep-2002  provos branches: 1.3.6;
remove trailing \n in panic(). approved perry.
 1.2 11-May-2002  takemura BUGFIX: Xhpc dumps core on SigmarionII.
Attached MQ200 video controller at PCI bus.
 1.1 25-Mar-2001  takemura branches: 1.1.2; 1.1.4; 1.1.6; 1.1.12;
Add MQ200_USECRT option, which enables CRT output on MC/R530.
This is kernel configuration option and you can't enable and disable CRT
dynamically for now.
 1.1.12.3 18-Oct-2002  nathanw Catch up to -current.
 1.1.12.2 20-Jun-2002  nathanw Catch up to -current.
 1.1.12.1 25-Mar-2001  nathanw file mq200subr.c was added on branch nathanw_sa on 2002-06-20 03:38:49 +0000
 1.1.6.2 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.1.6.1 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.4.1 09-Apr-2001  nathanw Catch up with -current.
 1.1.2.2 27-Mar-2001  bouyer Sync with HEAD.
 1.1.2.1 25-Mar-2001  bouyer file mq200subr.c was added on branch thorpej_scsipi on 2001-03-27 15:30:55 +0000
 1.3.6.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.3.6.2 18-Sep-2004  skrll Sync with HEAD.
 1.3.6.1 03-Aug-2004  skrll Sync with HEAD
 1.6.166.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.8 27-Oct-2012  chs split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.7 16-Sep-2001  uch branches: 1.7.4; 1.7.160; 1.7.170;
ANSIfy, KNF.
 1.6 26-Mar-2001  sato branches: 1.6.2; 1.6.4;
o Change initialization for config_hook() base lcd control.
o Fix backlight control in case that light is controlable but not be
able to get status.
o change some verbose prints.
 1.5 25-Mar-2001  takemura Add MQ200_USECRT option, which enables CRT output on MC/R530.
This is kernel configuration option and you can't enable and disable CRT
dynamically for now.
 1.4 09-Mar-2001  sato support WSDISPLAYIO_SVIDEO/WSDISPLAYIO_GVIDEO.
lcd on/off
 1.3 27-Feb-2001  sato branches: 1.3.2;
* add WSDISPLAYIO_PARAM_BACKLIGHT, WSDISPLAYIO_PARAM_CONTRAST,
WSDISPLAYIO_PARAM_BRIGHTNESS supports.
 1.2 22-Feb-2001  uch hpc common files are moved to dev/hpc.
 1.1 22-Jul-2000  takemura branches: 1.1.2; 1.1.4;
Experimental MQ200 video driver. It's just copy of bivideo plus power
management routine.
 1.1.4.4 27-Mar-2001  bouyer Sync with HEAD.
 1.1.4.3 12-Mar-2001  bouyer Sync with HEAD.
 1.1.4.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.4.1 22-Jul-2000  bouyer file mq200var.h was added on branch thorpej_scsipi on 2000-11-20 20:46:04 +0000
 1.1.2.2 06-Aug-2000  takemura Pull up revision 1.1 (new, requested by takemura)

New power management function and MQ200 video power management driver.
 1.1.2.1 22-Jul-2000  takemura file mq200var.h was added on branch netbsd-1-5 on 2000-08-06 03:56:42 +0000
 1.3.2.1 09-Apr-2001  nathanw Catch up with -current.
 1.6.4.1 01-Oct-2001  fvdl Catch up with -current.
 1.6.2.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.7.170.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.7.160.1 30-Oct-2012  yamt sync with head
 1.7.4.2 16-Sep-2001  uch ANSIfy, KNF.
 1.7.4.1 16-Sep-2001  uch file mq200var.h was added on branch nathanw_sa on 2001-09-16 05:32:19 +0000
 1.2 22-Feb-2001  uch hpc common files are moved to dev/hpc.
 1.1 10-Jan-2000  takemura branches: 1.1.6;
WSMOUSE_SCALIBCOORDS/WSMOUSE_GCALIBCOORDS support.
 1.1.6.3 12-Mar-2001  bouyer Sync with HEAD.
 1.1.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.6.1 10-Jan-2000  bouyer file mra.c was added on branch thorpej_scsipi on 2000-11-20 20:46:05 +0000
 1.9 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.8 24-Apr-2021  thorpej branches: 1.8.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.7 27-Oct-2012  chs branches: 1.7.52;
split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.6 04-Mar-2007  christos branches: 1.6.78; 1.6.88;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.5 12-Nov-2006  plunky branches: 1.5.4;
Tidy away wsmouse_input() abstractions and update
documentation to include the W direction.
 1.4 16-Apr-2006  nakayama branches: 1.4.8; 1.4.10;
Follow the ktrace-lwp merge.
 1.3 11-Dec-2005  christos branches: 1.3.4; 1.3.6; 1.3.8; 1.3.10; 1.3.12;
merge ktrace-lwp.
 1.2 09-May-2005  hamajima branches: 1.2.2; 1.2.4; 1.2.10;
Fix buttons arg of wsmouse_input().
Add hard power hook. disable at suspend, enable at resume.
 1.1 04-May-2005  hamajima branches: 1.1.2;
OptPoint on Telios HC-AJ2 (and maybe AJ1) support
 1.1.2.3 02-Sep-2005  riz Pull up following revision(s) (requested by hamajima in ticket #720):
sys/arch/hpcmips/dev/optpoint.c: revision 1.2
Fix buttons arg of wsmouse_input().
Add hard power hook. disable at suspend, enable at resume.
 1.1.2.2 07-May-2005  tron Pull up revision 1.1 (requested by hamajima in ticket #247):
OptPoint on Telios HC-AJ2 (and maybe AJ1) support
 1.1.2.1 04-May-2005  tron file optpoint.c was added on branch netbsd-3 on 2005-05-07 11:34:57 +0000
 1.2.10.2 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.2.10.1 09-May-2005  skrll file optpoint.c was added on branch ktrace-lwp on 2005-11-10 13:56:27 +0000
 1.2.4.3 03-Sep-2007  yamt sync with head.
 1.2.4.2 30-Dec-2006  yamt sync with head.
 1.2.4.1 21-Jun-2006  yamt sync with head.
 1.2.2.3 31-Aug-2005  riz Pull up following revision(s) (requested by hamajima in ticket #5625):
sys/arch/hpcmips/dev/optpoint.c: revision 1.2
Fix buttons arg of wsmouse_input().
Add hard power hook. disable at suspend, enable at resume.
 1.2.2.2 16-May-2005  riz Pull up revision 1.1 (requested by hamajima in ticket #1500):
OptPoint on Telios HC-AJ2 (and maybe AJ1) support
 1.2.2.1 09-May-2005  riz file optpoint.c was added on branch netbsd-2 on 2005-05-16 21:05:26 +0000
 1.3.12.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.3.10.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.3.8.1 24-May-2006  yamt sync with head.
 1.3.6.1 22-Apr-2006  simonb Sync with head.
 1.3.4.1 09-Sep-2006  rpaulo sync with head
 1.4.10.1 10-Dec-2006  yamt sync with head.
 1.4.8.1 18-Nov-2006  ad Sync with head.
 1.5.4.1 12-Mar-2007  rmind Sync with HEAD.
 1.6.88.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.6.78.1 30-Oct-2012  yamt sync with head
 1.7.52.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.8.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.4 07-Jan-2000  uch p7416buf and tc5165buf are merged.
 1.3 03-Jan-2000  uch Change tx_poll_establish implementation and interface.
 1.2 08-Dec-1999  uch branches: 1.2.2;
fix typo.
 1.1 08-Dec-1999  uch Remove old keyboard driver for Compaq C.
Add driver
PHILIPS 74ALVC1624? buffer chip + simple keyboard driver.
 1.2.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.2 07-Jan-2000  uch p7416buf and tc5165buf are merged.
 1.1 08-Dec-1999  uch branches: 1.1.2;
Remove old keyboard driver for Compaq C.
Add driver
PHILIPS 74ALVC1624? buffer chip + simple keyboard driver.
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.2 22-Feb-2001  uch hpc common files are moved to dev/hpc.
 1.1 04-May-2000  takemura branches: 1.1.6;
Raw keyboard mode support. I'd tested this on MC/R530.
I don't sure if skbd work or not.
 1.1.6.3 12-Mar-2001  bouyer Sync with HEAD.
 1.1.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.6.1 04-May-2000  bouyer file pckbd_encode.c was added on branch thorpej_scsipi on 2000-11-20 20:46:05 +0000
 1.2 22-Feb-2001  uch hpc common files are moved to dev/hpc.
 1.1 04-May-2000  takemura branches: 1.1.6;
Raw keyboard mode support. I'd tested this on MC/R530.
I don't sure if skbd work or not.
 1.1.6.3 12-Mar-2001  bouyer Sync with HEAD.
 1.1.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.6.1 04-May-2000  bouyer file pckbd_encode.h was added on branch thorpej_scsipi on 2000-11-20 20:46:06 +0000
 1.20 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.19 24-Apr-2021  thorpej branches: 1.19.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.18 21-Nov-2020  thorpej branches: 1.18.2;
malloc(9) -> kmem(9)
 1.17 10-Nov-2019  chs branches: 1.17.8;
in many device attach paths, allocate memory with M_WAITOK instead of M_NOWAIT
and remove code to handle failures that can no longer happen.
 1.16 02-Oct-2015  msaitoh branches: 1.16.18;
Fix comiple error. plum(4) is not PCI...
 1.15 02-Oct-2015  msaitoh PCI Extended Configuration stuff written by nonaka@:
- Add PCI Extended Configuration Space support into x86.
- Check register offset of pci_conf_read() in MD part. It returns (pcireg_t)-1
if it isn't accessible.
- Decode Extended Capability in PCI Extended Configuration Space.
Currently the following extended capabilities are decoded:
- Advanced Error Reporting
- Virtual Channel
- Device Serial Number
- Power Budgeting
- Root Complex Link Declaration
- Root Complex Event Collector Association
- Access Control Services
- Alternative Routing-ID Interpretation
- Address Translation Services
- Single Root IO Virtualization
- Page Request
- TPH Requester
- Latency Tolerance Reporting
- Secondary PCI Express
- Process Address Space ID
- LN Requester
- L1 PM Substates
The following extended capabilities are not decoded yet:
- Root Complex Internal Link Control
- Multi-Function Virtual Channel
- RCRB Header
- Vendor Unique
- Configuration Access Correction
- Multiple Root IO Virtualization
- Multicast
- Resizable BAR
- Dynamic Power Allocation
- Protocol Multiplexing
- Downstream Port Containment
- Precision Time Management
- M-PCIe
- Function Reading Status Queueing
- Readiness Time Reporting
- Designated Vendor-Specific
 1.14 27-Oct-2012  chs branches: 1.14.14;
split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.13 28-Apr-2008  martin branches: 1.13.34; 1.13.44;
Remove clause 3 and 4 from TNF licenses
 1.12 11-Dec-2005  christos branches: 1.12.74; 1.12.76; 1.12.78;
merge ktrace-lwp.
 1.11 26-Aug-2005  drochner s/locdesc_t/int/g
 1.10 30-Jun-2005  drochner branches: 1.10.2;
adaptions to config_search() change, and minor autoconf fixes, mostly from Havard Eidnes
 1.9 07-Nov-2003  he Set `reg' before using it to print the unrecognized value.
 1.8 26-Sep-2003  simonb Don't have a label as the last part of a compound statement (fixes a
gcc331 warning).
 1.7 15-Jul-2003  lukem __KERNEL_RCSID()
 1.6 02-Oct-2002  thorpej branches: 1.6.6;
Use CFATTACH_DECL().
 1.5 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.4 27-Sep-2002  thorpej Introduce a new routine, config_match(), which invokes the
cfattach->ca_match function in behalf of the caller. Use it
rather than invoking cfattach->ca_match directly.
 1.3 29-Jan-2002  uch clean up debug print and configuration.
 1.2 15-Sep-2001  uch branches: 1.2.4;
ANSIfy, KNF, change my copyright.
 1.1 21-Nov-1999  uch branches: 1.1.2; 1.1.8; 1.1.10; 1.1.12;
PLUM2(TC6358TB) TX3922 companion chip
 1.1.12.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.1.12.2 11-Feb-2002  jdolecek Sync w/ -current.
 1.1.12.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.10.1 01-Oct-2001  fvdl Catch up with -current.
 1.1.8.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.8.1 21-Nov-1999  bouyer file plum.c was added on branch thorpej_scsipi on 2000-11-20 20:46:06 +0000
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.2.4.3 18-Oct-2002  nathanw Catch up to -current.
 1.2.4.2 28-Feb-2002  nathanw Catch up to -current.
 1.2.4.1 15-Sep-2001  nathanw file plum.c was added on branch nathanw_sa on 2002-02-28 04:09:54 +0000
 1.6.6.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.6.6.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.6.6.2 18-Sep-2004  skrll Sync with HEAD.
 1.6.6.1 03-Aug-2004  skrll Sync with HEAD
 1.10.2.1 21-Jun-2006  yamt sync with head.
 1.12.78.1 16-May-2008  yamt sync with head.
 1.12.76.1 18-May-2008  yamt sync with head.
 1.12.74.1 02-Jun-2008  mjf Sync with HEAD.
 1.13.44.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.13.34.1 30-Oct-2012  yamt sync with head
 1.14.14.1 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.16.18.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.17.8.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.18.2.7 05-Apr-2021  thorpej Decorate the problematic config_probe() calls (non-boolean return value)
with XXX.
 1.18.2.6 05-Apr-2021  thorpej config_match() -> config_probe() for the straight-forward indirect config
cases. There are still a few odd balls using config_match() which should
be sorted out later.
 1.18.2.5 04-Apr-2021  thorpej CFARG_SUBMATCH -> CFARG_SEARCH for the indirect configuration uses.
 1.18.2.4 03-Apr-2021  thorpej Give config_attach() the tagged variadic argument treatment and
mechanically convert all call sites.
 1.18.2.3 21-Mar-2021  thorpej CFARG_IATTR usage audit:

If a device carries only one interface attribute, there is no need
to specify it when calling config_search(); that specification is
meant only to disambiguate which interface attribute (which is a
proxy for "what kind of attach args are being used") is having
children attached. cfparent_match() will take care of ensuring that
any potential children can attach to one of the parent's iterface
attributes, and if the parent only carries one, no disambiguation is
necessary.
 1.18.2.2 20-Mar-2021  thorpej Don't pass the autoconfig print routine as the aux pointer to the
indirect search routine. That argument slot is meant for "attach
args" structures, not function pointers. Besides, no one actually
used it anyway.
 1.18.2.1 20-Mar-2021  thorpej The proliferation if config_search_*() and config_found_*() combinations
is a little absurd, so begin to tidy this up:

- Introduce a new cfarg_t enumerated type, that defines the types of
tag-value variadic arguments that can be passed to the various
config_*() functions (CFARG_SUBMATCH, CFARG_IATTR, and CFARG_LOCATORS,
for now, plus a CFARG_EOL sentinel).
- Collapse config_search_*() into config_search() that takes these
variadic arguments.
- Convert all call sites of config_search_*() to the new signature.
Noticed several incorrect usages along the way, which will be
audited in a future commit.
 1.19.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.13 10-Sep-2023  andvar PLUM2 icu debug code uses dbg_bit_print, defined in hpcmips debug.h header file.
Thus rewrote code to use DPRINTF definition from it and include the header.

Fixes PLUMICUDEBUG enabled build.
 1.12 27-Oct-2012  chs split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.11 28-Apr-2008  martin branches: 1.11.34; 1.11.44;
Remove clause 3 and 4 from TNF licenses
 1.10 24-Dec-2005  perry branches: 1.10.74; 1.10.76; 1.10.78;
__asm__ -> __asm
__const__ -> const
__inline__ -> inline
__volatile__ -> volatile
 1.9 11-Dec-2005  christos merge ktrace-lwp.
 1.8 15-Jul-2003  lukem branches: 1.8.16;
__KERNEL_RCSID()
 1.7 02-Oct-2002  thorpej branches: 1.7.6;
Use CFATTACH_DECL().
 1.6 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.5 29-Jan-2002  uch clean up debug print and configuration.
 1.4 15-Sep-2001  uch branches: 1.4.4;
ANSIfy, KNF, change my copyright.
 1.3 26-Feb-2000  uch branches: 1.3.6; 1.3.8; 1.3.10;
fix lost interrupt bug.
 1.2 07-Dec-1999  uch branches: 1.2.2;
Fix iocorrect defines.
 1.1 21-Nov-1999  uch PLUM2(TC6358TB) TX3922 companion chip
 1.2.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.3.10.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.3.10.2 11-Feb-2002  jdolecek Sync w/ -current.
 1.3.10.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.3.8.1 01-Oct-2001  fvdl Catch up with -current.
 1.3.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.3.6.1 26-Feb-2000  bouyer file plumicu.c was added on branch thorpej_scsipi on 2000-11-20 20:46:07 +0000
 1.4.4.3 18-Oct-2002  nathanw Catch up to -current.
 1.4.4.2 28-Feb-2002  nathanw Catch up to -current.
 1.4.4.1 15-Sep-2001  nathanw file plumicu.c was added on branch nathanw_sa on 2002-02-28 04:09:54 +0000
 1.7.6.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.7.6.2 18-Sep-2004  skrll Sync with HEAD.
 1.7.6.1 03-Aug-2004  skrll Sync with HEAD
 1.8.16.1 21-Jun-2006  yamt sync with head.
 1.10.78.1 16-May-2008  yamt sync with head.
 1.10.76.1 18-May-2008  yamt sync with head.
 1.10.74.1 02-Jun-2008  mjf Sync with HEAD.
 1.11.44.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.11.34.1 30-Oct-2012  yamt sync with head
 1.5 31-May-2022  andvar s/disbale/disable/ and s/enbale/enable/ in comments. also one more typo fix.
 1.4 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.3 15-Sep-2001  uch branches: 1.3.4; 1.3.122; 1.3.124; 1.3.126;
ANSIfy, KNF, change my copyright.
 1.2 07-Dec-1999  uch branches: 1.2.2; 1.2.8; 1.2.10; 1.2.12;
Fix iocorrect defines.
 1.1 21-Nov-1999  uch PLUM2(TC6358TB) TX3922 companion chip
 1.2.12.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.2.10.1 01-Oct-2001  fvdl Catch up with -current.
 1.2.8.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.2.8.1 07-Dec-1999  bouyer file plumicureg.h was added on branch thorpej_scsipi on 2000-11-20 20:46:07 +0000
 1.2.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.3.126.1 16-May-2008  yamt sync with head.
 1.3.124.1 18-May-2008  yamt sync with head.
 1.3.122.1 02-Jun-2008  mjf Sync with HEAD.
 1.3.4.2 15-Sep-2001  uch ANSIfy, KNF, change my copyright.
 1.3.4.1 15-Sep-2001  uch file plumicureg.h was added on branch nathanw_sa on 2001-09-15 12:47:07 +0000
 1.3 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.2 15-Sep-2001  uch branches: 1.2.4; 1.2.122; 1.2.124; 1.2.126;
ANSIfy, KNF, change my copyright.
 1.1 21-Nov-1999  uch branches: 1.1.2; 1.1.8; 1.1.10; 1.1.12;
PLUM2(TC6358TB) TX3922 companion chip
 1.1.12.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.10.1 01-Oct-2001  fvdl Catch up with -current.
 1.1.8.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.8.1 21-Nov-1999  bouyer file plumicuvar.h was added on branch thorpej_scsipi on 2000-11-20 20:46:08 +0000
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.2.126.1 16-May-2008  yamt sync with head.
 1.2.124.1 18-May-2008  yamt sync with head.
 1.2.122.1 02-Jun-2008  mjf Sync with HEAD.
 1.2.4.2 15-Sep-2001  uch ANSIfy, KNF, change my copyright.
 1.2.4.1 15-Sep-2001  uch file plumicuvar.h was added on branch nathanw_sa on 2001-09-15 12:47:07 +0000
 1.19 24-Jan-2022  andvar s/begining/beginning/ in comments and messages.
 1.18 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.17 24-Apr-2021  thorpej branches: 1.17.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.16 21-Nov-2020  thorpej branches: 1.16.2;
malloc(9) -> kmem(9)
 1.15 10-Nov-2019  chs branches: 1.15.8;
in many device attach paths, allocate memory with M_WAITOK instead of M_NOWAIT
and remove code to handle failures that can no longer happen.
 1.14 27-Oct-2012  chs branches: 1.14.38;
split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.13 28-Apr-2008  martin branches: 1.13.34; 1.13.44;
Remove clause 3 and 4 from TNF licenses
 1.12 11-Dec-2005  christos branches: 1.12.74; 1.12.76; 1.12.78;
merge ktrace-lwp.
 1.11 26-Aug-2005  drochner s/locdesc_t/int/g
 1.10 30-Jun-2005  drochner branches: 1.10.2;
adaptions to config_search() change, and minor autoconf fixes, mostly from Havard Eidnes
 1.9 15-Jul-2003  lukem __KERNEL_RCSID()
 1.8 02-Oct-2002  thorpej branches: 1.8.6;
Use CFATTACH_DECL().
 1.7 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.6 27-Sep-2002  thorpej Introduce a new routine, config_match(), which invokes the
cfattach->ca_match function in behalf of the caller. Use it
rather than invoking cfattach->ca_match directly.
 1.5 29-Jan-2002  uch clean up debug print and configuration.
 1.4 15-Sep-2001  uch branches: 1.4.4;
ANSIfy, KNF, change my copyright.
 1.3 27-Feb-2000  uch branches: 1.3.6; 1.3.8; 1.3.10;
cosmetic changes
 1.2 07-Dec-1999  uch branches: 1.2.2;
supply power.
 1.1 21-Nov-1999  uch PLUM2(TC6358TB) TX3922 companion chip
 1.2.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.3.10.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.3.10.2 11-Feb-2002  jdolecek Sync w/ -current.
 1.3.10.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.3.8.1 01-Oct-2001  fvdl Catch up with -current.
 1.3.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.3.6.1 27-Feb-2000  bouyer file plumiobus.c was added on branch thorpej_scsipi on 2000-11-20 20:46:08 +0000
 1.4.4.3 18-Oct-2002  nathanw Catch up to -current.
 1.4.4.2 28-Feb-2002  nathanw Catch up to -current.
 1.4.4.1 15-Sep-2001  nathanw file plumiobus.c was added on branch nathanw_sa on 2002-02-28 04:09:54 +0000
 1.8.6.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.8.6.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.8.6.2 18-Sep-2004  skrll Sync with HEAD.
 1.8.6.1 03-Aug-2004  skrll Sync with HEAD
 1.10.2.1 21-Jun-2006  yamt sync with head.
 1.12.78.1 16-May-2008  yamt sync with head.
 1.12.76.1 18-May-2008  yamt sync with head.
 1.12.74.1 02-Jun-2008  mjf Sync with HEAD.
 1.13.44.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.13.34.1 30-Oct-2012  yamt sync with head
 1.14.38.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.15.8.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.16.2.6 05-Apr-2021  thorpej config_match() -> config_probe() for the straight-forward indirect config
cases. There are still a few odd balls using config_match() which should
be sorted out later.
 1.16.2.5 04-Apr-2021  thorpej CFARG_SUBMATCH -> CFARG_SEARCH for the indirect configuration uses.
 1.16.2.4 03-Apr-2021  thorpej Give config_attach() the tagged variadic argument treatment and
mechanically convert all call sites.
 1.16.2.3 21-Mar-2021  thorpej CFARG_IATTR usage audit:

If a device carries only one interface attribute, there is no need
to specify it when calling config_search(); that specification is
meant only to disambiguate which interface attribute (which is a
proxy for "what kind of attach args are being used") is having
children attached. cfparent_match() will take care of ensuring that
any potential children can attach to one of the parent's iterface
attributes, and if the parent only carries one, no disambiguation is
necessary.
 1.16.2.2 20-Mar-2021  thorpej Don't pass the autoconfig print routine as the aux pointer to the
indirect search routine. That argument slot is meant for "attach
args" structures, not function pointers. Besides, no one actually
used it anyway.
 1.16.2.1 20-Mar-2021  thorpej The proliferation if config_search_*() and config_found_*() combinations
is a little absurd, so begin to tidy this up:

- Introduce a new cfarg_t enumerated type, that defines the types of
tag-value variadic arguments that can be passed to the various
config_*() functions (CFARG_SUBMATCH, CFARG_IATTR, and CFARG_LOCATORS,
for now, plus a CFARG_EOL sentinel).
- Collapse config_search_*() into config_search() that takes these
variadic arguments.
- Convert all call sites of config_search_*() to the new signature.
Noticed several incorrect usages along the way, which will be
audited in a future commit.
 1.17.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.4 08-Dec-2023  andvar fix triple t typos in comment and debug message.
 1.3 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.2 15-Sep-2001  uch branches: 1.2.4; 1.2.122; 1.2.124; 1.2.126;
ANSIfy, KNF, change my copyright.
 1.1 21-Nov-1999  uch branches: 1.1.2; 1.1.8; 1.1.10; 1.1.12;
PLUM2(TC6358TB) TX3922 companion chip
 1.1.12.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.10.1 01-Oct-2001  fvdl Catch up with -current.
 1.1.8.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.8.1 21-Nov-1999  bouyer file plumiobusreg.h was added on branch thorpej_scsipi on 2000-11-20 20:46:09 +0000
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.2.126.1 16-May-2008  yamt sync with head.
 1.2.124.1 18-May-2008  yamt sync with head.
 1.2.122.1 02-Jun-2008  mjf Sync with HEAD.
 1.2.4.2 15-Sep-2001  uch ANSIfy, KNF, change my copyright.
 1.2.4.1 15-Sep-2001  uch file plumiobusreg.h was added on branch nathanw_sa on 2001-09-15 12:47:07 +0000
 1.3 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.2 15-Sep-2001  uch branches: 1.2.4; 1.2.122; 1.2.124; 1.2.126;
ANSIfy, KNF, change my copyright.
 1.1 21-Nov-1999  uch branches: 1.1.2; 1.1.8; 1.1.10; 1.1.12;
PLUM2(TC6358TB) TX3922 companion chip
 1.1.12.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.10.1 01-Oct-2001  fvdl Catch up with -current.
 1.1.8.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.8.1 21-Nov-1999  bouyer file plumiobusvar.h was added on branch thorpej_scsipi on 2000-11-20 20:46:09 +0000
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.2.126.1 16-May-2008  yamt sync with head.
 1.2.124.1 18-May-2008  yamt sync with head.
 1.2.122.1 02-Jun-2008  mjf Sync with HEAD.
 1.2.4.2 15-Sep-2001  uch ANSIfy, KNF, change my copyright.
 1.2.4.1 15-Sep-2001  uch file plumiobusvar.h was added on branch nathanw_sa on 2001-09-15 12:47:07 +0000
 1.18 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.17 24-Apr-2021  thorpej branches: 1.17.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.16 21-Nov-2020  thorpej branches: 1.16.2;
malloc(9) -> kmem(9)
 1.15 23-Apr-2016  skrll branches: 1.15.30;
Merge nick-nhusb

- API / infrastructure changes to support memory management changes.
- Memory management improvements and bug fixes.
- HCDs should now be MP safe
- conversion to KERNHIST based debug
- FS/LS isoc support on ehci(4).
- conversion to kmem(9)
- Some USB 3 support - mostly from Takahiro HAYASHI (t-hash).
- interrupt transfers now get proper DMA operations
- general bug fixes
- kern/48308
- uhub status notification improvements
- umass(4) probe fix (applied to HEAD already)
- ohci(4) short transfer fix
 1.14 27-Oct-2012  chs branches: 1.14.12; 1.14.14; 1.14.18;
split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.13 20-Jul-2010  tsutsui branches: 1.13.8; 1.13.18;
Remove (possibly) unnecessary boundary arg from bus_space_alloc(9)
for DMA shared memory. PR port-hpcmips/43473 by Risto Sainio.
 1.12 03-Apr-2008  drochner branches: 1.12.4; 1.12.14; 1.12.24; 1.12.26;
update for device/softc split, thanks to Risto Sainio for testing
 1.11 04-Mar-2007  christos branches: 1.11.40;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.10 11-Dec-2005  christos branches: 1.10.26;
merge ktrace-lwp.
 1.9 26-Sep-2003  simonb branches: 1.9.16;
Cast through (void *) to appease gcc3.
 1.8 15-Jul-2003  lukem __KERNEL_RCSID()
 1.7 02-Oct-2002  thorpej branches: 1.7.6;
Use CFATTACH_DECL().
 1.6 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.5 18-Nov-2001  takemura Rewrite bus stuff with method table in the bus tags.
 1.4 15-Sep-2001  uch branches: 1.4.4;
ANSIfy, KNF, change my copyright.
 1.3 29-Jun-2000  mrg branches: 1.3.2; 1.3.4; 1.3.6;
remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h>
 1.2 26-Jun-2000  mrg remove/move more mach vm header files:

<vm/pglist.h> -> <uvm/uvm_pglist.h>
<vm/vm_inherit.h> -> <uvm/uvm_inherit.h>
<vm/vm_kern.h> -> into <uvm/uvm_extern.h>
<vm/vm_object.h> -> nothing
<vm/vm_pager.h> -> into <uvm/uvm_pager.h>

also includes a bunch of <vm/vm_page.h> include removals (due to redudancy
with <vm/vm.h>), and a scattering of other similar headers.
 1.1 25-Mar-2000  uch TOSHIBA TC6358TB(PLUM2) OHCI module support.
 1.3.6.2 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.3.6.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.3.4.1 01-Oct-2001  fvdl Catch up with -current.
 1.3.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.3.2.1 29-Jun-2000  bouyer file plumohci.c was added on branch thorpej_scsipi on 2000-11-20 20:46:09 +0000
 1.4.4.3 18-Oct-2002  nathanw Catch up to -current.
 1.4.4.2 08-Jan-2002  nathanw Catch up to -current.
 1.4.4.1 15-Sep-2001  nathanw file plumohci.c was added on branch nathanw_sa on 2002-01-08 00:24:59 +0000
 1.7.6.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.7.6.2 18-Sep-2004  skrll Sync with HEAD.
 1.7.6.1 03-Aug-2004  skrll Sync with HEAD
 1.9.16.1 03-Sep-2007  yamt sync with head.
 1.10.26.1 12-Mar-2007  rmind Sync with HEAD.
 1.11.40.1 02-Jun-2008  mjf Sync with HEAD.
 1.12.26.1 05-Mar-2011  rmind sync with head
 1.12.24.1 17-Aug-2010  uebayasi Sync with HEAD.
 1.12.14.1 26-Nov-2010  riz Pull up following revision(s) (requested by tsutsui in ticket #1484):
sys/arch/hpcmips/dev/plumohci.c: revision 1.13
Remove (possibly) unnecessary boundary arg from bus_space_alloc(9)
for DMA shared memory. PR port-hpcmips/43473 by Risto Sainio.
 1.12.4.1 11-Aug-2010  yamt sync with head.
 1.13.18.2 03-Dec-2017  jdolecek update from HEAD
 1.13.18.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.13.8.1 30-Oct-2012  yamt sync with head
 1.14.18.1 06-Sep-2016  skrll First pass at netbsd-7 updated with USB code from HEAD
 1.14.14.4 05-Dec-2014  skrll Use int for return type for [eou]chi_init and motg_init.
 1.14.14.3 05-Dec-2014  skrll KNF. Remove ( ) from return statements.
 1.14.14.2 03-Dec-2014  skrll The grand renaming of structure members.

No functional change.
 1.14.14.1 03-Dec-2014  skrll Trailing whitespace.
 1.14.12.1 05-Apr-2017  snj Pull up following revision(s) (requested by skrll in ticket #1395):
share/man/man4/axe.4: netbsd-7-nhusb
share/man/man4/axen.4: netbsd-7-nhusb
share/man/man4/cdce.4: netbsd-7-nhusb
share/man/man4/uaudio.4: netbsd-7-nhusb
share/man/man4/ucom.4: netbsd-7-nhusb
share/man/man4/uep.4: netbsd-7-nhusb
share/man/man4/urtw.4: netbsd-7-nhusb
share/man/man4/usb.4: netbsd-7-nhusb
share/man/man4/uyap.4: netbsd-7-nhusb
share/man/man4/xhci.4: netbsd-7-nhusb
share/man/man9/usbdi.9: netbsd-7-nhusb
sys/arch/amd64/conf/ALL: netbsd-7-nhusb
sys/arch/amd64/conf/GENERIC: netbsd-7-nhusb
sys/arch/amiga/dev/slhci_zbus.c: netbsd-7-nhusb
sys/arch/arm/allwinner/awin_otg.c: netbsd-7-nhusb
sys/arch/arm/allwinner/awin_usb.c: netbsd-7-nhusb
sys/arch/arm/amlogic/amlogic_dwctwo.c: netbsd-7-nhusb
sys/arch/arm/at91/at91ohci.c: netbsd-7-nhusb
sys/arch/arm/broadcom/bcm2835_dwctwo.c: netbsd-7-nhusb
sys/arch/arm/broadcom/bcm53xx_usb.c: netbsd-7-nhusb
sys/arch/arm/ep93xx/epohci.c: netbsd-7-nhusb
sys/arch/arm/gemini/obio_ehci.c: netbsd-7-nhusb
sys/arch/arm/imx/files.imx23: netbsd-7-nhusb
sys/arch/arm/imx/imxusb.c: netbsd-7-nhusb
sys/arch/arm/imx/imxusbreg.h: netbsd-7-nhusb
sys/arch/arm/omap/obio_ohci.c: netbsd-7-nhusb
sys/arch/arm/omap/omap3_ehci.c: netbsd-7-nhusb
sys/arch/arm/omap/omapl1x_ohci.c: netbsd-7-nhusb
sys/arch/arm/omap/tiotg.c: netbsd-7-nhusb
sys/arch/arm/s3c2xx0/ohci_s3c24x0.c: netbsd-7-nhusb
sys/arch/arm/samsung/exynos_usb.c: netbsd-7-nhusb
sys/arch/arm/xscale/pxa2x0_ohci.c: netbsd-7-nhusb
sys/arch/arm/zynq/zynq_usb.c: netbsd-7-nhusb
sys/arch/hpcarm/dev/nbp_slhci.c: netbsd-7-nhusb
sys/arch/hpcmips/dev/plumohci.c: netbsd-7-nhusb
sys/arch/i386/conf/ALL: netbsd-7-nhusb
sys/arch/i386/conf/GENERIC: netbsd-7-nhusb
sys/arch/i386/pci/gcscehci.c: netbsd-7-nhusb
sys/arch/luna68k/conf/GENERIC: netbsd-7-nhusb
sys/arch/mips/adm5120/dev/ahci.c: netbsd-7-nhusb
sys/arch/mips/adm5120/dev/ahcivar.h: netbsd-7-nhusb
sys/arch/mips/alchemy/dev/ohci_aubus.c: netbsd-7-nhusb
sys/arch/mips/atheros/dev/ehci_arbus.c: netbsd-7-nhusb
sys/arch/mips/atheros/dev/ohci_arbus.c: netbsd-7-nhusb
sys/arch/mips/conf/files.adm5120: netbsd-7-nhusb
sys/arch/mips/ralink/ralink_ehci.c: netbsd-7-nhusb
sys/arch/mips/ralink/ralink_ohci.c: netbsd-7-nhusb
sys/arch/mips/rmi/rmixl_ehci.c: netbsd-7-nhusb
sys/arch/mips/rmi/rmixl_ohci.c: netbsd-7-nhusb
sys/arch/playstation2/dev/ohci_sbus.c: netbsd-7-nhusb
sys/arch/powerpc/booke/dev/pq3ehci.c: netbsd-7-nhusb
sys/arch/powerpc/ibm4xx/dev/dwctwo_plb.c: netbsd-7-nhusb
sys/arch/x68k/dev/slhci_intio.c: netbsd-7-nhusb
sys/conf/files: netbsd-7-nhusb
sys/dev/cardbus/ehci_cardbus.c: netbsd-7-nhusb
sys/dev/cardbus/ohci_cardbus.c: netbsd-7-nhusb
sys/dev/cardbus/uhci_cardbus.c: netbsd-7-nhusb
sys/dev/ic/sl811hs.c: netbsd-7-nhusb
sys/dev/ic/sl811hsvar.h: netbsd-7-nhusb
sys/dev/isa/slhci_isa.c: netbsd-7-nhusb
sys/dev/marvell/ehci_mv.c: netbsd-7-nhusb
sys/dev/pci/ehci_pci.c: netbsd-7-nhusb
sys/dev/pci/ohci_pci.c: netbsd-7-nhusb
sys/dev/pci/uhci_pci.c: netbsd-7-nhusb
sys/dev/pci/xhci_pci.c: netbsd-7-nhusb
sys/dev/pcmcia/slhci_pcmcia.c: netbsd-7-nhusb
sys/dev/usb/Makefile.usbdevs: netbsd-7-nhusb
sys/dev/usb/TODO: netbsd-7-nhusb
sys/dev/usb/TODO.usbmp: netbsd-7-nhusb
sys/dev/usb/aubtfwl.c: netbsd-7-nhusb
sys/dev/usb/auvitek.c: netbsd-7-nhusb
sys/dev/usb/auvitek_audio.c: netbsd-7-nhusb
sys/dev/usb/auvitek_dtv.c: netbsd-7-nhusb
sys/dev/usb/auvitek_i2c.c: netbsd-7-nhusb
sys/dev/usb/auvitek_video.c: netbsd-7-nhusb
sys/dev/usb/auvitekvar.h: netbsd-7-nhusb
sys/dev/usb/ehci.c: netbsd-7-nhusb
sys/dev/usb/ehcireg.h: netbsd-7-nhusb
sys/dev/usb/ehcivar.h: netbsd-7-nhusb
sys/dev/usb/emdtv.c: netbsd-7-nhusb
sys/dev/usb/emdtv_dtv.c: netbsd-7-nhusb
sys/dev/usb/emdtv_ir.c: netbsd-7-nhusb
sys/dev/usb/emdtvvar.h: netbsd-7-nhusb
sys/dev/usb/ezload.c: netbsd-7-nhusb
sys/dev/usb/ezload.h: netbsd-7-nhusb
sys/dev/usb/files.usb: netbsd-7-nhusb
sys/dev/usb/hid.c: netbsd-7-nhusb
sys/dev/usb/hid.h: netbsd-7-nhusb
sys/dev/usb/if_athn_usb.c: netbsd-7-nhusb
sys/dev/usb/if_athn_usb.h: netbsd-7-nhusb
sys/dev/usb/if_atu.c: netbsd-7-nhusb
sys/dev/usb/if_atureg.h: netbsd-7-nhusb
sys/dev/usb/if_aue.c: netbsd-7-nhusb
sys/dev/usb/if_auereg.h: netbsd-7-nhusb
sys/dev/usb/if_axe.c: netbsd-7-nhusb
sys/dev/usb/if_axen.c: netbsd-7-nhusb
sys/dev/usb/if_axenreg.h: netbsd-7-nhusb
sys/dev/usb/if_axereg.h: netbsd-7-nhusb
sys/dev/usb/if_cdce.c: netbsd-7-nhusb
sys/dev/usb/if_cdcereg.h: netbsd-7-nhusb
sys/dev/usb/if_cue.c: netbsd-7-nhusb
sys/dev/usb/if_cuereg.h: netbsd-7-nhusb
sys/dev/usb/if_kue.c: netbsd-7-nhusb
sys/dev/usb/if_kuereg.h: netbsd-7-nhusb
sys/dev/usb/if_otus.c: netbsd-7-nhusb
sys/dev/usb/if_otusvar.h: netbsd-7-nhusb
sys/dev/usb/if_rum.c: netbsd-7-nhusb
sys/dev/usb/if_rumreg.h: netbsd-7-nhusb
sys/dev/usb/if_rumvar.h: netbsd-7-nhusb
sys/dev/usb/if_run.c: netbsd-7-nhusb
sys/dev/usb/if_runvar.h: netbsd-7-nhusb
sys/dev/usb/if_smsc.c: netbsd-7-nhusb
sys/dev/usb/if_smscreg.h: netbsd-7-nhusb
sys/dev/usb/if_smscvar.h: netbsd-7-nhusb
sys/dev/usb/if_udav.c: netbsd-7-nhusb
sys/dev/usb/if_udavreg.h: netbsd-7-nhusb
sys/dev/usb/if_upgt.c: netbsd-7-nhusb
sys/dev/usb/if_upgtvar.h: netbsd-7-nhusb
sys/dev/usb/if_upl.c: netbsd-7-nhusb
sys/dev/usb/if_ural.c: netbsd-7-nhusb
sys/dev/usb/if_uralreg.h: netbsd-7-nhusb
sys/dev/usb/if_uralvar.h: netbsd-7-nhusb
sys/dev/usb/if_url.c: netbsd-7-nhusb
sys/dev/usb/if_urlreg.h: netbsd-7-nhusb
sys/dev/usb/if_urndis.c: netbsd-7-nhusb
sys/dev/usb/if_urndisreg.h: netbsd-7-nhusb
sys/dev/usb/if_urtw.c: netbsd-7-nhusb
sys/dev/usb/if_urtwn.c: netbsd-7-nhusb
sys/dev/usb/if_urtwn_data.h: netbsd-7-nhusb
sys/dev/usb/if_urtwnreg.h: netbsd-7-nhusb
sys/dev/usb/if_urtwnvar.h: netbsd-7-nhusb
sys/dev/usb/if_urtwreg.h: netbsd-7-nhusb
sys/dev/usb/if_zyd.c: netbsd-7-nhusb
sys/dev/usb/if_zydreg.h: netbsd-7-nhusb
sys/dev/usb/irmce.c: netbsd-7-nhusb
sys/dev/usb/moscom.c: netbsd-7-nhusb
sys/dev/usb/motg.c: netbsd-7-nhusb
sys/dev/usb/motgvar.h: netbsd-7-nhusb
sys/dev/usb/ohci.c: netbsd-7-nhusb
sys/dev/usb/ohcireg.h: netbsd-7-nhusb
sys/dev/usb/ohcivar.h: netbsd-7-nhusb
sys/dev/usb/pseye.c: netbsd-7-nhusb
sys/dev/usb/slurm.c: netbsd-7-nhusb
sys/dev/usb/stuirda.c: netbsd-7-nhusb
sys/dev/usb/u3g.c: netbsd-7-nhusb
sys/dev/usb/uark.c: netbsd-7-nhusb
sys/dev/usb/uatp.c: netbsd-7-nhusb
sys/dev/usb/uaudio.c: netbsd-7-nhusb
sys/dev/usb/uberry.c: netbsd-7-nhusb
sys/dev/usb/ubsa.c: netbsd-7-nhusb
sys/dev/usb/ubsa_common.c: netbsd-7-nhusb
sys/dev/usb/ubsavar.h: netbsd-7-nhusb
sys/dev/usb/ubt.c: netbsd-7-nhusb
sys/dev/usb/uchcom.c: netbsd-7-nhusb
sys/dev/usb/ucom.c: netbsd-7-nhusb
sys/dev/usb/ucomvar.h: netbsd-7-nhusb
sys/dev/usb/ucycom.c: netbsd-7-nhusb
sys/dev/usb/udl.c: netbsd-7-nhusb
sys/dev/usb/udl.h: netbsd-7-nhusb
sys/dev/usb/udsbr.c: netbsd-7-nhusb
sys/dev/usb/udsir.c: netbsd-7-nhusb
sys/dev/usb/uep.c: netbsd-7-nhusb
sys/dev/usb/uftdi.c: netbsd-7-nhusb
sys/dev/usb/uftdireg.h: netbsd-7-nhusb
sys/dev/usb/ugen.c: netbsd-7-nhusb
sys/dev/usb/ugensa.c: netbsd-7-nhusb
sys/dev/usb/uhci.c: netbsd-7-nhusb
sys/dev/usb/uhcireg.h: netbsd-7-nhusb
sys/dev/usb/uhcivar.h: netbsd-7-nhusb
sys/dev/usb/uhid.c: netbsd-7-nhusb
sys/dev/usb/uhidev.c: netbsd-7-nhusb
sys/dev/usb/uhidev.h: netbsd-7-nhusb
sys/dev/usb/uhmodem.c: netbsd-7-nhusb
sys/dev/usb/uhso.c: netbsd-7-nhusb
sys/dev/usb/uhub.c: netbsd-7-nhusb
sys/dev/usb/uipad.c: netbsd-7-nhusb
sys/dev/usb/uipaq.c: netbsd-7-nhusb
sys/dev/usb/uirda.c: netbsd-7-nhusb
sys/dev/usb/uirdavar.h: netbsd-7-nhusb
sys/dev/usb/ukbd.c: netbsd-7-nhusb
sys/dev/usb/ukbdmap.c: netbsd-7-nhusb
sys/dev/usb/ukyopon.c: netbsd-7-nhusb
sys/dev/usb/ukyopon.h: netbsd-7-nhusb
sys/dev/usb/ulpt.c: netbsd-7-nhusb
sys/dev/usb/umass.c: netbsd-7-nhusb
sys/dev/usb/umass_isdata.c: netbsd-7-nhusb
sys/dev/usb/umass_isdata.h: netbsd-7-nhusb
sys/dev/usb/umass_quirks.c: netbsd-7-nhusb
sys/dev/usb/umass_quirks.h: netbsd-7-nhusb
sys/dev/usb/umass_scsipi.c: netbsd-7-nhusb
sys/dev/usb/umass_scsipi.h: netbsd-7-nhusb
sys/dev/usb/umassvar.h: netbsd-7-nhusb
sys/dev/usb/umcs.c: netbsd-7-nhusb
sys/dev/usb/umct.c: netbsd-7-nhusb
sys/dev/usb/umidi.c: netbsd-7-nhusb
sys/dev/usb/umidi_quirks.c: netbsd-7-nhusb
sys/dev/usb/umidi_quirks.h: netbsd-7-nhusb
sys/dev/usb/umodem.c: netbsd-7-nhusb
sys/dev/usb/umodem_common.c: netbsd-7-nhusb
sys/dev/usb/umodemvar.h: netbsd-7-nhusb
sys/dev/usb/ums.c: netbsd-7-nhusb
sys/dev/usb/uplcom.c: netbsd-7-nhusb
sys/dev/usb/urio.c: netbsd-7-nhusb
sys/dev/usb/urio.h: netbsd-7-nhusb
sys/dev/usb/usb.c: netbsd-7-nhusb
sys/dev/usb/usb.h: netbsd-7-nhusb
sys/dev/usb/usb_mem.c: netbsd-7-nhusb
sys/dev/usb/usb_mem.h: netbsd-7-nhusb
sys/dev/usb/usb_quirks.c: netbsd-7-nhusb
sys/dev/usb/usb_quirks.h: netbsd-7-nhusb
sys/dev/usb/usb_subr.c: netbsd-7-nhusb
sys/dev/usb/usbdevices.config: netbsd-7-nhusb
sys/dev/usb/usbdevs: netbsd-7-nhusb
sys/dev/usb/usbdevs.h: netbsd-7-nhusb
sys/dev/usb/usbdevs_data.h: netbsd-7-nhusb
sys/dev/usb/usbdi.c: netbsd-7-nhusb
sys/dev/usb/usbdi.h: netbsd-7-nhusb
sys/dev/usb/usbdi_util.c: netbsd-7-nhusb
sys/dev/usb/usbdi_util.h: netbsd-7-nhusb
sys/dev/usb/usbdivar.h: netbsd-7-nhusb
sys/dev/usb/usbhid.h: netbsd-7-nhusb
sys/dev/usb/usbhist.h: netbsd-7-nhusb
sys/dev/usb/usbroothub.c: netbsd-7-nhusb
sys/dev/usb/usbroothub.h: netbsd-7-nhusb
sys/dev/usb/usbroothub_subr.c: delete
sys/dev/usb/usbroothub_subr.h: delete
sys/dev/usb/uscanner.c: netbsd-7-nhusb
sys/dev/usb/uslsa.c: netbsd-7-nhusb
sys/dev/usb/usscanner.c: netbsd-7-nhusb
sys/dev/usb/ustir.c: netbsd-7-nhusb
sys/dev/usb/uthum.c: netbsd-7-nhusb
sys/dev/usb/utoppy.c: netbsd-7-nhusb
sys/dev/usb/uts.c: netbsd-7-nhusb
sys/dev/usb/uvideo.c: netbsd-7-nhusb
sys/dev/usb/uvisor.c: netbsd-7-nhusb
sys/dev/usb/uvscom.c: netbsd-7-nhusb
sys/dev/usb/uyap.c: netbsd-7-nhusb
sys/dev/usb/uyap_firmware.h: netbsd-7-nhusb
sys/dev/usb/uyurex.c: netbsd-7-nhusb
sys/dev/usb/x1input_rdesc.h: netbsd-7-nhusb
sys/dev/usb/xhci.c: netbsd-7-nhusb
sys/dev/usb/xhcireg.h: netbsd-7-nhusb
sys/dev/usb/xhcivar.h: netbsd-7-nhusb
sys/dev/usb/xinput_rdesc.h: netbsd-7-nhusb
sys/external/bsd/common/conf/files.linux: netbsd-7-nhusb
sys/external/bsd/common/include/linux/err.h: netbsd-7-nhusb
sys/external/bsd/common/include/linux/kernel.h: netbsd-7-nhusb
sys/external/bsd/common/include/linux/workqueue.h: netbsd-7-nhusb
sys/external/bsd/common/linux/linux_work.c: netbsd-7-nhusb
sys/external/bsd/drm2/dist/drm/radeon/atombios_encoders.c: netbsd-7-nhusb
sys/external/bsd/drm2/dist/drm/radeon/radeon_legacy_encoders.c: netbsd-7-nhusb
sys/external/bsd/drm2/drm/files.drmkms: netbsd-7-nhusb
sys/external/bsd/drm2/i915drm/files.i915drmkms: netbsd-7-nhusb
sys/external/bsd/drm2/include/linux/err.h: delete
sys/external/bsd/drm2/include/linux/workqueue.h: delete
sys/external/bsd/drm2/linux/files.drmkms_linux: netbsd-7-nhusb
sys/external/bsd/drm2/linux/linux_work.c: delete
sys/external/bsd/dwc2/dwc2.c: netbsd-7-nhusb
sys/external/bsd/dwc2/dwc2.h: netbsd-7-nhusb
sys/external/bsd/dwc2/dwc2var.h: netbsd-7-nhusb
sys/external/bsd/dwc2/dwctwo2netbsd: netbsd-7-nhusb
sys/external/bsd/dwc2/conf/files.dwc2: netbsd-7-nhusb
sys/external/bsd/dwc2/dist/dwc2_core.c: netbsd-7-nhusb
sys/external/bsd/dwc2/dist/dwc2_core.h: netbsd-7-nhusb
sys/external/bsd/dwc2/dist/dwc2_coreintr.c: netbsd-7-nhusb
sys/external/bsd/dwc2/dist/dwc2_hcd.c: netbsd-7-nhusb
sys/external/bsd/dwc2/dist/dwc2_hcd.h: netbsd-7-nhusb
sys/external/bsd/dwc2/dist/dwc2_hcdddma.c: netbsd-7-nhusb
sys/external/bsd/dwc2/dist/dwc2_hcdintr.c: netbsd-7-nhusb
sys/external/bsd/dwc2/dist/dwc2_hcdqueue.c: netbsd-7-nhusb
sys/external/bsd/dwc2/dist/dwc2_hw.h: netbsd-7-nhusb
sys/modules/drmkms_linux/Makefile: netbsd-7-nhusb
sys/modules/i915drmkms/Makefile: netbsd-7-nhusb
sys/rump/dev/lib/libugenhc/ugenhc.c: netbsd-7-nhusb
sys/rump/dev/lib/libusb/Makefile: netbsd-7-nhusb
sys/rump/dev/lib/libusb/USB.ioconf: netbsd-7-nhusb
sys/rump/dev/lib/libusb/usb_at_ugenhc.c: delete
sys/rump/dev/lib/libusb/opt/opt_usb.h: delete
sys/rump/dev/lib/libusb/opt/opt_usbverbose.h: delete
sys/sys/mbuf.h: netbsd-7-nhusb
usr.sbin/usbdevs/usbdevs.8: netbsd-7-nhusb
usr.sbin/usbdevs/usbdevs.c: netbsd-7-nhusb
Merge netbsd-7-nhusb:
- API / infrastructure changes to support memory management changes.
- Memory management improvements and bug fixes.
- HCDs should now be MP safe
- conversion to KERNHIST based debug
- FS/LS isoc support on ehci(4).
- conversion to kmem(9)
- Some USB 3 support - mostly from Takahiro HAYASHI (t-hash).
- interrupt transfers now get proper DMA operations
- general bug fixes
- kern/48308
- uhub status notification improvements
- umass(4) probe fix (applied to HEAD already)
- ohci(4) short transfer fix
- Change the SOFTINT level from NET to SERIAL for the USB softint handler.
This gives the callback a chance of running when another softint handler
at SOFTINT_NET has blocked holding a lock, e.g. softnet_lock and most of
the network stack.
- kern/49065 - ifconfig tun0 ... sequence locks up system / lockup:
softnet_lock held across usb xfr
- kern/50491 - unkillable wait in usbd_transfer while using usmsc0
on raspberry pi 2
- kern/51395 - USB Ethernet makes xhci hang
- Various improvements to slhci(4)
- Various improvements to dwc2(4)
 1.15.30.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.16.2.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.17.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.3 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.2 15-Sep-2001  uch branches: 1.2.4; 1.2.122; 1.2.124; 1.2.126;
ANSIfy, KNF, change my copyright.
 1.1 25-Mar-2000  uch branches: 1.1.6; 1.1.8; 1.1.10;
TOSHIBA TC6358TB(PLUM2) OHCI module support.
 1.1.10.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.8.1 01-Oct-2001  fvdl Catch up with -current.
 1.1.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.6.1 25-Mar-2000  bouyer file plumohcireg.h was added on branch thorpej_scsipi on 2000-11-20 20:46:10 +0000
 1.2.126.1 16-May-2008  yamt sync with head.
 1.2.124.1 18-May-2008  yamt sync with head.
 1.2.122.1 02-Jun-2008  mjf Sync with HEAD.
 1.2.4.2 15-Sep-2001  uch ANSIfy, KNF, change my copyright.
 1.2.4.1 15-Sep-2001  uch file plumohcireg.h was added on branch nathanw_sa on 2001-09-15 12:47:07 +0000
 1.32 10-Sep-2023  andvar return %#x specifier for pcihp->ioh and add (unsigned) cast instead,
as it is done everywhere in this code.
 1.31 10-Sep-2023  andvar Various fixes to (re)enable PLUMPCMCIA_DEBUG build:
remove brackets around DPRINTF params (that's leftover from custom definition).
pcihp->ioh expects %lx specifier, not %x.
constify char *width_names.
rename cardtype to type in one of DPRINTF argument's condition.
 1.30 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.29 24-Apr-2021  thorpej branches: 1.29.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.28 30-Jun-2016  skrll branches: 1.28.32;
Fix the unused fix
 1.27 26-Mar-2014  christos branches: 1.27.6;
- kill sprintf
- fix unused
 1.26 27-Oct-2012  chs branches: 1.26.2;
split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.25 26-Jul-2011  dyoung branches: 1.25.2; 1.25.12;
Don't set the iobase and iosize members of pcmciabus_attach_args because
they're not used in any meaningful way.
 1.24 18-Mar-2009  cegger Ansify function definitions w/o arguments. Generated with sed.
 1.23 15-Dec-2007  perry branches: 1.23.10; 1.23.18; 1.23.24;
__FUNCTION__ -> __func__
 1.22 17-Oct-2007  garbled branches: 1.22.4; 1.22.8;
Merge the ppcoea-renovation branch to HEAD.

This branch was a major cleanup and rototill of many of the various OEA
cpu based PPC ports that focused on sharing as much code as possible
between the various ports to eliminate near-identical copies of files in
every tree. Additionally there is a new PIC system that unifies the
interface to interrupt code for all different OEA ppc arches. The work
for this branch was done by a variety of people, too long to list here.

TODO:
bebox still needs work to complete the transition to -renovation.
ofppc still needs a bunch of work, which I will be looking at.
ev64260 still needs to be renovated
amigappc was not attempted.

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.21 13-Jul-2007  he branches: 1.21.10;
Add a missing comma, and a missing return NULL if you fall off the
end of plumpcmcia_event_alloc().
 1.20 09-Jul-2007  ad Merge some of the less invasive changes from the vmlocking branch:

- kthread, callout, devsw API changes
- select()/poll() improvements
- miscellaneous MT safety improvements
 1.19 11-Dec-2005  christos branches: 1.19.30; 1.19.32; 1.19.38;
merge ktrace-lwp.
 1.18 28-Jun-2005  drochner branches: 1.18.2;
convert remaining autoconf bus "submatch" functions to use the new
signature (passing locators), and remove some which obviously don't
serve any purpose
(untested, sorry)
 1.17 11-Aug-2004  mycroft Add a settype() function. Also clear the window enables when powering up or
down a socket, just to be safe. (I've had problems with WinCE trashing my CF
card if there's state left behind...)
 1.16 15-Jul-2003  lukem __KERNEL_RCSID()
 1.15 01-Jan-2003  thorpej branches: 1.15.2;
Use aprint_normal() for cfprint routines.
 1.14 02-Oct-2002  thorpej Use CFATTACH_DECL().
 1.13 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.12 27-Sep-2002  thorpej Introduce a new routine, config_match(), which invokes the
cfattach->ca_match function in behalf of the caller. Use it
rather than invoking cfattach->ca_match directly.
 1.11 01-Jun-2002  lukem SIMPLEQ rototill:
- implement SIMPLEQ_REMOVE(head, elm, type, field). whilst it's O(n),
this mirrors the functionality of SLIST_REMOVE() (the other
singly-linked list type) and FreeBSD's STAILQ_REMOVE()
- remove the unnecessary elm arg from SIMPLEQ_REMOVE_HEAD().
this mirrors the functionality of SLIST_REMOVE_HEAD() (the other
singly-linked list type) and FreeBSD's STAILQ_REMOVE_HEAD()
- remove notes about SIMPLEQ not supporting arbitrary element removal
- use SIMPLEQ_FOREACH() instead of home-grown for loops
- use SIMPLEQ_EMPTY() appropriately
- use SIMPLEQ_*() instead of accessing sqh_first,sqh_last,sqe_next directly
- reorder manual page; be consistent about how the types are listed
- other minor cleanups
 1.10 29-Jan-2002  uch branches: 1.10.8;
clean up debug print and configuration.
 1.9 15-Dec-2001  soren To make dev/pcmcia work on platforms with 64-bit bus_addr_t and
32-bit bus_size_t (sparc), change the pcmcia_mem_map(9) offsetp
argument to bus_size_t as it is used as a bus_space offset.
 1.8 18-Nov-2001  takemura Rewrite bus stuff with method table in the bus tags.
 1.7 15-Sep-2001  uch branches: 1.7.4;
ANSIfy, KNF, change my copyright.
 1.6 08-May-2001  uch branches: 1.6.2; 1.6.4;
set allocatable PCMCIA I/O space size.
 1.5 04-Oct-2000  uch branches: 1.5.2; 1.5.4;
experimental power management support for TX3912/TX3922 based model.
 1.4 27-Sep-2000  uch hot plug support.
 1.3 05-Mar-2000  takemura Change bus_addr_t and bus_size_t from u_int32_t to u_long.
Add -Werror option to kernel Makefile.
 1.2 07-Dec-1999  uch branches: 1.2.2;
Supply power before attaching socket.
 1.1 21-Nov-1999  uch PLUM2(TC6358TB) TX3922 companion chip
 1.2.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.5.4.1 21-Jun-2001  nathanw Catch up to -current.
 1.5.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.5.2.1 04-Oct-2000  bouyer file plumpcmcia.c was added on branch thorpej_scsipi on 2000-11-20 20:46:11 +0000
 1.6.4.1 01-Oct-2001  fvdl Catch up with -current.
 1.6.2.4 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.6.2.3 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.6.2.2 11-Feb-2002  jdolecek Sync w/ -current.
 1.6.2.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.7.4.6 03-Jan-2003  thorpej Sync with HEAD.
 1.7.4.5 18-Oct-2002  nathanw Catch up to -current.
 1.7.4.4 20-Jun-2002  nathanw Catch up to -current.
 1.7.4.3 28-Feb-2002  nathanw Catch up to -current.
 1.7.4.2 08-Jan-2002  nathanw Catch up to -current.
 1.7.4.1 15-Sep-2001  nathanw file plumpcmcia.c was added on branch nathanw_sa on 2002-01-08 00:25:00 +0000
 1.10.8.1 14-Jul-2002  gehenna catch up with -current.
 1.15.2.5 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.15.2.4 21-Sep-2004  skrll Fix the sync with head I botched.
 1.15.2.3 18-Sep-2004  skrll Sync with HEAD.
 1.15.2.2 12-Aug-2004  skrll Sync with HEAD.
 1.15.2.1 03-Aug-2004  skrll Sync with HEAD
 1.18.2.2 21-Jan-2008  yamt sync with head
 1.18.2.1 03-Sep-2007  yamt sync with head.
 1.19.38.1 03-Oct-2007  garbled Sync with HEAD
 1.19.32.1 11-Jul-2007  mjf Sync with head.
 1.19.30.1 15-Jul-2007  ad Sync with head.
 1.21.10.2 09-Jan-2008  matt sync with HEAD
 1.21.10.1 06-Nov-2007  matt sync with HEAD
 1.22.8.1 02-Jan-2008  bouyer Sync with HEAD
 1.22.4.1 26-Dec-2007  ad Sync with head.
 1.23.24.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.23.18.1 28-Apr-2009  skrll Sync with HEAD.
 1.23.10.1 04-May-2009  yamt sync with head.
 1.25.12.3 03-Dec-2017  jdolecek update from HEAD
 1.25.12.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.25.12.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.25.2.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.25.2.1 30-Oct-2012  yamt sync with head
 1.26.2.1 18-May-2014  rmind sync with head
 1.27.6.1 09-Jul-2016  skrll Sync with HEAD
 1.28.32.1 23-Mar-2021  thorpej plumpcmcia has only a single interface attribute, so no need to
use config_found_ia().

While here, also fix an apparent bug left over from when device_t and
driver softcs were fully split ... config_found() takes a device_t, not
the associated softc. (Issue was masked by a case to "void *".)
 1.29.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.5 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.4 15-Sep-2001  uch branches: 1.4.4; 1.4.122; 1.4.124; 1.4.126;
ANSIfy, KNF, change my copyright.
 1.3 04-Oct-2000  uch branches: 1.3.2; 1.3.4; 1.3.6;
experimental power management support for TX3912/TX3922 based model.
 1.2 27-Sep-2000  uch hot plug support.
 1.1 21-Nov-1999  uch branches: 1.1.2;
PLUM2(TC6358TB) TX3922 companion chip
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.3.6.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.3.4.1 01-Oct-2001  fvdl Catch up with -current.
 1.3.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.3.2.1 04-Oct-2000  bouyer file plumpcmciareg.h was added on branch thorpej_scsipi on 2000-11-20 20:46:11 +0000
 1.4.126.1 16-May-2008  yamt sync with head.
 1.4.124.1 18-May-2008  yamt sync with head.
 1.4.122.1 02-Jun-2008  mjf Sync with HEAD.
 1.4.4.2 15-Sep-2001  uch ANSIfy, KNF, change my copyright.
 1.4.4.1 15-Sep-2001  uch file plumpcmciareg.h was added on branch nathanw_sa on 2001-09-15 12:47:08 +0000
 1.15 07-Sep-2024  andvar Change duplicate PLUM_POWER_RESETC_IO5CL1 to PLUM_POWER_RESETC_IO5CL0.

I believe it was a typo, since plum_power_ioreset(pc) call states that
it is resetting high/low I/O bus and TC6358TB Technical Data (page 128)
describes the bit to be set for clearing I/O active low device signals.

pullups are likely not necessary, there are no known issues reported.

Reported by David Binderman. PR port-hpcmips/50688
 1.14 20-Dec-2023  thorpej branches: 1.14.2;
Remove unnecessary <sys/malloc.h>.
 1.13 27-Oct-2012  chs split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.12 28-Apr-2008  martin branches: 1.12.34; 1.12.44;
Remove clause 3 and 4 from TNF licenses
 1.11 11-Dec-2005  christos branches: 1.11.74; 1.11.76; 1.11.78;
merge ktrace-lwp.
 1.10 15-Jul-2003  lukem __KERNEL_RCSID()
 1.9 02-Oct-2002  thorpej branches: 1.9.6;
Use CFATTACH_DECL().
 1.8 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.7 29-Jan-2002  uch clean up debug print and configuration.
 1.6 15-Sep-2001  uch branches: 1.6.4;
ANSIfy, KNF, change my copyright.
 1.5 04-Oct-2000  uch branches: 1.5.2; 1.5.4; 1.5.6;
experimental power management support for TX3912/TX3922 based model.
 1.4 25-Mar-2000  uch TOSHIBA TC6358TB(PLUM2) OHCI module support.
 1.3 26-Feb-2000  uch change power up sequence.
 1.2 07-Dec-1999  uch branches: 1.2.2;
changing power up sequence.
disable all power before probing plum2 devices.
 1.1 21-Nov-1999  uch PLUM2(TC6358TB) TX3922 companion chip
 1.2.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.5.6.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.6.2 11-Feb-2002  jdolecek Sync w/ -current.
 1.5.6.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.5.4.1 01-Oct-2001  fvdl Catch up with -current.
 1.5.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.5.2.1 04-Oct-2000  bouyer file plumpower.c was added on branch thorpej_scsipi on 2000-11-20 20:46:12 +0000
 1.6.4.3 18-Oct-2002  nathanw Catch up to -current.
 1.6.4.2 28-Feb-2002  nathanw Catch up to -current.
 1.6.4.1 15-Sep-2001  nathanw file plumpower.c was added on branch nathanw_sa on 2002-02-28 04:09:55 +0000
 1.9.6.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.9.6.2 18-Sep-2004  skrll Sync with HEAD.
 1.9.6.1 03-Aug-2004  skrll Sync with HEAD
 1.11.78.1 16-May-2008  yamt sync with head.
 1.11.76.1 18-May-2008  yamt sync with head.
 1.11.74.1 02-Jun-2008  mjf Sync with HEAD.
 1.12.44.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.12.34.1 30-Oct-2012  yamt sync with head
 1.14.2.1 02-Aug-2025  perseant Sync with HEAD
 1.4 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.3 04-Oct-2000  uch branches: 1.3.2; 1.3.128; 1.3.130; 1.3.132;
experimental power management support for TX3912/TX3922 based model.
 1.2 07-Dec-1999  uch branches: 1.2.2;
changing power up sequence.
disable all power before probing plum2 devices.
 1.1 21-Nov-1999  uch PLUM2(TC6358TB) TX3922 companion chip
 1.2.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.3.132.1 16-May-2008  yamt sync with head.
 1.3.130.1 18-May-2008  yamt sync with head.
 1.3.128.1 02-Jun-2008  mjf Sync with HEAD.
 1.3.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.3.2.1 04-Oct-2000  bouyer file plumpowerreg.h was added on branch thorpej_scsipi on 2000-11-20 20:46:12 +0000
 1.3 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.2 04-Oct-2000  uch branches: 1.2.2; 1.2.128; 1.2.130; 1.2.132;
experimental power management support for TX3912/TX3922 based model.
 1.1 21-Nov-1999  uch branches: 1.1.2;
PLUM2(TC6358TB) TX3922 companion chip
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.2.132.1 16-May-2008  yamt sync with head.
 1.2.130.1 18-May-2008  yamt sync with head.
 1.2.128.1 02-Jun-2008  mjf Sync with HEAD.
 1.2.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.2.2.1 04-Oct-2000  bouyer file plumpowervar.h was added on branch thorpej_scsipi on 2000-11-20 20:46:13 +0000
 1.4 24-Aug-2012  msaitoh Fix typos
 1.3 28-Apr-2008  martin branches: 1.3.34;
Remove clause 3 and 4 from TNF licenses
 1.2 15-Sep-2001  uch branches: 1.2.4; 1.2.122; 1.2.124; 1.2.126;
ANSIfy, KNF, change my copyright.
 1.1 21-Nov-1999  uch branches: 1.1.2; 1.1.8; 1.1.10; 1.1.12;
PLUM2(TC6358TB) TX3922 companion chip
 1.1.12.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.10.1 01-Oct-2001  fvdl Catch up with -current.
 1.1.8.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.8.1 21-Nov-1999  bouyer file plumreg.h was added on branch thorpej_scsipi on 2000-11-20 20:46:13 +0000
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.2.126.1 16-May-2008  yamt sync with head.
 1.2.124.1 18-May-2008  yamt sync with head.
 1.2.122.1 02-Jun-2008  mjf Sync with HEAD.
 1.2.4.2 15-Sep-2001  uch ANSIfy, KNF, change my copyright.
 1.2.4.1 15-Sep-2001  uch file plumreg.h was added on branch nathanw_sa on 2001-09-15 12:47:08 +0000
 1.3.34.1 30-Oct-2012  yamt sync with head
 1.3 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.2 15-Sep-2001  uch branches: 1.2.4; 1.2.122; 1.2.124; 1.2.126;
ANSIfy, KNF, change my copyright.
 1.1 21-Nov-1999  uch branches: 1.1.2; 1.1.8; 1.1.10; 1.1.12;
PLUM2(TC6358TB) TX3922 companion chip
 1.1.12.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.10.1 01-Oct-2001  fvdl Catch up with -current.
 1.1.8.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.8.1 21-Nov-1999  bouyer file plumvar.h was added on branch thorpej_scsipi on 2000-11-20 20:46:14 +0000
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.2.126.1 16-May-2008  yamt sync with head.
 1.2.124.1 18-May-2008  yamt sync with head.
 1.2.122.1 02-Jun-2008  mjf Sync with HEAD.
 1.2.4.2 15-Sep-2001  uch ANSIfy, KNF, change my copyright.
 1.2.4.1 15-Sep-2001  uch file plumvar.h was added on branch nathanw_sa on 2001-09-15 12:47:08 +0000
 1.46 26-Feb-2025  andvar Fix typos in comments, mainly s/calcurate/calculate/.
 1.45 10-Sep-2023  andvar branches: 1.45.6;
Remove custom DPRINTF/DPRINTFN definitions and reuse one defined in debug.h.
Remove "#undef PLUMVIDEODEBUG", it is not defined by default.

fixes PLUMVIDEODEBUG enabled build.
 1.44 16-Apr-2022  andvar s/setted/set/
 1.43 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.42 24-Apr-2021  thorpej branches: 1.42.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.41 27-Oct-2012  chs branches: 1.41.52;
split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.40 18-Mar-2009  cegger branches: 1.40.12; 1.40.22;
Ansify function definitions w/o arguments. Generated with sed.
 1.39 28-Apr-2008  martin branches: 1.39.8; 1.39.14;
Remove clause 3 and 4 from TNF licenses
 1.38 04-Mar-2007  christos branches: 1.38.40; 1.38.42; 1.38.44;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.37 11-Dec-2005  christos branches: 1.37.26;
merge ktrace-lwp.
 1.36 30-Jul-2005  nakayama Add LCD and battery control support for Sharp Telios series.
 1.35 12-Dec-2004  abs branches: 1.35.8; 1.35.10;
Fix comments regarding configration bounaries
 1.34 13-Nov-2003  chs eliminate uvm_useracc() in favor of checking the return value of
copyin() or copyout().

uvm_useracc() tells us whether the mapping permissions allow access to
the desired part of an address space, and many callers assume that
this is the same as knowing whether an attempt to access that part of
the address space will succeed. however, access to user space can
fail for reasons other than insufficient permission, most notably that
paging in any non-resident data can fail due to i/o errors. most of
the callers of uvm_useracc() make the above incorrect assumption. the
rest are all misguided optimizations, which optimize for the case
where an operation will fail. we'd rather optimize for operations
succeeding, in which case we should just attempt the access and handle
failures due to insufficient permissions the same way we handle i/o
errors. since there appear to be no good uses of uvm_useracc(), we'll
just remove it.
 1.33 25-Oct-2003  mycroft Eliminate nested functions.
(There are a billion better ways to abstract this...)
 1.32 15-Jul-2003  lukem __KERNEL_RCSID()
 1.31 02-Oct-2002  thorpej branches: 1.31.6;
Use CFATTACH_DECL().
 1.30 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.29 27-Sep-2002  provos remove trailing \n in panic(). approved perry.
 1.28 08-Jun-2002  yamt make auto const variables static.
(and space->tab)
 1.27 13-Apr-2002  takemura branches: 1.27.2;
Fixed dev/hpc/hpcfb.c to set RI_BSWAP flag in 8bpp for rasops8.c
and backout changes 'fix LCD byte-order setting':
arch/hpcsh/dev/hd64461/hd64461video.c Rev. 1.7 to 1.8
arch/hpcmips/dev/plumvideo.c Rev. 1.23 to 1.24
arch/hpcmips/tx/tx3912video.c Rev. 1.24 to 1.25
 1.26 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.25 06-Mar-2002  uch don't attach bivideo.
 1.24 19-Feb-2002  uch fix LCD byte-order setting.
 1.23 29-Jan-2002  uch clean up debug print and configuration.
 1.22 14-Nov-2001  thorpej branches: 1.22.2;
Merge the thorpej-mips-cache branch onto the trunk. This is an
overhaul of how caches are handled for NetBSD's MIPS ports.
 1.21 15-Sep-2001  uch branches: 1.21.2;
ANSIfy, KNF, change my copyright.
 1.20 05-Aug-2001  jdolecek branches: 1.20.2;
use unsigned variable types as appropriate
 1.19 22-Jul-2001  takemura You must set 'HPCFB_SWAP_*' if bytes are stored in reverse order, i.e.
little endian like order, however, usage of 'HPCFB_SWAP_*' was widely
misunderstood because it reminded you of 'RI_BSWAP' in raster operation.
Please note that 'RI_BSWAP' indicate that frame buffer byte order is different
from natural order of system while 'HPCFB_REVORDER_*' is independent of
system byte order.
 1.18 21-May-2001  uch branches: 1.18.2;
fix WSDISPLAYIO_PUTCMAP bug.
 1.17 22-Feb-2001  uch branches: 1.17.2;
hpc common files are moved to dev/hpc.
 1.16 03-Dec-2000  takemura Change hf_baseaddr usage. Now it potins frame buffer start address instead
of hf_baseadd + hf_offset. You should use hf_baseaddr only in kernel and
you should use hf_offset only with mmap system call from userland.
 1.15 22-Oct-2000  uch branches: 1.15.2;
reverse color support.
 1.14 04-Oct-2000  uch experimental power management support for TX3912/TX3922 based model.
 1.13 29-Jun-2000  mrg remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h>
 1.12 26-Jun-2000  simonb Change the kernel mmap interface so that the offset to map is an
"off_t" and the return value is a "paddr_t" to allow mappings
at offsets past 2^31 bytes. Somewhat inspired by FreeBSD, which
only changed the offset to a "vm_offset_t".

Includes updates for the i386, pc532 and sh3 mmmmap from Jason Thorpe.
 1.11 22-May-2000  uch branches: 1.11.4;
debug frame buffer draw routines moved to video_subr.c.
plumvideo also use it.
 1.10 21-May-2000  uch Get LCD size from PLUM2 Display control register.
 1.9 09-May-2000  uch fix WSDISPLAYIO_PUTCMAP return value.
 1.8 08-May-2000  uch implement 8bpp CLUT of Plum2, TX3912 video module.
 1.7 02-May-2000  uch add ioctl, mmap.
hpcfb directly attach to tx3912video and plumvideo. (no longer use bivideo)
XXX CLUT
 1.6 03-Apr-2000  sato - virtual TEXT vram implimentation.
- optimize scroll.
- hardware accelerator hooking mechanism (initianly, maybe change..)
- multiscreen (some bugs, so currently disabled)
- if you want disable above codes, #define HPCFB_DISABLE.
 1.5 25-Mar-2000  uch TOSHIBA TC6358TB(PLUM2) OHCI module support.
 1.4 13-Mar-2000  uch sync with hpcfb.
 1.3 26-Feb-2000  uch change power up sequence.
 1.2 07-Dec-1999  uch branches: 1.2.2;
frame buffer device support.
 1.1 21-Nov-1999  uch PLUM2(TC6358TB) TX3922 companion chip
 1.2.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.11.4.2 16-Aug-2001  tv Pullup [jdolecek]:

sys/arch/amiga/dev/grf_cl.c 1.26
sys/arch/amiga/dev/grfioctl.h 1.14
sys/arch/hpcmips/dev/plumvideo.c 1.20
sys/arch/macppc/dev/ofb.c 1.25
sys/arch/sparc/dev/cgtwo.c 1.35
sys/arch/sparc/include/fbio.h patch
sys/arch/sparc64/include/fbio.h patch
sys/arch/sun3/dev/cg2.c 1.14
sys/arch/sun3/include/fbio.h patch
sys/dev/pci/tga.c 1.35
sys/dev/tc/cfb.c 1.28
sys/dev/tc/mfb.c 1.27
sys/dev/tc/sfb.c 1.46
sys/dev/tc/sfbplus.c 1.10 via patch
sys/dev/tc/tfb.c 1.30
sys/dev/tc/xcfb.c 1.23
sys/net/if_ppp.c 1.71

Use unsigned variable types to make bounds checking more correct.
 1.11.4.1 30-Jun-2000  simonb Pull up mmap paddr_t/off_t changes from trunk.
 1.15.2.4 12-Mar-2001  bouyer Sync with HEAD.
 1.15.2.3 08-Dec-2000  bouyer Sync with HEAD.
 1.15.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.15.2.1 22-Oct-2000  bouyer file plumvideo.c was added on branch thorpej_scsipi on 2000-11-20 20:46:15 +0000
 1.17.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.18.2.7 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.18.2.6 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.18.2.5 16-Mar-2002  jdolecek Catch up with -current.
 1.18.2.4 11-Feb-2002  jdolecek Sync w/ -current.
 1.18.2.3 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.18.2.2 25-Aug-2001  thorpej Merge Aug 24 -current into the kqueue branch.
 1.18.2.1 03-Aug-2001  lukem update to -current
 1.20.2.1 01-Oct-2001  fvdl Catch up with -current.
 1.21.2.1 06-Nov-2001  uch Update for the new cache code.
 1.22.2.6 18-Oct-2002  nathanw Catch up to -current.
 1.22.2.5 20-Jun-2002  nathanw Catch up to -current.
 1.22.2.4 17-Apr-2002  nathanw Catch up to -current.
 1.22.2.3 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.22.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.22.2.1 14-Nov-2001  nathanw file plumvideo.c was added on branch nathanw_sa on 2002-02-28 04:09:55 +0000
 1.27.2.1 14-Jul-2002  gehenna catch up with -current.
 1.31.6.6 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.31.6.5 24-Jan-2005  skrll Adapt to branch.
 1.31.6.4 18-Dec-2004  skrll Sync with HEAD.
 1.31.6.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.31.6.2 18-Sep-2004  skrll Sync with HEAD.
 1.31.6.1 03-Aug-2004  skrll Sync with HEAD
 1.35.10.2 03-Sep-2007  yamt sync with head.
 1.35.10.1 21-Jun-2006  yamt sync with head.
 1.35.8.1 04-Aug-2005  tron Pull up revision 1.36 (requested by nakayama in ticket #637):
Add LCD and battery control support for Sharp Telios series.
 1.37.26.1 12-Mar-2007  rmind Sync with HEAD.
 1.38.44.2 04-May-2009  yamt sync with head.
 1.38.44.1 16-May-2008  yamt sync with head.
 1.38.42.1 18-May-2008  yamt sync with head.
 1.38.40.1 02-Jun-2008  mjf Sync with HEAD.
 1.39.14.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.39.8.1 28-Apr-2009  skrll Sync with HEAD.
 1.40.22.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.40.12.1 30-Oct-2012  yamt sync with head
 1.41.52.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.42.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.45.6.1 02-Aug-2025  perseant Sync with HEAD
 1.7 23-May-2024  andvar fix typos in comments.
 1.6 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.5 04-Oct-2000  uch branches: 1.5.2; 1.5.128; 1.5.130; 1.5.132;
experimental power management support for TX3912/TX3922 based model.
 1.4 08-May-2000  uch implement 8bpp CLUT of Plum2, TX3912 video module.
 1.3 02-May-2000  uch add ioctl, mmap.
hpcfb directly attach to tx3912video and plumvideo. (no longer use bivideo)
XXX CLUT
 1.2 25-Mar-2000  uch TOSHIBA TC6358TB(PLUM2) OHCI module support.
 1.1 21-Nov-1999  uch branches: 1.1.2;
PLUM2(TC6358TB) TX3922 companion chip
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.5.132.1 16-May-2008  yamt sync with head.
 1.5.130.1 18-May-2008  yamt sync with head.
 1.5.128.1 02-Jun-2008  mjf Sync with HEAD.
 1.5.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.5.2.1 04-Oct-2000  bouyer file plumvideoreg.h was added on branch thorpej_scsipi on 2000-11-20 20:46:15 +0000
 1.6 27-Sep-2000  uch remove obsolete files.
 1.5 04-May-2000  takemura Raw keyboard mode support. I'd tested this on MC/R530.
I don't sure if skbd work or not.
 1.4 30-Apr-2000  uch skbd_ioctl (not implemented yet) returns -1 not 0.
 1.3 16-Jan-2000  uch add platform dependent TX39 UART module hook.
remove delay from tc5165buf interrupt handler.
backlight config_hook.
 1.2 12-Jan-2000  uch add UCB1200 sound module ucbsnd (core implementation only)
UCB1200 touch panel module moved to ucbtp and sync with vrpiu.
 1.1 08-Dec-1999  uch branches: 1.1.2;
Remove old keyboard driver for Compaq C.
Add driver
PHILIPS 74ALVC1624? buffer chip + simple keyboard driver.
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.8 27-Sep-2000  uch remove obsolete files.
 1.7 13-May-2000  uch change Telios keyboard map: KS_KP_Enter -> KS_Return
 1.6 27-Feb-2000  uch cosmetic changes
 1.5 16-Jan-2000  uch add platform dependent TX39 UART module hook.
remove delay from tc5165buf interrupt handler.
backlight config_hook.
 1.4 14-Jan-2000  uch fix mobilon hc-4100 keymap.
 1.3 07-Jan-2000  uch p7416buf and tc5165buf are merged.
 1.2 12-Dec-1999  uch branches: 1.2.2;
Telios keyboard support.
 1.1 08-Dec-1999  uch Remove old keyboard driver for Compaq C.
Add driver
PHILIPS 74ALVC1624? buffer chip + simple keyboard driver.
 1.2.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.2 27-Sep-2000  uch remove obsolete files.
 1.1 08-Dec-1999  uch branches: 1.1.2;
Remove old keyboard driver for Compaq C.
Add driver
PHILIPS 74ALVC1624? buffer chip + simple keyboard driver.
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.20 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.19 24-Apr-2021  thorpej branches: 1.19.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.18 09-Jun-2015  matt branches: 1.18.32;
#include <sys/cpu.h> and/or <mips/cpuregs.h> + other include fixes
 1.17 27-Oct-2012  chs branches: 1.17.14;
split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.16 28-Apr-2008  martin branches: 1.16.34; 1.16.44;
Remove clause 3 and 4 from TNF licenses
 1.15 17-Oct-2007  garbled branches: 1.15.16; 1.15.18; 1.15.20;
Merge the ppcoea-renovation branch to HEAD.

This branch was a major cleanup and rototill of many of the various OEA
cpu based PPC ports that focused on sharing as much code as possible
between the various ports to eliminate near-identical copies of files in
every tree. Additionally there is a new PIC system that unifies the
interface to interrupt code for all different OEA ppc arches. The work
for this branch was done by a variety of people, too long to list here.

TODO:
bebox still needs work to complete the transition to -renovation.
ofppc still needs a bunch of work, which I will be looking at.
ev64260 still needs to be renovated
amigappc was not attempted.

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.14 09-Jul-2007  ad branches: 1.14.10;
Merge some of the less invasive changes from the vmlocking branch:

- kthread, callout, devsw API changes
- select()/poll() improvements
- miscellaneous MT safety improvements
 1.13 11-Dec-2005  christos branches: 1.13.30; 1.13.32; 1.13.38;
merge ktrace-lwp.
 1.12 15-Jul-2003  lukem branches: 1.12.16;
__KERNEL_RCSID()
 1.11 02-Oct-2002  thorpej branches: 1.11.6;
Use CFATTACH_DECL().
 1.10 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.9 29-Jan-2002  uch clean up debug print and configuration.
 1.8 15-Sep-2001  uch branches: 1.8.4;
ANSIfy, KNF, change my copyright.
 1.7 22-Feb-2001  uch branches: 1.7.2; 1.7.4;
hpc common files are moved to dev/hpc.
 1.6 21-Sep-2000  takemura branches: 1.6.2;
skbd -> hpckbd. hpckbd supports vrkiu as well as m38813c and tc5165.
 1.5 23-Mar-2000  thorpej New callout mechanism with two major improvements over the old
timeout()/untimeout() API:
- Clients supply callout handle storage, thus eliminating problems of
resource allocation.
- Insertion and removal of callouts is constant time, important as
this facility is used quite a lot in the kernel.

The old timeout()/untimeout() API has been removed from the kernel.
 1.4 16-Jan-2000  uch add platform dependent TX39 UART module hook.
remove delay from tc5165buf interrupt handler.
backlight config_hook.
 1.3 07-Jan-2000  uch p7416buf and tc5165buf are merged.
 1.2 03-Jan-2000  uch Change tx_poll_establish implementation and interface.
 1.1 12-Dec-1999  uch branches: 1.1.2;
SHARP Telios keyboard driver TOSHIBA TC5165 (tentative)
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.6.2.3 12-Mar-2001  bouyer Sync with HEAD.
 1.6.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.6.2.1 21-Sep-2000  bouyer file tc5165buf.c was added on branch thorpej_scsipi on 2000-11-20 20:46:16 +0000
 1.7.4.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.7.4.2 11-Feb-2002  jdolecek Sync w/ -current.
 1.7.4.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.7.2.1 01-Oct-2001  fvdl Catch up with -current.
 1.8.4.3 18-Oct-2002  nathanw Catch up to -current.
 1.8.4.2 28-Feb-2002  nathanw Catch up to -current.
 1.8.4.1 15-Sep-2001  nathanw file tc5165buf.c was added on branch nathanw_sa on 2002-02-28 04:09:55 +0000
 1.11.6.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.11.6.2 18-Sep-2004  skrll Sync with HEAD.
 1.11.6.1 03-Aug-2004  skrll Sync with HEAD
 1.12.16.1 03-Sep-2007  yamt sync with head.
 1.13.38.1 03-Oct-2007  garbled Sync with HEAD
 1.13.32.1 11-Jul-2007  mjf Sync with head.
 1.13.30.1 15-Jul-2007  ad Sync with head.
 1.14.10.1 06-Nov-2007  matt sync with HEAD
 1.15.20.1 16-May-2008  yamt sync with head.
 1.15.18.1 18-May-2008  yamt sync with head.
 1.15.16.1 02-Jun-2008  mjf Sync with HEAD.
 1.16.44.2 03-Dec-2017  jdolecek update from HEAD
 1.16.44.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.16.34.1 30-Oct-2012  yamt sync with head
 1.17.14.1 22-Sep-2015  skrll Sync with HEAD
 1.18.32.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.19.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.3 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.2 15-Sep-2001  uch branches: 1.2.4; 1.2.122; 1.2.124; 1.2.126;
ANSIfy, KNF, change my copyright.
 1.1 12-Dec-1999  uch branches: 1.1.2; 1.1.8; 1.1.10; 1.1.12;
SHARP Telios keyboard driver TOSHIBA TC5165 (tentative)
 1.1.12.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.10.1 01-Oct-2001  fvdl Catch up with -current.
 1.1.8.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.8.1 12-Dec-1999  bouyer file tc5165bufvar.h was added on branch thorpej_scsipi on 2000-11-20 20:46:16 +0000
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.2.126.1 16-May-2008  yamt sync with head.
 1.2.124.1 18-May-2008  yamt sync with head.
 1.2.122.1 02-Jun-2008  mjf Sync with HEAD.
 1.2.4.2 15-Sep-2001  uch ANSIfy, KNF, change my copyright.
 1.2.4.1 15-Sep-2001  uch file tc5165bufvar.h was added on branch nathanw_sa on 2001-09-15 12:47:08 +0000
 1.4 27-Oct-2012  chs split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.3 31-May-2008  nakayama branches: 1.3.32; 1.3.42;
Change my license to 2 clause.
 1.2 11-Dec-2005  christos branches: 1.2.18; 1.2.76; 1.2.78; 1.2.80; 1.2.82;
merge ktrace-lwp.
 1.1 30-Jul-2005  nakayama branches: 1.1.2; 1.1.8;
Add LCD and battery control support for Sharp Telios series.
 1.1.8.2 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.1.8.1 30-Jul-2005  skrll file teliosio.c was added on branch ktrace-lwp on 2005-11-10 13:56:27 +0000
 1.1.2.2 04-Aug-2005  tron Pull up revision 1.1 (requested by nakayama in ticket #637):
Add LCD and battery control support for Sharp Telios series.
 1.1.2.1 30-Jul-2005  tron file teliosio.c was added on branch netbsd-3 on 2005-08-04 18:30:30 +0000
 1.2.82.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.2.80.1 04-May-2009  yamt sync with head.
 1.2.78.1 04-Jun-2008  yamt sync with head
 1.2.76.1 02-Jun-2008  mjf Sync with HEAD.
 1.2.18.2 21-Jun-2006  yamt sync with head.
 1.2.18.1 11-Dec-2005  yamt file teliosio.c was added on branch yamt-lazymbuf on 2006-06-21 14:51:50 +0000
 1.3.42.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.3.32.1 30-Oct-2012  yamt sync with head
 1.3 31-May-2008  nakayama Change my license to 2 clause.
 1.2 11-Dec-2005  christos branches: 1.2.18; 1.2.76; 1.2.78; 1.2.80; 1.2.82;
merge ktrace-lwp.
 1.1 30-Jul-2005  nakayama branches: 1.1.2; 1.1.8;
Add LCD and battery control support for Sharp Telios series.
 1.1.8.2 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.1.8.1 30-Jul-2005  skrll file teliosioreg.h was added on branch ktrace-lwp on 2005-11-10 13:56:27 +0000
 1.1.2.2 04-Aug-2005  tron Pull up revision 1.1 (requested by nakayama in ticket #637):
Add LCD and battery control support for Sharp Telios series.
 1.1.2.1 30-Jul-2005  tron file teliosioreg.h was added on branch netbsd-3 on 2005-08-04 18:30:30 +0000
 1.2.82.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.2.80.1 04-May-2009  yamt sync with head.
 1.2.78.1 04-Jun-2008  yamt sync with head
 1.2.76.1 02-Jun-2008  mjf Sync with HEAD.
 1.2.18.2 21-Jun-2006  yamt sync with head.
 1.2.18.1 11-Dec-2005  yamt file teliosioreg.h was added on branch yamt-lazymbuf on 2006-06-21 14:51:50 +0000
 1.4 22-Feb-2001  uch hpc common files are moved to dev/hpc.
 1.3 28-Feb-2000  takemura branches: 1.3.6;
WSMOUSE_SCALIBCOORDS had not worked because ioctrl code was wrong.
 1.2 12-Jan-2000  uch set limit value and local saved configuration. return -1 if calibration failed.
 1.1 10-Jan-2000  takemura WSMOUSE_SCALIBCOORDS/WSMOUSE_GCALIBCOORDS support.
 1.3.6.3 12-Mar-2001  bouyer Sync with HEAD.
 1.3.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.3.6.1 28-Feb-2000  bouyer file tpcalib.c was added on branch thorpej_scsipi on 2000-11-20 20:46:17 +0000
 1.2 22-Feb-2001  uch hpc common files are moved to dev/hpc.
 1.1 10-Jan-2000  takemura branches: 1.1.6;
WSMOUSE_SCALIBCOORDS/WSMOUSE_GCALIBCOORDS support.
 1.1.6.3 12-Mar-2001  bouyer Sync with HEAD.
 1.1.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.6.1 10-Jan-2000  bouyer file tpcalibvar.h was added on branch thorpej_scsipi on 2000-11-20 20:46:18 +0000
 1.21 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.20 24-Apr-2021  thorpej branches: 1.20.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.19 27-Oct-2012  chs branches: 1.19.52;
split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.18 14-Mar-2009  dsl branches: 1.18.12; 1.18.22;
Change about 4500 of the K&R function definitions to ANSI ones.
There are still about 1600 left, but they have ',' or /* ... */
in the actual variable definitions - which my awk script doesn't handle.
There are also many that need () -> (void).
(The script does handle misordered arguments.)
 1.17 28-Apr-2008  martin branches: 1.17.8; 1.17.14;
Remove clause 3 and 4 from TNF licenses
 1.16 11-Dec-2005  christos branches: 1.16.74; 1.16.76; 1.16.78;
merge ktrace-lwp.
 1.15 26-Aug-2005  drochner s/locdesc_t/int/g
 1.14 30-Jun-2005  drochner branches: 1.14.2;
adaptions to config_search() change, and minor autoconf fixes, mostly from Havard Eidnes
 1.13 15-Jul-2003  lukem __KERNEL_RCSID()
 1.12 02-Oct-2002  thorpej branches: 1.12.6;
Use CFATTACH_DECL().
 1.11 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.10 27-Sep-2002  thorpej Introduce a new routine, config_match(), which invokes the
cfattach->ca_match function in behalf of the caller. Use it
rather than invoking cfattach->ca_match directly.
 1.9 08-Jun-2002  yamt constify.
 1.8 08-Jun-2002  yamt make auto const variables static.
(and space->tab)
 1.7 29-Jan-2002  uch branches: 1.7.8;
clean up debug print and configuration.
 1.6 15-Sep-2001  uch branches: 1.6.4;
ANSIfy, KNF, change my copyright.
 1.5 22-Oct-2000  uch branches: 1.5.2; 1.5.4; 1.5.6;
new I/O modules framework for TX based system.
 1.4 12-Mar-2000  uch recognize UCB1100 id.
 1.3 27-Feb-2000  uch UCB1200 GPIO support.
 1.2 12-Jan-2000  uch add UCB1200 sound module ucbsnd (core implementation only)
UCB1200 touch panel module moved to ucbtp and sync with vrpiu.
 1.1 08-Jan-2000  uch TX3912 touch panel support
TX3912 SIB module + ADC part of UCB1200 (companion chip of TX3912)
 1.5.6.4 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.6.3 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.5.6.2 11-Feb-2002  jdolecek Sync w/ -current.
 1.5.6.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.5.4.1 01-Oct-2001  fvdl Catch up with -current.
 1.5.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.5.2.1 22-Oct-2000  bouyer file ucb1200.c was added on branch thorpej_scsipi on 2000-11-20 20:46:19 +0000
 1.6.4.4 18-Oct-2002  nathanw Catch up to -current.
 1.6.4.3 20-Jun-2002  nathanw Catch up to -current.
 1.6.4.2 28-Feb-2002  nathanw Catch up to -current.
 1.6.4.1 15-Sep-2001  nathanw file ucb1200.c was added on branch nathanw_sa on 2002-02-28 04:09:55 +0000
 1.7.8.1 14-Jul-2002  gehenna catch up with -current.
 1.12.6.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.12.6.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.12.6.2 18-Sep-2004  skrll Sync with HEAD.
 1.12.6.1 03-Aug-2004  skrll Sync with HEAD
 1.14.2.1 21-Jun-2006  yamt sync with head.
 1.16.78.2 04-May-2009  yamt sync with head.
 1.16.78.1 16-May-2008  yamt sync with head.
 1.16.76.1 18-May-2008  yamt sync with head.
 1.16.74.1 02-Jun-2008  mjf Sync with HEAD.
 1.17.14.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.17.8.1 28-Apr-2009  skrll Sync with HEAD.
 1.18.22.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.18.12.1 30-Oct-2012  yamt sync with head
 1.19.52.6 05-Apr-2021  thorpej config_match() -> config_probe() for the straight-forward indirect config
cases. There are still a few odd balls using config_match() which should
be sorted out later.
 1.19.52.5 04-Apr-2021  thorpej CFARG_SUBMATCH -> CFARG_SEARCH for the indirect configuration uses.
 1.19.52.4 03-Apr-2021  thorpej Give config_attach() the tagged variadic argument treatment and
mechanically convert all call sites.
 1.19.52.3 21-Mar-2021  thorpej CFARG_IATTR usage audit:

If a device carries only one interface attribute, there is no need
to specify it when calling config_search(); that specification is
meant only to disambiguate which interface attribute (which is a
proxy for "what kind of attach args are being used") is having
children attached. cfparent_match() will take care of ensuring that
any potential children can attach to one of the parent's iterface
attributes, and if the parent only carries one, no disambiguation is
necessary.
 1.19.52.2 20-Mar-2021  thorpej Don't pass the autoconfig print routine as the aux pointer to the
indirect search routine. That argument slot is meant for "attach
args" structures, not function pointers. Besides, no one actually
used it anyway.
 1.19.52.1 20-Mar-2021  thorpej The proliferation if config_search_*() and config_found_*() combinations
is a little absurd, so begin to tidy this up:

- Introduce a new cfarg_t enumerated type, that defines the types of
tag-value variadic arguments that can be passed to the various
config_*() functions (CFARG_SUBMATCH, CFARG_IATTR, and CFARG_LOCATORS,
for now, plus a CFARG_EOL sentinel).
- Collapse config_search_*() into config_search() that takes these
variadic arguments.
- Convert all call sites of config_search_*() to the new signature.
Noticed several incorrect usages along the way, which will be
audited in a future commit.
 1.20.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.8 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.7 15-Sep-2001  uch branches: 1.7.4; 1.7.122; 1.7.124; 1.7.126;
ANSIfy, KNF, change my copyright.
 1.6 22-May-2000  uch branches: 1.6.6; 1.6.8; 1.6.10;
debug frame buffer draw routines moved to video_subr.c.
plumvideo also use it.
 1.5 12-Mar-2000  uch recognize UCB1100 id.
 1.4 03-Mar-2000  uch add device file interface for UCB1200
 1.3 27-Feb-2000  uch UCB1200 GPIO support.
 1.2 12-Jan-2000  uch add UCB1200 sound module ucbsnd (core implementation only)
UCB1200 touch panel module moved to ucbtp and sync with vrpiu.
 1.1 08-Jan-2000  uch TX3912 touch panel support
TX3912 SIB module + ADC part of UCB1200 (companion chip of TX3912)
 1.6.10.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.6.8.1 01-Oct-2001  fvdl Catch up with -current.
 1.6.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.6.6.1 22-May-2000  bouyer file ucb1200reg.h was added on branch thorpej_scsipi on 2000-11-20 20:46:19 +0000
 1.7.126.1 16-May-2008  yamt sync with head.
 1.7.124.1 18-May-2008  yamt sync with head.
 1.7.122.1 02-Jun-2008  mjf Sync with HEAD.
 1.7.4.2 15-Sep-2001  uch ANSIfy, KNF, change my copyright.
 1.7.4.1 15-Sep-2001  uch file ucb1200reg.h was added on branch nathanw_sa on 2001-09-15 12:47:09 +0000
 1.6 27-Oct-2012  chs split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.5 28-Apr-2008  martin branches: 1.5.34; 1.5.44;
Remove clause 3 and 4 from TNF licenses
 1.4 22-Oct-2000  uch branches: 1.4.2; 1.4.128; 1.4.130; 1.4.132;
new I/O modules framework for TX based system.
 1.3 27-Feb-2000  uch UCB1200 GPIO support.
 1.2 12-Jan-2000  uch add UCB1200 sound module ucbsnd (core implementation only)
UCB1200 touch panel module moved to ucbtp and sync with vrpiu.
 1.1 08-Jan-2000  uch TX3912 touch panel support
TX3912 SIB module + ADC part of UCB1200 (companion chip of TX3912)
 1.4.132.1 16-May-2008  yamt sync with head.
 1.4.130.1 18-May-2008  yamt sync with head.
 1.4.128.1 02-Jun-2008  mjf Sync with HEAD.
 1.4.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.4.2.1 22-Oct-2000  bouyer file ucb1200var.h was added on branch thorpej_scsipi on 2000-11-20 20:46:20 +0000
 1.5.44.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.5.34.1 30-Oct-2012  yamt sync with head
 1.12 27-Oct-2012  chs split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.11 28-Apr-2008  martin branches: 1.11.34; 1.11.44;
Remove clause 3 and 4 from TNF licenses
 1.10 15-Dec-2007  perry branches: 1.10.6; 1.10.8; 1.10.10;
__FUNCTION__ -> __func__
 1.9 11-Dec-2005  christos branches: 1.9.50; 1.9.60; 1.9.64;
merge ktrace-lwp.
 1.8 15-Jul-2003  lukem branches: 1.8.16;
__KERNEL_RCSID()
 1.7 02-Oct-2002  thorpej branches: 1.7.6;
Use CFATTACH_DECL().
 1.6 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.5 29-Jan-2002  uch clean up debug print and configuration.
 1.4 15-Sep-2001  uch branches: 1.4.4;
ANSIfy, KNF, change my copyright.
 1.3 13-Jun-2001  uch branches: 1.3.2; 1.3.4;
(TX39) switch from TX local I/O manager to hpcio
 1.2 22-Oct-2000  uch branches: 1.2.2; 1.2.4;
new I/O modules framework for TX based system.
 1.1 27-Feb-2000  uch UCB1200 GPIO routines.
 1.2.4.1 21-Jun-2001  nathanw Catch up to -current.
 1.2.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.2.2.1 22-Oct-2000  bouyer file ucbio.c was added on branch thorpej_scsipi on 2000-11-20 20:46:20 +0000
 1.3.4.1 01-Oct-2001  fvdl Catch up with -current.
 1.3.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.3.2.2 11-Feb-2002  jdolecek Sync w/ -current.
 1.3.2.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.4.4.3 18-Oct-2002  nathanw Catch up to -current.
 1.4.4.2 28-Feb-2002  nathanw Catch up to -current.
 1.4.4.1 15-Sep-2001  nathanw file ucbio.c was added on branch nathanw_sa on 2002-02-28 04:09:55 +0000
 1.7.6.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.7.6.2 18-Sep-2004  skrll Sync with HEAD.
 1.7.6.1 03-Aug-2004  skrll Sync with HEAD
 1.8.16.1 21-Jan-2008  yamt sync with head
 1.9.64.1 02-Jan-2008  bouyer Sync with HEAD
 1.9.60.1 26-Dec-2007  ad Sync with head.
 1.9.50.1 09-Jan-2008  matt sync with HEAD
 1.10.10.1 16-May-2008  yamt sync with head.
 1.10.8.1 18-May-2008  yamt sync with head.
 1.10.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.11.44.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.11.34.1 30-Oct-2012  yamt sync with head
 1.2 22-Oct-2000  uch new I/O modules framework for TX based system.
 1.1 27-Feb-2000  uch UCB1200 GPIO routines.
 1.26 21-Nov-2020  thorpej malloc(9) -> kmem(9)
 1.25 17-Dec-2016  riastradh branches: 1.25.28;
Omit needless nullmmap.

Convert the one user of it to nommap. No functional change to the
device driver, since uvm interpreted nullmmap just like nommap.

This slightly changes the uvm ABI so that the function pointer nullop
is no longer interpreted as non-mmappable. I do hereby declare that
I am surfing the kernel version bump from a few hours ago.
 1.24 26-Jun-2015  matt branches: 1.24.2;
Cleanup includes
 1.23 25-Jul-2014  dholland branches: 1.23.4;
Add d_discard to all struct cdevsw instances I could find.

All have been set to "nodiscard"; some should get a real implementation.
 1.22 16-Mar-2014  dholland branches: 1.22.2;
Change (mostly mechanically) every cdevsw/bdevsw I can find to use
designated initializers.

I have not built every extant kernel so I have probably broken at
least one build; however I've also found and fixed some wrong
cdevsw/bdevsw entries so even if so I think we come out ahead.
 1.21 27-Oct-2012  chs branches: 1.21.2;
split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.20 23-Nov-2011  jmcneill branches: 1.20.8;
Merge jmcneill-audiomp3 branch, which is derived from ad-audiomp2. From
the original ad-audiomp branch notes:

Add MP locking to the audio drivers.

Making the audio drivers MP safe is necessary before efforts
can be made to make the VM system MP safe.

The are two locks per device instance, an ISR lock and
a character device lock. The ISR lock replaces calls to
splaudio()/splx(), and will be held across calls to device
methods which were called at splaudio() before (e.g.
trigger_output). The character device lock is held across
calls to nearly all of the methods, excluding some only
used for initialization, e.g. get_locks.

Welcome to 5.99.57.
 1.19 12-Jun-2008  tsutsui branches: 1.19.30; 1.19.32;
Use device_lookup_private() to get softc.
 1.18 28-Apr-2008  martin branches: 1.18.2; 1.18.4;
Remove clause 3 and 4 from TNF licenses
 1.17 03-Dec-2007  ad branches: 1.17.14; 1.17.16; 1.17.18;
Interrupt handling changes, in discussion since February:

- Reduce available SPL levels for hardware devices to none, vm, sched, high.
- Acquire kernel_lock only for interrupts at IPL_VM.
- Implement threaded soft interrupts.
 1.16 11-Dec-2005  christos branches: 1.16.30; 1.16.48; 1.16.50; 1.16.56;
merge ktrace-lwp.
 1.15 15-Jul-2003  lukem branches: 1.15.16;
__KERNEL_RCSID()
 1.14 23-Oct-2002  jdolecek branches: 1.14.6;
merge kqueue branch into -current

kqueue provides a stateful and efficient event notification framework
currently supported events include socket, file, directory, fifo,
pipe, tty and device changes, and monitoring of processes and signals

kqueue is supported by all writable filesystems in NetBSD tree
(with exception of Coda) and all device drivers supporting poll(2)

based on work done by Jonathan Lemon for FreeBSD
initial NetBSD port done by Luke Mewburn and Jason Thorpe
 1.13 10-Oct-2002  jdolecek replace empty ucbsndioctl()/ucbsndmmap() with nullioctl()/nullmmap()
 1.12 10-Oct-2002  jdolecek replace the somewhat strange poll routine with standard nopoll() (a.k.a
seltrue())
 1.11 02-Oct-2002  thorpej Use CFATTACH_DECL().
 1.10 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.9 06-Sep-2002  gehenna Merge the gehenna-devsw branch into the trunk.

This merge changes the device switch tables from static array to
dynamically generated by config(8).

- All device switches is defined as a constant structure in device drivers.

- The new grammer ``device-major'' is introduced to ``files''.

device-major <prefix> char <num> [block <num>] [<rules>]

- All device major numbers must be listed up in port dependent majors.<arch>
by using this grammer.

- Added the new naming convention.
The name of the device switch must be <prefix>_[bc]devsw for auto-generation
of device switch tables.

- The backward compatibility of loading block/character device
switch by LKM framework is broken. This is necessary to convert
from block/character device major to device name in runtime and vice versa.

- The restriction to assign device major by LKM is completely removed.
We don't need to reserve LKM entries for dynamic loading of device switch.

- In compile time, device major numbers list is packed into the kernel and
the LKM framework will refer it to assign device major number dynamically.
 1.8 29-Jan-2002  uch branches: 1.8.8;
clean up debug print and configuration.
 1.7 14-Nov-2001  thorpej branches: 1.7.2;
Merge the thorpej-mips-cache branch onto the trunk. This is an
overhaul of how caches are handled for NetBSD's MIPS ports.
 1.6 15-Sep-2001  uch branches: 1.6.2;
ANSIfy, KNF, change my copyright.
 1.5 26-Jun-2000  simonb branches: 1.5.2; 1.5.4; 1.5.6;
Change the kernel mmap interface so that the offset to map is an
"off_t" and the return value is a "paddr_t" to allow mappings
at offsets past 2^31 bytes. Somewhat inspired by FreeBSD, which
only changed the offset to a "vm_offset_t".

Includes updates for the i386, pc532 and sh3 mmmmap from Jason Thorpe.
 1.4 04-Mar-2000  uch branches: 1.4.4;
timeout when DMA interrupt lost.
 1.3 03-Mar-2000  uch add device file interface for UCB1200
 1.2 16-Jan-2000  uch add platform dependent TX39 UART module hook.
remove delay from tc5165buf interrupt handler.
backlight config_hook.
 1.1 12-Jan-2000  uch add UCB1200 sound module ucbsnd (core implementation only)
UCB1200 touch panel module moved to ucbtp and sync with vrpiu.
 1.4.4.1 30-Jun-2000  simonb Pull up mmap paddr_t/off_t changes from trunk.
 1.5.6.5 10-Oct-2002  jdolecek use nokqfilter (or seltrue_kqfilter()) for drivers which provide poll
routine very similar to seltrue(); the poll routines would be cleaned
up on trunk
 1.5.6.4 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.6.3 18-Jun-2002  jdolecek provide dummy ucbsndkqfilter()
 1.5.6.2 11-Feb-2002  jdolecek Sync w/ -current.
 1.5.6.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.5.4.2 10-Oct-2001  fvdl Convert all remaining devices.
 1.5.4.1 01-Oct-2001  fvdl Catch up with -current.
 1.5.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.5.2.1 26-Jun-2000  bouyer file ucbsnd.c was added on branch thorpej_scsipi on 2000-11-20 20:46:21 +0000
 1.6.2.1 06-Nov-2001  uch Update for the new cache code.
 1.7.2.5 11-Nov-2002  nathanw Catch up to -current
 1.7.2.4 18-Oct-2002  nathanw Catch up to -current.
 1.7.2.3 17-Sep-2002  nathanw Catch up to -current.
 1.7.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.7.2.1 14-Nov-2001  nathanw file ucbsnd.c was added on branch nathanw_sa on 2002-02-28 04:09:55 +0000
 1.8.8.1 17-May-2002  gehenna Add device switch.
 1.14.6.4 24-Jan-2005  skrll Adapt to branch.
 1.14.6.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.14.6.2 18-Sep-2004  skrll Sync with HEAD.
 1.14.6.1 03-Aug-2004  skrll Sync with HEAD
 1.15.16.2 07-Dec-2007  yamt sync with head
 1.15.16.1 21-Jun-2006  yamt sync with head.
 1.16.56.1 08-Dec-2007  mjf Sync with HEAD.
 1.16.50.1 09-Jan-2008  matt sync with HEAD
 1.16.48.1 09-Dec-2007  jmcneill Sync with HEAD.
 1.16.30.1 03-Dec-2007  ad Sync with HEAD.
 1.17.18.2 04-May-2009  yamt sync with head.
 1.17.18.1 16-May-2008  yamt sync with head.
 1.17.16.2 17-Jun-2008  yamt sync with head.
 1.17.16.1 18-May-2008  yamt sync with head.
 1.17.14.2 29-Jun-2008  mjf Sync with HEAD.
 1.17.14.1 02-Jun-2008  mjf Sync with HEAD.
 1.18.4.1 18-Jun-2008  simonb Sync with head.
 1.18.2.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.19.32.1 20-Nov-2011  jmcneill splaudio -> splvm
 1.19.30.3 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.19.30.2 30-Oct-2012  yamt sync with head
 1.19.30.1 17-Apr-2012  yamt sync with head
 1.20.8.3 03-Dec-2017  jdolecek update from HEAD
 1.20.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.20.8.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.21.2.1 18-May-2014  rmind sync with head
 1.22.2.1 10-Aug-2014  tls Rebase.
 1.23.4.2 05-Feb-2017  skrll Sync with HEAD
 1.23.4.1 22-Sep-2015  skrll Sync with HEAD
 1.24.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.25.28.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.24 10-Sep-2023  andvar rewrite UCBTPDEBUG to use DPRINTF/DPRINTFN definitions from debug.h.

No functional changes intended.
 1.23 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.22 24-Apr-2021  thorpej branches: 1.22.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.21 27-Oct-2012  chs branches: 1.21.52;
split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.20 16-Aug-2011  mbalmer branches: 1.20.2; 1.20.12;
Fix some typos.
 1.19 18-Mar-2009  cegger Ansify function definitions w/o arguments. Generated with sed.
 1.18 28-Apr-2008  martin branches: 1.18.8; 1.18.14;
Remove clause 3 and 4 from TNF licenses
 1.17 04-Mar-2007  christos branches: 1.17.40; 1.17.42; 1.17.44;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.16 12-Nov-2006  plunky branches: 1.16.4;
Tidy away wsmouse_input() abstractions and update
documentation to include the W direction.
 1.15 11-Dec-2005  christos branches: 1.15.20; 1.15.22;
merge ktrace-lwp.
 1.14 14-Aug-2004  uch branches: 1.14.12;
HCAJ1 -> HCVJ
 1.13 28-May-2004  tsarna Refactor tpcalib and hpc* ports to make tpcalib MI, as discussed on tech-kern.
 1.12 15-Jul-2003  lukem __KERNEL_RCSID()
 1.11 03-Jan-2003  takemura branches: 1.11.2;
Added new ioctl command, WSMOUSEIO_GETID to tell touch panel identifier
for tpctl(8).
 1.10 02-Oct-2002  thorpej Use CFATTACH_DECL().
 1.9 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.8 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.7 29-Jan-2002  uch clean up debug print and configuration.
 1.6 15-Sep-2001  uch branches: 1.6.4;
ANSIfy, KNF, change my copyright.
 1.5 22-Feb-2001  uch branches: 1.5.2; 1.5.4;
hpc common files are moved to dev/hpc.
 1.4 22-May-2000  uch branches: 1.4.6;
debug frame buffer draw routines moved to video_subr.c.
plumvideo also use it.
 1.3 04-Mar-2000  uch adjust retry count for TX3922
 1.2 16-Jan-2000  uch add platform dependent TX39 UART module hook.
remove delay from tc5165buf interrupt handler.
backlight config_hook.
 1.1 12-Jan-2000  uch add UCB1200 sound module ucbsnd (core implementation only)
UCB1200 touch panel module moved to ucbtp and sync with vrpiu.
 1.4.6.3 12-Mar-2001  bouyer Sync with HEAD.
 1.4.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.4.6.1 22-May-2000  bouyer file ucbtp.c was added on branch thorpej_scsipi on 2000-11-20 20:46:22 +0000
 1.5.4.4 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.4.3 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.5.4.2 11-Feb-2002  jdolecek Sync w/ -current.
 1.5.4.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.5.2.1 01-Oct-2001  fvdl Catch up with -current.
 1.6.4.5 07-Jan-2003  thorpej Sync with HEAD.
 1.6.4.4 18-Oct-2002  nathanw Catch up to -current.
 1.6.4.3 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.6.4.2 28-Feb-2002  nathanw Catch up to -current.
 1.6.4.1 15-Sep-2001  nathanw file ucbtp.c was added on branch nathanw_sa on 2002-02-28 04:09:56 +0000
 1.11.2.5 24-Jan-2005  skrll Adapt to branch.
 1.11.2.4 21-Sep-2004  skrll Fix the sync with head I botched.
 1.11.2.3 18-Sep-2004  skrll Sync with HEAD.
 1.11.2.2 25-Aug-2004  skrll Sync with HEAD.
 1.11.2.1 03-Aug-2004  skrll Sync with HEAD
 1.14.12.3 03-Sep-2007  yamt sync with head.
 1.14.12.2 30-Dec-2006  yamt sync with head.
 1.14.12.1 21-Jun-2006  yamt sync with head.
 1.15.22.1 10-Dec-2006  yamt sync with head.
 1.15.20.1 18-Nov-2006  ad Sync with head.
 1.16.4.1 12-Mar-2007  rmind Sync with HEAD.
 1.17.44.2 04-May-2009  yamt sync with head.
 1.17.44.1 16-May-2008  yamt sync with head.
 1.17.42.1 18-May-2008  yamt sync with head.
 1.17.40.1 02-Jun-2008  mjf Sync with HEAD.
 1.18.14.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.18.8.1 28-Apr-2009  skrll Sync with HEAD.
 1.20.12.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.20.2.1 30-Oct-2012  yamt sync with head
 1.21.52.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.22.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.4 22-Feb-2001  uch hpc common files are moved to dev/hpc.
 1.3 22-Oct-2000  uch branches: 1.3.2;
reverse color support.
 1.2 22-May-2000  uch debug frame buffer draw routines moved to video_subr.c.
plumvideo also use it.
 1.1 08-May-2000  uch implement 8bpp CLUT of Plum2, TX3912 video module.
 1.3.2.3 12-Mar-2001  bouyer Sync with HEAD.
 1.3.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.3.2.1 22-Oct-2000  bouyer file video_subr.c was added on branch thorpej_scsipi on 2000-11-20 20:46:22 +0000
 1.5 22-Feb-2001  uch hpc common files are moved to dev/hpc.
 1.4 22-Oct-2000  uch branches: 1.4.2;
reverse color support.
 1.3 22-May-2000  uch debug frame buffer draw routines moved to video_subr.c.
plumvideo also use it.
 1.2 13-May-2000  uch fix #define RGB24(r, g, b)
 1.1 08-May-2000  uch implement 8bpp CLUT of Plum2, TX3912 video module.
 1.4.2.3 12-Mar-2001  bouyer Sync with HEAD.
 1.4.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.4.2.1 22-Oct-2000  bouyer file video_subr.h was added on branch thorpej_scsipi on 2000-11-20 20:46:23 +0000
 1.2 22-Feb-2001  uch hpc common files are moved to dev/hpc.
 1.1 02-Nov-1999  takemura branches: 1.1.4; 1.1.6; 1.1.12;
Wsdisplay use small font, VT220 8x10.
 1.1.12.3 12-Mar-2001  bouyer Sync with HEAD.
 1.1.12.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.12.1 02-Nov-1999  bouyer file vt220l8x10.h was added on branch thorpej_scsipi on 2000-11-20 20:46:24 +0000
 1.1.6.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.1.4.2 15-Nov-1999  fvdl Sync with -current
 1.1.4.1 02-Nov-1999  fvdl file vt220l8x10.h was added on branch fvdl-softdep on 1999-11-15 00:37:49 +0000

RSS XML Feed