Home | History | Annotate | only in /src/sys/dev/isapnp
History log of /src/sys/dev/isapnp
RevisionDateAuthorComments
 1.3 11-Apr-2001  jdolecek Only install headers which are actually used by our userland. This
saves about 2.2MB under /usr/include/dev/. Discussed on tech-kern@
recently.

I HOPE to get the list right. The headers I left in are ones
used for MI tools and those whose usage I discovered by grep over tree sources.
Feel free to put needed includes back in if you encounter anything which
should not be removed from lists.
 1.2 23-Jul-1998  christos branches: 1.2.14; 1.2.26;
Create a master list of pnp logical and compatibility device codes instead
of hard-coding it into each driver and use a centralized probe function.
 1.1 12-Jun-1998  cgd Rework the way kernel include files are installed. In the new method,
as with user-land programs, include files are installed by each directory
in the tree that has includes to install. (This allows more flexibility
as to what gets installed, makes 'partial installs' easier, and gives us
more options as to which machines' includes get installed at any given
time.) The old SYS_INCLUDES={symlinks,copies} behaviours are _both_
still supported, though at least one bug in the 'symlinks' case is
fixed by this change. Include files can't be build before installation,
so directories that have includes as targets (e.g. dev/pci) have to move
those targets into a different Makefile.
 1.2.26.1 28-Feb-2002  nathanw Catch up to -current.
 1.2.14.1 21-Apr-2001  bouyer Sync with HEAD
 1.2 19-Oct-2008  apb Use ${TOOL_AWK} instead of ${AWK} or plain "awk" in make commands.
Pass AWK=${TOOL_AWK:Q} to shell scripts that use awk.
 1.1 23-Jul-1998  christos branches: 1.1.146; 1.1.150; 1.1.156;
Create a master list of pnp logical and compatibility device codes instead
of hard-coding it into each driver and use a centralized probe function.
 1.1.156.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.1.150.1 04-May-2009  yamt sync with head.
 1.1.146.1 17-Jan-2009  mjf Sync with HEAD.
 1.20 14-Jul-2016  msaitoh - Use aprint*() more in xxx_attach().
- Add missing aprint_naive("\n").
- Remove extra spaces and tabs.
- KNF.
 1.19 22-Sep-2009  tsutsui branches: 1.19.22; 1.19.40;
Make local functions static.
 1.18 21-Sep-2009  tsutsui Split device_t/softc. Tested on AHA-1542CF.
 1.17 12-May-2009  cegger struct device * -> device_t, no functional changes intended.
 1.16 12-May-2009  cegger struct cfdata * -> cfdata_t, no functional changes intended.
 1.15 28-Apr-2008  martin branches: 1.15.14;
Remove clause 3 and 4 from TNF licenses
 1.14 08-Apr-2008  cegger branches: 1.14.2; 1.14.4;
use aprint_*_dev and device_xname
 1.13 19-Oct-2007  ad branches: 1.13.16;
machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
 1.12 16-Nov-2006  christos branches: 1.12.8; 1.12.22; 1.12.24; 1.12.28;
__unused removal on arguments; approved by core.
 1.11 12-Oct-2006  christos - sprinkle __unused on function decls.
- fix a couple of unused bugs
- no more -Wno-unused for i386
 1.10 29-Mar-2006  thorpej branches: 1.10.8; 1.10.10;
Use device_private().
 1.9 11-Dec-2005  christos branches: 1.9.4; 1.9.6; 1.9.8; 1.9.10; 1.9.12;
merge ktrace-lwp.
 1.8 04-Feb-2005  perry branches: 1.8.6;
de-__P
 1.7 02-Oct-2002  thorpej branches: 1.7.6; 1.7.14; 1.7.16;
Add trailing ; to CFATTACH_DECL.
 1.6 30-Sep-2002  thorpej Use CFATTACH_DECL().
 1.5 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.4 13-Nov-2001  lukem add RCSID
 1.3 22-Mar-1999  mycroft branches: 1.3.20; 1.3.22;
Reject variant numbers which are too large (so that a new version of isapnpdevs
with an old driver will not lose mysteriously).
 1.2 22-Mar-1999  mycroft Update callers of isapnp_devmatch().
 1.1 23-Nov-1998  christos add adaptec aha attachment.
 1.3.22.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.22.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.3.20.2 18-Oct-2002  nathanw Catch up to -current.
 1.3.20.1 14-Nov-2001  nathanw Catch up to -current.
 1.7.16.1 12-Feb-2005  yamt sync with head.
 1.7.14.1 29-Apr-2005  kent sync with -current
 1.7.6.1 04-Feb-2005  skrll Sync with HEAD.
 1.8.6.3 27-Oct-2007  yamt sync with head.
 1.8.6.2 30-Dec-2006  yamt sync with head.
 1.8.6.1 21-Jun-2006  yamt sync with head.
 1.9.12.1 31-Mar-2006  tron Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
 1.9.10.1 19-Apr-2006  elad sync with head.
 1.9.8.1 01-Apr-2006  yamt sync with head.
 1.9.6.1 22-Apr-2006  simonb Sync with head.
 1.9.4.1 09-Sep-2006  rpaulo sync with head
 1.10.10.2 10-Dec-2006  yamt sync with head.
 1.10.10.1 22-Oct-2006  yamt sync with head
 1.10.8.1 18-Nov-2006  ad Sync with head.
 1.12.28.1 25-Oct-2007  bouyer Sync with HEAD.
 1.12.24.1 06-Nov-2007  matt sync with HEAD
 1.12.22.1 26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.12.8.1 23-Oct-2007  ad Sync with head.
 1.13.16.1 02-Jun-2008  mjf Sync with HEAD.
 1.14.4.3 11-Mar-2010  yamt sync with head
 1.14.4.2 16-May-2009  yamt sync with head
 1.14.4.1 16-May-2008  yamt sync with head.
 1.14.2.1 18-May-2008  yamt sync with head.
 1.15.14.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.19.40.1 05-Oct-2016  skrll Sync with HEAD
 1.19.22.1 03-Dec-2017  jdolecek update from HEAD
 1.21 22-Sep-2009  tsutsui - make local functions/variables static
- use __arraycount()
 1.20 22-Sep-2009  tsutsui Split device_t/softc. Tested on AHA-1520B at ISA and ISAPnP.

XXX: ISA attachment shouldn't match cards in ISAPnP mode.
 1.19 12-May-2009  cegger struct device * -> device_t, no functional changes intended.
 1.18 12-May-2009  cegger struct cfdata * -> cfdata_t, no functional changes intended.
 1.17 28-Apr-2008  martin branches: 1.17.14;
Remove clause 3 and 4 from TNF licenses
 1.16 08-Apr-2008  cegger branches: 1.16.2; 1.16.4;
use aprint_*_dev and device_xname
 1.15 19-Oct-2007  ad branches: 1.15.16;
machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
 1.14 16-Nov-2006  christos branches: 1.14.8; 1.14.22; 1.14.24; 1.14.28;
__unused removal on arguments; approved by core.
 1.13 12-Oct-2006  christos - sprinkle __unused on function decls.
- fix a couple of unused bugs
- no more -Wno-unused for i386
 1.12 29-Mar-2006  thorpej branches: 1.12.8; 1.12.10;
Use device_private().
 1.11 11-Dec-2005  christos branches: 1.11.4; 1.11.6; 1.11.8; 1.11.10; 1.11.12;
merge ktrace-lwp.
 1.10 04-Feb-2005  perry branches: 1.10.6;
de-__P
 1.9 02-Oct-2002  thorpej branches: 1.9.6; 1.9.14; 1.9.16;
Add trailing ; to CFATTACH_DECL.
 1.8 30-Sep-2002  thorpej Use CFATTACH_DECL().
 1.7 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.6 13-Nov-2001  lukem add RCSID
 1.5 22-Mar-1999  mycroft branches: 1.5.20; 1.5.22;
Reject variant numbers which are too large (so that a new version of isapnpdevs
with an old driver will not lose mysteriously).
 1.4 22-Mar-1999  mycroft Update callers of isapnp_devmatch().
 1.3 23-Jul-1998  christos Create a master list of pnp logical and compatibility device codes instead
of hard-coding it into each driver and use a centralized probe function.
 1.2 09-Jun-1998  thorpej Nuke __BROKEN_INDIRECT_CONFIG.
 1.1 29-Mar-1998  enami ISAPnP attachment for aic6360 (tested with AHA-1520B).
 1.5.22.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.5.22.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.5.20.2 18-Oct-2002  nathanw Catch up to -current.
 1.5.20.1 14-Nov-2001  nathanw Catch up to -current.
 1.9.16.1 12-Feb-2005  yamt sync with head.
 1.9.14.1 29-Apr-2005  kent sync with -current
 1.9.6.1 04-Feb-2005  skrll Sync with HEAD.
 1.10.6.3 27-Oct-2007  yamt sync with head.
 1.10.6.2 30-Dec-2006  yamt sync with head.
 1.10.6.1 21-Jun-2006  yamt sync with head.
 1.11.12.1 31-Mar-2006  tron Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
 1.11.10.1 19-Apr-2006  elad sync with head.
 1.11.8.1 01-Apr-2006  yamt sync with head.
 1.11.6.1 22-Apr-2006  simonb Sync with head.
 1.11.4.1 09-Sep-2006  rpaulo sync with head
 1.12.10.2 10-Dec-2006  yamt sync with head.
 1.12.10.1 22-Oct-2006  yamt sync with head
 1.12.8.1 18-Nov-2006  ad Sync with head.
 1.14.28.1 25-Oct-2007  bouyer Sync with HEAD.
 1.14.24.1 06-Nov-2007  matt sync with HEAD
 1.14.22.1 26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.14.8.1 23-Oct-2007  ad Sync with head.
 1.15.16.1 02-Jun-2008  mjf Sync with HEAD.
 1.16.4.3 11-Mar-2010  yamt sync with head
 1.16.4.2 16-May-2009  yamt sync with head
 1.16.4.1 16-May-2008  yamt sync with head.
 1.16.2.1 18-May-2008  yamt 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.11 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.10 16-Apr-2008  cegger branches: 1.10.2; 1.10.4;
device_t / softc split. From Hans Rosenfeld.
 1.9 15-Apr-2008  cegger device_t / softc split. From Hans Rosenfeld
 1.8 08-Apr-2008  cegger use aprint_*_dev and device_xname
 1.7 19-Oct-2007  ad branches: 1.7.16;
machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
 1.6 04-Mar-2007  christos branches: 1.6.2; 1.6.14; 1.6.16; 1.6.20;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.5 29-Mar-2006  thorpej branches: 1.5.14;
Use device_private().
 1.4 11-Dec-2005  christos branches: 1.4.4; 1.4.6; 1.4.8; 1.4.10; 1.4.12;
merge ktrace-lwp.
 1.3 27-Feb-2005  perry branches: 1.3.4;
nuke trailing whitespace
 1.2 28-Jan-2004  jdolecek branches: 1.2.4; 1.2.10; 1.2.12;
fix typo
 1.1 28-Jan-2004  jdolecek ISA PnP atppc(4) attachment
based loosely on aha ISA PnP attachment
 1.2.12.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.2.10.1 29-Apr-2005  kent sync with -current
 1.2.4.5 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.2.4.4 21-Sep-2004  skrll Fix the sync with head I botched.
 1.2.4.3 18-Sep-2004  skrll Sync with HEAD.
 1.2.4.2 03-Aug-2004  skrll Sync with HEAD
 1.2.4.1 28-Jan-2004  skrll file atppc_isapnp.c was added on branch ktrace-lwp on 2004-08-03 10:48:22 +0000
 1.3.4.3 27-Oct-2007  yamt sync with head.
 1.3.4.2 03-Sep-2007  yamt sync with head.
 1.3.4.1 21-Jun-2006  yamt sync with head.
 1.4.12.1 31-Mar-2006  tron Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
 1.4.10.1 19-Apr-2006  elad sync with head.
 1.4.8.1 01-Apr-2006  yamt sync with head.
 1.4.6.1 22-Apr-2006  simonb Sync with head.
 1.4.4.1 09-Sep-2006  rpaulo sync with head
 1.5.14.1 12-Mar-2007  rmind Sync with HEAD.
 1.6.20.1 25-Oct-2007  bouyer Sync with HEAD.
 1.6.16.1 06-Nov-2007  matt sync with HEAD
 1.6.14.1 26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.6.2.1 23-Oct-2007  ad Sync with head.
 1.7.16.1 02-Jun-2008  mjf Sync with HEAD.
 1.10.4.1 16-May-2008  yamt sync with head.
 1.10.2.1 18-May-2008  yamt sync with head.
 1.30 08-Dec-2018  thorpej Clean up initialization of com_regs structure, in preparation for
some additional changers.
 1.29 28-Apr-2008  martin branches: 1.29.86; 1.29.88;
Remove clause 3 and 4 from TNF licenses
 1.28 14-Mar-2008  cube branches: 1.28.2; 1.28.4;
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.27 19-Oct-2007  ad branches: 1.27.12; 1.27.16;
machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
 1.26 16-Nov-2006  christos branches: 1.26.8; 1.26.22; 1.26.24; 1.26.28;
__unused removal on arguments; approved by core.
 1.25 12-Oct-2006  christos - sprinkle __unused on function decls.
- fix a couple of unused bugs
- no more -Wno-unused for i386
 1.24 13-Jul-2006  gdamore branches: 1.24.4; 1.24.6;
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.23 29-Mar-2006  thorpej branches: 1.23.4;
Use device_private().
 1.22 11-Dec-2005  christos branches: 1.22.4; 1.22.6; 1.22.8; 1.22.10; 1.22.12;
merge ktrace-lwp.
 1.21 04-Feb-2005  perry branches: 1.21.6;
de-__P
 1.20 02-Oct-2002  thorpej branches: 1.20.6; 1.20.14; 1.20.16;
Add trailing ; to CFATTACH_DECL.
 1.19 30-Sep-2002  thorpej Use CFATTACH_DECL().
 1.18 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.17 13-Nov-2001  lukem add RCSID
 1.16 22-Mar-1999  mycroft branches: 1.16.20; 1.16.22;
Reject variant numbers which are too large (so that a new version of isapnpdevs
with an old driver will not lose mysteriously).
 1.15 22-Mar-1999  mycroft Update callers of isapnp_devmatch().
 1.14 18-Sep-1998  enami Make these files compile again; no longer necessary to pass
iobase to comprobe1.
 1.13 23-Jul-1998  christos Create a master list of pnp logical and compatibility device codes instead
of hard-coding it into each driver and use a centralized probe function.
 1.12 25-Apr-1998  drochner Initialize sc_frequency. (How could this ever work?)
Add PnP entry for USR Sportster 56k internal modem.
Remove BROKEN_INDIRECT_CONFIG.
 1.11 25-Feb-1998  christos Add another 56K modem.
 1.10 02-Dec-1997  mikel add ID for "Best Data Products Smart One 336F"; Dave Huang <khym@bga.com>
 1.9 30-Nov-1997  drochner make it compile without "__BROKEN_INDIRECT_CONFIG"
 1.8 28-Oct-1997  christos DTRT with level and edge interrupts:
- add a type field to the isapnp_pin struct and set to IST_EDGE or
IST_LEVEL depending on the card configuration data.
- use the irq type field in all the drivers instead of hardcoding it.
 1.7 23-Oct-1997  mikel add comments describing what devices correspond to each PnP ID matched
 1.6 17-Oct-1997  christos branches: 1.6.2;
PR/4282: Dave Huang: add logical id for boca modem.
 1.5 16-Oct-1997  thorpej Adjust for new "com" driver home.
 1.4 15-Oct-1997  thorpej Pulldown from marc-pcmcia branch.
 1.3 03-Aug-1997  mikel add support for generic COM devices by matching compatIDs
 1.2 28-May-1997  jtc branches: 1.2.4;
Copyright of this file has been assigned to The NetBSD Foundation
 1.1 25-Apr-1997  explorer Add isapnp attachment for com driver
 1.2.4.3 16-Oct-1997  thorpej Sync w/ trunk.
 1.2.4.2 15-Oct-1997  thorpej Move a few bus-specific things into bus-specific softc structures and
nesting a com_softc within them.
 1.2.4.1 23-Aug-1997  thorpej Update marc-pcmcia branch from trunk.
 1.6.2.2 08-May-1998  mycroft Pull up patch from drochner.
 1.6.2.1 29-Oct-1997  thorpej Pull up from trunk: DTRT with level and edge interrupts.
 1.16.22.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.16.22.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.16.20.2 18-Oct-2002  nathanw Catch up to -current.
 1.16.20.1 14-Nov-2001  nathanw Catch up to -current.
 1.20.16.1 12-Feb-2005  yamt sync with head.
 1.20.14.1 29-Apr-2005  kent sync with -current
 1.20.6.1 04-Feb-2005  skrll Sync with HEAD.
 1.21.6.4 17-Mar-2008  yamt sync with head.
 1.21.6.3 27-Oct-2007  yamt sync with head.
 1.21.6.2 30-Dec-2006  yamt sync with head.
 1.21.6.1 21-Jun-2006  yamt sync with head.
 1.22.12.1 31-Mar-2006  tron Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
 1.22.10.1 19-Apr-2006  elad sync with head.
 1.22.8.2 11-Aug-2006  yamt sync with head
 1.22.8.1 01-Apr-2006  yamt sync with head.
 1.22.6.1 22-Apr-2006  simonb Sync with head.
 1.22.4.1 09-Sep-2006  rpaulo sync with head
 1.23.4.3 17-Jun-2006  gdamore Undo the undo. Restore COM_INIT_REGS.
 1.23.4.2 17-Jun-2006  gdamore Revert COM_INIT_REGS.
 1.23.4.1 15-Jun-2006  gdamore Adapt to new com framework.
 1.24.6.2 10-Dec-2006  yamt sync with head.
 1.24.6.1 22-Oct-2006  yamt sync with head
 1.24.4.1 18-Nov-2006  ad Sync with head.
 1.26.28.1 25-Oct-2007  bouyer Sync with HEAD.
 1.26.24.2 23-Mar-2008  matt sync with HEAD
 1.26.24.1 06-Nov-2007  matt sync with HEAD
 1.26.22.1 26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.26.8.1 23-Oct-2007  ad Sync with head.
 1.27.16.2 02-Jun-2008  mjf Sync with HEAD.
 1.27.16.1 03-Apr-2008  mjf Sync with HEAD.
 1.27.12.1 24-Mar-2008  keiichi sync with head.
 1.28.4.1 16-May-2008  yamt sync with head.
 1.28.2.1 18-May-2008  yamt sync with head.
 1.29.88.1 10-Jun-2019  christos Sync with HEAD
 1.29.86.1 26-Dec-2018  pgoyette Sync with HEAD, resolve a few conflicts
 1.10 03-Jun-2017  christos remove my copyright.
 1.9 02-May-2008  martin branches: 1.9.44; 1.9.64;
Move TNF licenses to 2 clause form
 1.8 11-Dec-2005  christos branches: 1.8.70; 1.8.72; 1.8.74;
merge ktrace-lwp.
 1.7 27-Feb-2005  perry don't leave a whitespace at the end of the stripped RCS Id
 1.6 15-Dec-2003  jmc branches: 1.6.8; 1.6.10;
Fixes from PR#23177. Various lint/logic fixes:
Fix some non-initialized variables
close the output files when done
Redo the printing for RCS strings so they don't expand in the awk script too
Do proper tests for variables existance before accessing

Verified output from all scripts is identical to original versions
 1.5 13-Nov-2001  lukem branches: 1.5.16;
add RCSID to generated .c file
 1.4 06-Apr-1999  augustss branches: 1.4.14; 1.4.16;
Use complete sentences in the generated comments.
 1.3 22-Mar-1999  mycroft branches: 1.3.4;
Add a `variant number' to the tables, so we can handle slight variations in
the chipset without doing something substantially more gross.
 1.2 05-Sep-1998  christos Assign copyright to TNF.
 1.1 23-Jul-1998  christos Create a master list of pnp logical and compatibility device codes instead
of hard-coding it into each driver and use a centralized probe function.
 1.3.4.1 21-Jun-1999  thorpej Sync w/ -current.
 1.4.16.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.4.14.1 14-Nov-2001  nathanw Catch up to -current.
 1.5.16.4 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.5.16.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.5.16.2 18-Sep-2004  skrll Sync with HEAD.
 1.5.16.1 03-Aug-2004  skrll Sync with HEAD
 1.6.10.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.6.8.1 29-Apr-2005  kent sync with -current
 1.8.74.1 16-May-2008  yamt sync with head.
 1.8.72.1 18-May-2008  yamt sync with head.
 1.8.70.1 02-Jun-2008  mjf Sync with HEAD.
 1.9.64.1 28-Aug-2017  skrll Sync with HEAD
 1.9.44.1 03-Dec-2017  jdolecek update from HEAD
 1.23 08-May-2019  isaki Merge isaki-audio2 branch, the overhaul of audio subsystem.
- Interrupt-oriented system rather than thread-oriented.
- Improve stability, quality and performance.
- Split playback and record cleanly. Improve halfduplex support.
- Many bugs are fixed including deadlocks, resource leaks, abuses, etc.
- Simplify audio filter mechanism. The encoding/channels/frequency
conversions are completely handled in the upper layer. So the hard-
ware driver only converts its hardware encoding (if necessary).
- audio_hw_if changes:
- Obsoletes query_encoding and add query_format instead.
- Obsoletes set_params and add set_format instead.
- Remove drain, setfd, mappage.
- The call sequences are changed.
- ioctl AUDIO_GETFD/SETFD, AUDIO_GETCHAN/SETCHAN are obsoleted.
- ioctl AUDIO_{QUERY,GET,SET}FORMAT are introduced.
- cleanup config attributes: au*conv and mulaw.
- All hardware drivers should follow it (I've done as much as possible).

Some file paths are changed:
- dev/audio.c -> dev/audio/audio.c (rewritten)
- dev/audiovar.h -> dev/audio/audiovar.h
- dev/audio_dai.h -> dev/audio/audio_dai.h
- dev/audio_if.h -> dev/audio/audio_if.h
- dev/audiobell.c -> dev/audio/audiobell.c
- dev/audiobellvar.h -> dev/audio/audiobellvar.h
- dev/mulaw.[ch] -> dev/audio/mulaw.[ch] + dev/audio/alaw.c
 1.22 22-May-2010  tsutsui branches: 1.22.60; 1.22.64;
Split device_t/softc. Based on patch from cegger@.
ess_pnpbios.c and ess_ofisa.c fixes by me.

Tested on ess_isapnp.c, and no crash with ess_ofisa.c on shark.
 1.21 29-Sep-2009  cegger branches: 1.21.2; 1.21.4;
use aprint_* in attach routines
 1.20 05-May-2009  cegger struct device * -> device_t
 1.19 08-Apr-2008  cegger branches: 1.19.4; 1.19.18;
use aprint_*_dev and device_xname
 1.18 19-Oct-2007  ad branches: 1.18.16;
machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
 1.17 16-Nov-2006  christos branches: 1.17.8; 1.17.22; 1.17.24; 1.17.28;
__unused removal on arguments; approved by core.
 1.16 12-Oct-2006  christos - sprinkle __unused on function decls.
- fix a couple of unused bugs
- no more -Wno-unused for i386
 1.15 13-Sep-2006  martin branches: 1.15.2;
Avoid duplicate collon, from Stephan 'doomwarrior' in PR kern/34518
 1.14 29-Mar-2006  thorpej branches: 1.14.6; 1.14.8;
Use device_private().
 1.13 11-Dec-2005  christos branches: 1.13.4; 1.13.6; 1.13.8; 1.13.10; 1.13.12;
merge ktrace-lwp.
 1.12 13-Jan-2005  kent branches: 1.12.10;
ansify and KNF
 1.11 04-Aug-2004  drochner adapt for changed essattach() signature
 1.10 02-Oct-2002  thorpej branches: 1.10.6;
Add trailing ; to CFATTACH_DECL.
 1.9 30-Sep-2002  thorpej Use CFATTACH_DECL().
 1.8 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.7 13-Nov-2001  lukem add RCSID
 1.6 18-Jun-1999  augustss branches: 1.6.14; 1.6.16;
Add support for ES18[67][89]. From PR #7427 by AW9K-NNK@asahi-net.or.jp,
Nonaka Kimihiro.
 1.5 22-Mar-1999  mycroft branches: 1.5.4;
Reject variant numbers which are too large (so that a new version of isapnpdevs
with an old driver will not lose mysteriously).
 1.4 22-Mar-1999  mycroft Update callers of isapnp_devmatch().
 1.3 19-Mar-1999  mycroft We only have one IRQ.
 1.2 17-Mar-1999  mycroft Adjust for structure name changes.
 1.1 07-Aug-1998  matt Add an isapnp frontend for the ess driver. It somewhat works
(sounds is made but one buffer is played continuously).
 1.5.4.1 21-Jun-1999  thorpej Sync w/ -current.
 1.6.16.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.6.16.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.6.14.2 18-Oct-2002  nathanw Catch up to -current.
 1.6.14.1 14-Nov-2001  nathanw Catch up to -current.
 1.10.6.4 17-Jan-2005  skrll Sync with HEAD.
 1.10.6.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.10.6.2 18-Sep-2004  skrll Sync with HEAD.
 1.10.6.1 12-Aug-2004  skrll Sync with HEAD.
 1.12.10.3 27-Oct-2007  yamt sync with head.
 1.12.10.2 30-Dec-2006  yamt sync with head.
 1.12.10.1 21-Jun-2006  yamt sync with head.
 1.13.12.1 31-Mar-2006  tron Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
 1.13.10.1 19-Apr-2006  elad sync with head.
 1.13.8.2 14-Sep-2006  yamt sync with head.
 1.13.8.1 01-Apr-2006  yamt sync with head.
 1.13.6.1 22-Apr-2006  simonb Sync with head.
 1.13.4.1 09-Sep-2006  rpaulo sync with head
 1.14.8.1 18-Nov-2006  ad Sync with head.
 1.14.6.1 14-Sep-2006  riz Pull up following revision(s) (requested by martin in ticket #160):
sys/dev/isapnp/ess_isapnp.c: revision 1.15
Avoid duplicate colon, from Stephan 'doomwarrior' in PR kern/34518
 1.15.2.2 10-Dec-2006  yamt sync with head.
 1.15.2.1 22-Oct-2006  yamt sync with head
 1.17.28.1 25-Oct-2007  bouyer Sync with HEAD.
 1.17.24.1 06-Nov-2007  matt sync with HEAD
 1.17.22.1 26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.17.8.1 23-Oct-2007  ad Sync with head.
 1.18.16.1 02-Jun-2008  mjf Sync with HEAD.
 1.19.18.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.19.4.3 11-Aug-2010  yamt sync with head.
 1.19.4.2 11-Mar-2010  yamt sync with head
 1.19.4.1 16-May-2009  yamt sync with head
 1.21.4.1 30-May-2010  rmind sync with head
 1.21.2.1 17-Aug-2010  uebayasi Sync with HEAD.
 1.22.64.2 04-May-2019  isaki Move dev/audio_if.h -> dev/audio/audio_if.h
 1.22.64.1 03-May-2019  isaki Remove dev/auconv.[ch].
Now it is handled in dev/audio/audio.c and dev/audio/linear.c.
Remove dev/mulaw.h.
It already have been just a link to dev/audio/mulaw.h in this
branch.
 1.22.60.1 10-Jun-2019  christos Sync with HEAD
 1.41 24-May-2022  andvar fix various typos in comments, docs and log messages.
 1.40 19-Jan-2020  thorpej Remove Token Ring support.
 1.39 22-Sep-2018  maxv branches: 1.39.6;
Remove isic(4). It is part of ISDN, which we are now retiring.
 1.38 11-Dec-2005  christos branches: 1.38.162; 1.38.164; 1.38.166;
merge ktrace-lwp.
 1.37 31-Jan-2004  jdolecek fix typo in previous, pointed out by Patrick Welche in private mail
 1.36 31-Jan-2004  jdolecek add dependency on isadma for atppc attachments
add atppc_isadma.c for atppc@isapnp and atppc@ofisa, too
 1.35 28-Jan-2004  jdolecek ISA PnP atppc(4) attachment
based loosely on aha ISA PnP attachment
 1.34 14-Aug-2003  itojun aha and le uses isadma
 1.33 05-Oct-2002  tsutsui branches: 1.33.6;
Overhaul of fmv(4) driver:
- Split if_fmv.c into MI/MD part and add ISA-PnP attachment for FMV-183.
(XXX FMV-184 is not tested. It would require extra media-select functions..)
- Fix probe functions of fmv_isa so that FMV-181A/182A will also match.
Fixes port-i386/9476.
 1.32 22-Apr-2002  augustss Rename the audio "bus" attribute audiobus to avoid confusion with audio
device.
 1.31 02-Feb-2002  jdolecek Reduce the massive code duplication regarding joy(4). Split it into
MI and MD parts, and make ISA/ISAPNP/PCI joy(4) attachments MI.
 1.30 21-Jan-2002  martin Add support for ITK IX1 PnP cards.
Thanks to Nick Hudson for testing.
 1.29 28-Nov-2001  lukem - convert usage of "defopt" to "defflag" where the relevant option does
not support a value (e.g., it's to be used as "options FOO" instead of
"options FOO=xxx"). options that take a value were converted to
defparam recently.
- minor whitespace & formatting cleanups
 1.28 27-Nov-2001  yamt add isapnp frontend for cs driver.
 1.27 24-Feb-2001  lukem branches: 1.27.2; 1.27.4;
whitespace police
 1.26 18-Feb-2001  martin Filename cleanup police (per discussion with Soren S. Jorvang):
remove all (legacy) "i4b_" prefixes outside of sys/netisdn.
Prefix all card specific driver support files with the basename
of the driver bus attachement file.

Renamed here:
isapnp_isic.c -> isic_isapnp.c
i4b_ctx_s0P.c -> isic_isapnp_ctx_s0P.c
i4b_drn_ngo.c -> isic_isapnp_drn_ngo.c
i4b_dynalink.c -> isic_isapnp_dynalink.c
i4b_elsa_qs1i.c -> isic_isapnp_elsa_qs1i.c
i4b_siemens_isurf.c -> isic_isapnp_siemens_isurf.c
i4b_sws.c -> isic_isapnp_sws.c
i4b_tel_s0P.c -> isic_isapnp_tel_s0P.c
 1.25 05-Jan-2001  martin Enable the imported ISDN4BSD based ISDN subsystem.

This is the kernel part (userland to follow soon) of the latest (and
very probably last) release (version 0.96) of ISDN4BSD. ISDN4BSD has a
homepage at http://www.freebsd-support.de/i4b/.

It gives the user various ways to use the isdn connection: raw data (via
the i4brbch "raw b-channel" device), ppp (via the isp "isdn PPP" device),
voice/answering machine (the i4btel "telephone" device) and ip over isdn
(the ipr device, "IP over raw ISDN").

Supported are a bunch of common and older cards, more to be added soon
after some cleanup. Currently only the european E-DSS1 variant of the
ISDN D channel protocol is supported.
 1.24 17-Dec-2000  thorpej ISAPnP front-end for the Aironet 802.11 cards. Note this is currently
untested.
 1.23 22-Mar-1999  bad branches: 1.23.8;
config(8) glue for Token-Ring and TROPIC drivers.
 1.22 22-Mar-1999  mycroft Add a mpu_isapnp attachment.
 1.21 10-Jan-1999  augustss XXX Add a disgusting hack to make the CS sound chips work in PnP mode.
XXX Read about it in isapnp.c.
 1.20 23-Nov-1998  christos add adaptec aha attachment
 1.19 31-Oct-1998  thorpej Add code to detect a RealTek 8019 chip, and use the media selection
support if present.
 1.18 12-Aug-1998  scottr Nit: space -> tab conversion. No functional change.
 1.17 07-Aug-1998  matt Add an isapnp frontend for the ess driver. It somewhat works
(sounds is made but one buffer is played continuously).
 1.16 30-Jul-1998  christos Add a hook that resets the bios configuration from the pnp devices
thus making them invisible to isa probes [from OpenBSD]
 1.15 23-Jul-1998  christos branches: 1.15.2;
Create a master list of pnp logical and compatibility device codes instead
of hard-coding it into each driver and use a centralized probe function.
 1.14 21-Jul-1998  drochner adapt to LANCE driver split
 1.13 30-Jun-1998  augustss Add WSS attachment for ISAPnP. Not tested yet.
 1.12 20-May-1998  augustss Add a Yamaha OPL3-SA3 driver and clean up all AD1848 drivers.
Submitted by Constantine Sapuntzakis <csapuntz@reeducation-labor.lcs.mit.edu>
and originally written for OpenBSD.
 1.11 29-Mar-1998  enami Attach aic at isapnp.
 1.10 16-Feb-1998  thorpej Remove "class" declarations, and add "devclass" declarations where
appropriate. Fix several inconsistencies between device class and
attributes. Mostly from Chris Demetriou.
 1.9 23-Jan-1998  mycroft Add a PnP IDE frontend.
 1.8 12-Jan-1998  thorpej Adjust for config changes.
 1.7 16-Oct-1997  matt Add support NE2000 ISAPnp boards (only DEC DE305 supported now).
 1.6 06-Oct-1997  augustss Add the GUS PnP driver.
 1.5 20-Jul-1997  pk branches: 1.5.2;
config.new => config
 1.4 25-Apr-1997  explorer Add isapnp attachment for com driver
 1.3 31-Mar-1997  jonathan PCnet-PnP front-end driver for isapnp PCnet cards.
 1.2 22-Jan-1997  mycroft Add a frontend for the 3C509B.
 1.1 16-Jan-1997  christos Plug and Play support.
 1.5.2.1 14-Oct-1997  thorpej Update marc-pcmcia branch from trunk.
 1.15.2.1 08-Aug-1998  eeh Revert cdevsw mmap routines to return int.
 1.23.8.2 12-Mar-2001  bouyer Sync with HEAD.
 1.23.8.1 05-Jan-2001  bouyer Sync with HEAD
 1.27.4.3 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.27.4.2 11-Feb-2002  jdolecek Sync w/ -current.
 1.27.4.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.27.2.4 18-Oct-2002  nathanw Catch up to -current.
 1.27.2.3 20-Jun-2002  nathanw Catch up to -current.
 1.27.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.27.2.1 08-Jan-2002  nathanw Catch up to -current.
 1.33.6.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.33.6.2 18-Sep-2004  skrll Sync with HEAD.
 1.33.6.1 03-Aug-2004  skrll Sync with HEAD
 1.38.166.1 24-Sep-2018  jdolecek partial HEAD sync - ISDN device removal
 1.38.164.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.38.164.1 10-Jun-2019  christos Sync with HEAD
 1.38.162.1 30-Sep-2018  pgoyette Ssync with HEAD
 1.39.6.1 25-Jan-2020  ad Sync with head.
 1.41 29-Feb-2020  isaki Remove rounding by 4 bytes on round_blocksize().
For drivers which supports only 16bit * 2channels sampling,
rounding by 4 bytes no longer meaningful.
 1.40 08-May-2019  isaki branches: 1.40.4;
Merge isaki-audio2 branch, the overhaul of audio subsystem.
- Interrupt-oriented system rather than thread-oriented.
- Improve stability, quality and performance.
- Split playback and record cleanly. Improve halfduplex support.
- Many bugs are fixed including deadlocks, resource leaks, abuses, etc.
- Simplify audio filter mechanism. The encoding/channels/frequency
conversions are completely handled in the upper layer. So the hard-
ware driver only converts its hardware encoding (if necessary).
- audio_hw_if changes:
- Obsoletes query_encoding and add query_format instead.
- Obsoletes set_params and add set_format instead.
- Remove drain, setfd, mappage.
- The call sequences are changed.
- ioctl AUDIO_GETFD/SETFD, AUDIO_GETCHAN/SETCHAN are obsoleted.
- ioctl AUDIO_{QUERY,GET,SET}FORMAT are introduced.
- cleanup config attributes: au*conv and mulaw.
- All hardware drivers should follow it (I've done as much as possible).

Some file paths are changed:
- dev/audio.c -> dev/audio/audio.c (rewritten)
- dev/audiovar.h -> dev/audio/audiovar.h
- dev/audio_dai.h -> dev/audio/audio_dai.h
- dev/audio_if.h -> dev/audio/audio_if.h
- dev/audiobell.c -> dev/audio/audiobell.c
- dev/audiobellvar.h -> dev/audio/audiobellvar.h
- dev/mulaw.[ch] -> dev/audio/mulaw.[ch] + dev/audio/alaw.c
 1.39 16-Mar-2019  isaki branches: 1.39.2;
Use C99 style struct initializer to audio_hw_if.
 1.38 14-Jul-2016  msaitoh branches: 1.38.18;
- Use aprint*() more in xxx_attach().
- Add missing aprint_naive("\n").
- Remove extra spaces and tabs.
- KNF.
 1.37 27-Oct-2012  chs branches: 1.37.14;
split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.36 23-Nov-2011  jmcneill branches: 1.36.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.35 12-May-2009  cegger branches: 1.35.12; 1.35.14;
struct device * -> device_t, no functional changes intended.
 1.34 12-May-2009  cegger struct cfdata * -> cfdata_t, no functional changes intended.
 1.33 28-Apr-2008  martin branches: 1.33.12; 1.33.14;
Remove clause 3 and 4 from TNF licenses
 1.32 08-Apr-2008  cegger branches: 1.32.2; 1.32.4;
use aprint_*_dev and device_xname
 1.31 19-Oct-2007  ad branches: 1.31.16;
machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
 1.30 16-Nov-2006  christos branches: 1.30.8; 1.30.22; 1.30.24; 1.30.28;
__unused removal on arguments; approved by core.
 1.29 12-Oct-2006  christos - sprinkle __unused on function decls.
- fix a couple of unused bugs
- no more -Wno-unused for i386
 1.28 25-Sep-2006  jmcneill PR# 32473: GUS PnP audio device seems to be broken in NetBSD 3.0

We now need to call isa_drq_alloc to reserve DMA channel(s) for ISA devices.
Thanks to Ben Collver for testing the patch for me!
 1.27 30-Aug-2006  christos branches: 1.27.2; 1.27.4;
fix missing initializer
 1.26 29-Mar-2006  thorpej Use device_private().
 1.25 11-Dec-2005  christos branches: 1.25.4; 1.25.6; 1.25.8; 1.25.10; 1.25.12;
merge ktrace-lwp.
 1.24 13-Jan-2005  kent branches: 1.24.8; 1.24.10;
ansify and KNF
 1.23 29-Oct-2004  yamt constify audio_hw_if, midi_hw_if, and radio_hw_if.
 1.22 03-May-2003  wiz branches: 1.22.2;
DMA, not dma nor Dma.
 1.21 11-Oct-2002  fvdl Don't include <i386/isa/icu.h>
 1.20 02-Oct-2002  thorpej Add trailing ; to CFATTACH_DECL.
 1.19 30-Sep-2002  thorpej Use CFATTACH_DECL().
 1.18 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.17 13-Nov-2001  lukem add RCSID
 1.16 03-Oct-2001  augustss Add a new optional method, dev_ioctl, to the audio hardware driver interface.
It is called when an unrecognized ioctl() is performed on a device,
thus allowing ioctl()s that frob the hardware driver (like loading
microcode).
 1.15 07-Feb-2000  thorpej branches: 1.15.6; 1.15.8; 1.15.10;
Add a new function call to the ISA DMA API: isa_dmamaxsize(), which returns
the maximum transfer size for the specified DMA channel. Make all clients
of ISA DMA use this call to determine their maximum transfer size.
 1.14 18-May-1999  augustss branches: 1.14.2;
Make it possible for this driver tp work again.
From Thomas Klausner - wiz@danbala.tuwien.ac.at
 1.13 22-Mar-1999  mycroft branches: 1.13.2; 1.13.4;
Reject variant numbers which are too large (so that a new version of isapnpdevs
with an old driver will not lose mysteriously).
 1.12 22-Mar-1999  mycroft Update callers of isapnp_devmatch().
 1.11 17-Feb-1999  mycroft Update comments.
 1.10 17-Feb-1999  mycroft Pass the direction to the allocm and round_buffersize methods.
Some drivers need this to properly allocate DMAable memory.
 1.9 23-Jul-1998  christos Create a master list of pnp logical and compatibility device codes instead
of hard-coding it into each driver and use a centralized probe function.
 1.8 09-Jun-1998  thorpej Nuke __BROKEN_INDIRECT_CONFIG.
 1.7 09-Jun-1998  thorpej Adjust for the changes to the ISA DMA API.
 1.6 12-Jan-1998  thorpej Adjust for config changes.
 1.5 30-Nov-1997  drochner make it compile without "__BROKEN_INDIRECT_CONFIG"
 1.4 19-Nov-1997  augustss Make sure isapnp_config() runs before we allocate the DMA channels.
 1.3 19-Oct-1997  augustss branches: 1.3.2;
Make the audio API (almost) SunOS compatible.
The changes is to allow some limited mixer manipulation through
the audio device (instead of the mixer device).
This rendered 4 methods in audio_hw_if unused so garbage collect these.
 1.2 09-Oct-1997  jtc branches: 1.2.2;
Fix tipo inherited from old version of TNF copyright template.
 1.1 06-Oct-1997  augustss GUS PnP sound card driver from Kari Mettinen.
 1.2.2.2 14-Oct-1997  thorpej Update marc-pcmcia branch from trunk.
 1.2.2.1 09-Oct-1997  thorpej file gus_isapnp.c was added on branch marc-pcmcia on 1997-10-14 10:24:12 +0000
 1.3.2.1 19-Nov-1997  mellon Pull rev 1.4 up from trunk (augustss)
 1.13.4.1 21-Jun-1999  thorpej Sync w/ -current.
 1.13.2.1 08-Jan-2000  he Pull up revision 1.14 (requested by wiz):
Fix a problem preventing GUS P&P sound-card from working.
 1.14.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.15.10.1 11-Oct-2001  fvdl Catch up with -current. Fix some bogons in the sparc64 kbd/ms
attach code. cd18xx conversion provided by mrg.
 1.15.8.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.15.8.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.15.6.3 18-Oct-2002  nathanw Catch up to -current.
 1.15.6.2 14-Nov-2001  nathanw Catch up to -current.
 1.15.6.1 08-Oct-2001  nathanw Catch up to -current.
 1.22.2.2 17-Jan-2005  skrll Sync with HEAD.
 1.22.2.1 02-Nov-2004  skrll Sync with HEAD.
 1.24.10.3 27-Oct-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.24.8.1 06-Oct-2006  ghen Pull up following revision(s) (requested by jmcneill in ticket #1531):
sys/dev/isapnp/gus_isapnp.c: revision 1.28
PR# 32473: GUS PnP audio device seems to be broken in NetBSD 3.0
We now need to call isa_drq_alloc to reserve DMA channel(s) for ISA
devices.
Thanks to Ben Collver for testing the patch for me!
 1.25.12.1 31-Mar-2006  tron Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
 1.25.10.1 19-Apr-2006  elad sync with head.
 1.25.8.2 03-Sep-2006  yamt sync with head.
 1.25.8.1 01-Apr-2006  yamt sync with head.
 1.25.6.1 22-Apr-2006  simonb Sync with head.
 1.25.4.1 09-Sep-2006  rpaulo sync with head
 1.27.4.2 10-Dec-2006  yamt sync with head.
 1.27.4.1 22-Oct-2006  yamt sync with head
 1.27.2.1 18-Nov-2006  ad Sync with head.
 1.30.28.1 25-Oct-2007  bouyer Sync with HEAD.
 1.30.24.1 06-Nov-2007  matt sync with HEAD
 1.30.22.1 26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.30.8.1 23-Oct-2007  ad Sync with head.
 1.31.16.1 02-Jun-2008  mjf Sync with HEAD.
 1.32.4.2 16-May-2009  yamt sync with head
 1.32.4.1 16-May-2008  yamt sync with head.
 1.32.2.1 18-May-2008  yamt sync with head.
 1.33.14.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.33.12.1 12-Dec-2008  ad Checkpoint work in progress.
 1.35.14.2 22-Nov-2011  jmcneill get rid of unused 'powerstate' callback in audio_hw_if
 1.35.14.1 19-Nov-2011  jmcneill port ad-audiomp2 branch changes to 5.99.56
todo:
- port ad-audiomp2 pcppi changes
- these drivers need to be fixed:
- emuxki
- gcscaudio
- hdafg
- uaudio
- umidi
- MD audio drivers
 1.35.12.2 30-Oct-2012  yamt sync with head
 1.35.12.1 17-Apr-2012  yamt sync with head
 1.36.8.2 03-Dec-2017  jdolecek update from HEAD
 1.36.8.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.37.14.1 05-Oct-2016  skrll Sync with HEAD
 1.38.18.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.38.18.1 10-Jun-2019  christos Sync with HEAD
 1.39.2.5 04-May-2019  isaki Move dev/audio_if.h -> dev/audio/audio_if.h
 1.39.2.4 04-May-2019  isaki Remove obsoleted methods in audio_hw_if.
- drain: is handled in audio upper layer now.
- mappage: is handled in audio upper layer now.
- setfd: no one uses and it's meaningless now.
 1.39.2.3 03-May-2019  isaki Remove unnecessary header file.
 1.39.2.2 03-May-2019  isaki Remove dev/auconv.[ch].
Now it is handled in dev/audio/audio.c and dev/audio/linear.c.
Remove dev/mulaw.h.
It already have been just a link to dev/audio/mulaw.h in this
branch.
 1.39.2.1 21-Apr-2019  isaki Adapt ad1848/cs4231 families to audio2.
 1.40.4.1 29-Feb-2020  ad Sync with head.
 1.2 18-Feb-2001  martin Filename cleanup police (per discussion with Soren S. Jorvang):
remove all (legacy) "i4b_" prefixes outside of sys/netisdn.
Prefix all card specific driver support files with the basename
of the driver bus attachement file.

Renamed here:
isapnp_isic.c -> isic_isapnp.c
i4b_ctx_s0P.c -> isic_isapnp_ctx_s0P.c
i4b_drn_ngo.c -> isic_isapnp_drn_ngo.c
i4b_dynalink.c -> isic_isapnp_dynalink.c
i4b_elsa_qs1i.c -> isic_isapnp_elsa_qs1i.c
i4b_siemens_isurf.c -> isic_isapnp_siemens_isurf.c
i4b_sws.c -> isic_isapnp_sws.c
i4b_tel_s0P.c -> isic_isapnp_tel_s0P.c
 1.1 05-Jan-2001  martin branches: 1.1.1;
Initial revision
 1.1.1.1 05-Jan-2001  martin branches: 1.1.1.1.2;
Initial import of ISDN4BSD release 0.96
 1.1.1.1.2.3 12-Mar-2001  bouyer Sync with HEAD.
 1.1.1.1.2.2 05-Jan-2001  bouyer Sync with HEAD
 1.1.1.1.2.1 05-Jan-2001  bouyer file i4b_ctx_s0P.c was added on branch thorpej_scsipi on 2001-01-05 17:35:53 +0000
 1.2 18-Feb-2001  martin Filename cleanup police (per discussion with Soren S. Jorvang):
remove all (legacy) "i4b_" prefixes outside of sys/netisdn.
Prefix all card specific driver support files with the basename
of the driver bus attachement file.

Renamed here:
isapnp_isic.c -> isic_isapnp.c
i4b_ctx_s0P.c -> isic_isapnp_ctx_s0P.c
i4b_drn_ngo.c -> isic_isapnp_drn_ngo.c
i4b_dynalink.c -> isic_isapnp_dynalink.c
i4b_elsa_qs1i.c -> isic_isapnp_elsa_qs1i.c
i4b_siemens_isurf.c -> isic_isapnp_siemens_isurf.c
i4b_sws.c -> isic_isapnp_sws.c
i4b_tel_s0P.c -> isic_isapnp_tel_s0P.c
 1.1 05-Jan-2001  martin branches: 1.1.1;
Initial revision
 1.1.1.1 05-Jan-2001  martin branches: 1.1.1.1.2;
Initial import of ISDN4BSD release 0.96
 1.1.1.1.2.3 12-Mar-2001  bouyer Sync with HEAD.
 1.1.1.1.2.2 05-Jan-2001  bouyer Sync with HEAD
 1.1.1.1.2.1 05-Jan-2001  bouyer file i4b_drn_ngo.c was added on branch thorpej_scsipi on 2001-01-05 17:35:53 +0000
 1.2 18-Feb-2001  martin Filename cleanup police (per discussion with Soren S. Jorvang):
remove all (legacy) "i4b_" prefixes outside of sys/netisdn.
Prefix all card specific driver support files with the basename
of the driver bus attachement file.

Renamed here:
isapnp_isic.c -> isic_isapnp.c
i4b_ctx_s0P.c -> isic_isapnp_ctx_s0P.c
i4b_drn_ngo.c -> isic_isapnp_drn_ngo.c
i4b_dynalink.c -> isic_isapnp_dynalink.c
i4b_elsa_qs1i.c -> isic_isapnp_elsa_qs1i.c
i4b_siemens_isurf.c -> isic_isapnp_siemens_isurf.c
i4b_sws.c -> isic_isapnp_sws.c
i4b_tel_s0P.c -> isic_isapnp_tel_s0P.c
 1.1 05-Jan-2001  martin branches: 1.1.1;
Initial revision
 1.1.1.1 05-Jan-2001  martin branches: 1.1.1.1.2;
Initial import of ISDN4BSD release 0.96
 1.1.1.1.2.3 12-Mar-2001  bouyer Sync with HEAD.
 1.1.1.1.2.2 05-Jan-2001  bouyer Sync with HEAD
 1.1.1.1.2.1 05-Jan-2001  bouyer file i4b_dynalink.c was added on branch thorpej_scsipi on 2001-01-05 17:35:54 +0000
 1.2 18-Feb-2001  martin Filename cleanup police (per discussion with Soren S. Jorvang):
remove all (legacy) "i4b_" prefixes outside of sys/netisdn.
Prefix all card specific driver support files with the basename
of the driver bus attachement file.

Renamed here:
isapnp_isic.c -> isic_isapnp.c
i4b_ctx_s0P.c -> isic_isapnp_ctx_s0P.c
i4b_drn_ngo.c -> isic_isapnp_drn_ngo.c
i4b_dynalink.c -> isic_isapnp_dynalink.c
i4b_elsa_qs1i.c -> isic_isapnp_elsa_qs1i.c
i4b_siemens_isurf.c -> isic_isapnp_siemens_isurf.c
i4b_sws.c -> isic_isapnp_sws.c
i4b_tel_s0P.c -> isic_isapnp_tel_s0P.c
 1.1 05-Jan-2001  martin branches: 1.1.1;
Initial revision
 1.1.1.1 05-Jan-2001  martin branches: 1.1.1.1.2;
Initial import of ISDN4BSD release 0.96
 1.1.1.1.2.3 12-Mar-2001  bouyer Sync with HEAD.
 1.1.1.1.2.2 05-Jan-2001  bouyer Sync with HEAD
 1.1.1.1.2.1 05-Jan-2001  bouyer file i4b_elsa_qs1i.c was added on branch thorpej_scsipi on 2001-01-05 17:35:54 +0000
 1.2 18-Feb-2001  martin Filename cleanup police (per discussion with Soren S. Jorvang):
remove all (legacy) "i4b_" prefixes outside of sys/netisdn.
Prefix all card specific driver support files with the basename
of the driver bus attachement file.

Renamed here:
isapnp_isic.c -> isic_isapnp.c
i4b_ctx_s0P.c -> isic_isapnp_ctx_s0P.c
i4b_drn_ngo.c -> isic_isapnp_drn_ngo.c
i4b_dynalink.c -> isic_isapnp_dynalink.c
i4b_elsa_qs1i.c -> isic_isapnp_elsa_qs1i.c
i4b_siemens_isurf.c -> isic_isapnp_siemens_isurf.c
i4b_sws.c -> isic_isapnp_sws.c
i4b_tel_s0P.c -> isic_isapnp_tel_s0P.c
 1.1 05-Jan-2001  martin branches: 1.1.1;
Initial revision
 1.1.1.1 05-Jan-2001  martin branches: 1.1.1.1.2;
Initial import of ISDN4BSD release 0.96
 1.1.1.1.2.3 12-Mar-2001  bouyer Sync with HEAD.
 1.1.1.1.2.2 05-Jan-2001  bouyer Sync with HEAD
 1.1.1.1.2.1 05-Jan-2001  bouyer file i4b_siemens_isurf.c was added on branch thorpej_scsipi on 2001-01-05 17:35:54 +0000
 1.2 18-Feb-2001  martin Filename cleanup police (per discussion with Soren S. Jorvang):
remove all (legacy) "i4b_" prefixes outside of sys/netisdn.
Prefix all card specific driver support files with the basename
of the driver bus attachement file.

Renamed here:
isapnp_isic.c -> isic_isapnp.c
i4b_ctx_s0P.c -> isic_isapnp_ctx_s0P.c
i4b_drn_ngo.c -> isic_isapnp_drn_ngo.c
i4b_dynalink.c -> isic_isapnp_dynalink.c
i4b_elsa_qs1i.c -> isic_isapnp_elsa_qs1i.c
i4b_siemens_isurf.c -> isic_isapnp_siemens_isurf.c
i4b_sws.c -> isic_isapnp_sws.c
i4b_tel_s0P.c -> isic_isapnp_tel_s0P.c
 1.1 05-Jan-2001  martin branches: 1.1.1;
Initial revision
 1.1.1.1 05-Jan-2001  martin branches: 1.1.1.1.2;
Initial import of ISDN4BSD release 0.96
 1.1.1.1.2.3 12-Mar-2001  bouyer Sync with HEAD.
 1.1.1.1.2.2 05-Jan-2001  bouyer Sync with HEAD
 1.1.1.1.2.1 05-Jan-2001  bouyer file i4b_sws.c was added on branch thorpej_scsipi on 2001-01-05 17:35:54 +0000
 1.2 18-Feb-2001  martin Filename cleanup police (per discussion with Soren S. Jorvang):
remove all (legacy) "i4b_" prefixes outside of sys/netisdn.
Prefix all card specific driver support files with the basename
of the driver bus attachement file.

Renamed here:
isapnp_isic.c -> isic_isapnp.c
i4b_ctx_s0P.c -> isic_isapnp_ctx_s0P.c
i4b_drn_ngo.c -> isic_isapnp_drn_ngo.c
i4b_dynalink.c -> isic_isapnp_dynalink.c
i4b_elsa_qs1i.c -> isic_isapnp_elsa_qs1i.c
i4b_siemens_isurf.c -> isic_isapnp_siemens_isurf.c
i4b_sws.c -> isic_isapnp_sws.c
i4b_tel_s0P.c -> isic_isapnp_tel_s0P.c
 1.1 05-Jan-2001  martin branches: 1.1.1;
Initial revision
 1.1.1.1 05-Jan-2001  martin branches: 1.1.1.1.2;
Initial import of ISDN4BSD release 0.96
 1.1.1.1.2.3 12-Mar-2001  bouyer Sync with HEAD.
 1.1.1.1.2.2 05-Jan-2001  bouyer Sync with HEAD
 1.1.1.1.2.1 05-Jan-2001  bouyer file i4b_tel_s0P.c was added on branch thorpej_scsipi on 2001-01-05 17:35:54 +0000
 1.34 25-Sep-2022  thorpej Remove unnecessary include of <sys/malloc.h>.
 1.33 14-Jul-2016  msaitoh - Use aprint*() more in xxx_attach().
- Add missing aprint_naive("\n").
- Remove extra spaces and tabs.
- KNF.
 1.32 27-Oct-2012  chs branches: 1.32.14;
split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.31 23-May-2010  jym branches: 1.31.8; 1.31.18;
PRIxPADDR instead of %lx to print bus_addr_t/paddr_t variables.
 1.30 17-Sep-2009  tsutsui branches: 1.30.2; 1.30.4;
Misc KNF and cosmetics, and remove unnecessary casts etc.
 1.29 17-Sep-2009  tsutsui Use proper types or variables for device_t and softc.
 1.28 12-May-2009  cegger struct device * -> device_t, no functional changes intended.
 1.27 12-May-2009  cegger struct cfdata * -> cfdata_t, no functional changes intended.
 1.26 26-Jun-2008  drochner branches: 1.26.10;
constify the pcmcia/cardbus method tables
 1.25 08-Apr-2008  cegger branches: 1.25.4; 1.25.6; 1.25.8;
use aprint_*_dev and device_xname
 1.24 19-Oct-2007  ad branches: 1.24.16;
machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
 1.23 16-Nov-2006  christos branches: 1.23.8; 1.23.22; 1.23.24; 1.23.28;
__unused removal on arguments; approved by core.
 1.22 12-Oct-2006  christos - sprinkle __unused on function decls.
- fix a couple of unused bugs
- no more -Wno-unused for i386
 1.21 30-Aug-2006  christos branches: 1.21.2; 1.21.4;
fix incomplete initializers
 1.20 29-Mar-2006  thorpej Use device_private().
 1.19 11-Dec-2005  christos branches: 1.19.4; 1.19.6; 1.19.8; 1.19.10; 1.19.12;
merge ktrace-lwp.
 1.18 04-Feb-2005  perry branches: 1.18.6;
de-__P
 1.17 01-Sep-2004  drochner branches: 1.17.4; 1.17.6;
more namespace sanity: ISACF_*_DEFAULT constants are for ISA
frontends, not for general use
 1.16 11-Aug-2004  mycroft Rather than having a call up from the low-level driver to get the card type,
instead have a call down from the PCMCIA mid-layer to set it. Use this from
pcmcia_function_enable(). (Currently the policy is the same, but this would
allow for more flexibility in deciding which mode to use.)

Now it is safe to hold the socket enabled during attach, so do that. Only
one enable/disable cycle to attach a card now!
 1.15 02-Oct-2002  thorpej branches: 1.15.6;
Add trailing ; to CFATTACH_DECL.
 1.14 30-Sep-2002  thorpej Use CFATTACH_DECL().
 1.13 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.12 15-Nov-2001  lukem don't need <sys/types.h> when including <sys/param.h>
 1.11 13-Nov-2001  lukem add RCSID
 1.10 26-Sep-2001  thorpej Use ISACF_*_DEFAULT rather than *UNK.
 1.9 28-Jun-2000  mrg branches: 1.9.2; 1.9.4; 1.9.6;
remove include of <vm/vm.h>
 1.8 23-Feb-2000  soren Reflect version 1.13 of i82365_isa.c. Untested.
 1.7 01-Feb-2000  chopps implement probing for available irqs on non-cirrus pcmcia controllers
including cardbus controllers running in pcic mode
 1.6 22-Mar-1999  mycroft branches: 1.6.8;
Reject variant numbers which are too large (so that a new version of isapnpdevs
with an old driver will not lose mysteriously).
 1.5 22-Mar-1999  mycroft Update callers of isapnp_devmatch().
 1.4 23-Jul-1998  christos Create a master list of pnp logical and compatibility device codes instead
of hard-coding it into each driver and use a centralized probe function.
 1.3 23-Jun-1998  sommerfe nit: fix printf to match locator names.
 1.2 09-Jun-1998  thorpej Nuke __BROKEN_INDIRECT_CONFIG.
 1.1 07-Jun-1998  sommerfe Add ISAPnP attachment for PCMCIA bus controller; reorganize ISA
attachment to let it share code with PnP attachment.
 1.6.8.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.9.6.1 01-Oct-2001  fvdl Catch up with -current.
 1.9.4.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.9.4.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.9.2.4 18-Oct-2002  nathanw Catch up to -current.
 1.9.2.3 08-Jan-2002  nathanw Catch up to -current.
 1.9.2.2 14-Nov-2001  nathanw Catch up to -current.
 1.9.2.1 26-Sep-2001  nathanw Catch up to -current.
Again.
 1.15.6.5 04-Feb-2005  skrll Sync with HEAD.
 1.15.6.4 21-Sep-2004  skrll Fix the sync with head I botched.
 1.15.6.3 18-Sep-2004  skrll Sync with HEAD.
 1.15.6.2 03-Sep-2004  skrll Sync with HEAD
 1.15.6.1 12-Aug-2004  skrll Sync with HEAD.
 1.17.6.1 12-Feb-2005  yamt sync with head.
 1.17.4.1 29-Apr-2005  kent sync with -current
 1.18.6.3 27-Oct-2007  yamt sync with head.
 1.18.6.2 30-Dec-2006  yamt sync with head.
 1.18.6.1 21-Jun-2006  yamt sync with head.
 1.19.12.1 31-Mar-2006  tron Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
 1.19.10.1 19-Apr-2006  elad sync with head.
 1.19.8.2 03-Sep-2006  yamt sync with head.
 1.19.8.1 01-Apr-2006  yamt sync with head.
 1.19.6.1 22-Apr-2006  simonb Sync with head.
 1.19.4.1 09-Sep-2006  rpaulo sync with head
 1.21.4.2 10-Dec-2006  yamt sync with head.
 1.21.4.1 22-Oct-2006  yamt sync with head
 1.21.2.1 18-Nov-2006  ad Sync with head.
 1.23.28.1 25-Oct-2007  bouyer Sync with HEAD.
 1.23.24.1 06-Nov-2007  matt sync with HEAD
 1.23.22.1 26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.23.8.1 23-Oct-2007  ad Sync with head.
 1.24.16.2 29-Jun-2008  mjf Sync with HEAD.
 1.24.16.1 02-Jun-2008  mjf Sync with HEAD.
 1.25.8.1 27-Jun-2008  simonb Sync with head.
 1.25.6.1 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.25.4.4 11-Aug-2010  yamt sync with head.
 1.25.4.3 11-Mar-2010  yamt sync with head
 1.25.4.2 16-May-2009  yamt sync with head
 1.25.4.1 04-May-2009  yamt sync with head.
 1.26.10.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.30.4.1 30-May-2010  rmind sync with head
 1.30.2.1 17-Aug-2010  uebayasi Sync with HEAD.
 1.31.18.2 03-Dec-2017  jdolecek update from HEAD
 1.31.18.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.31.8.1 30-Oct-2012  yamt sync with head
 1.32.14.1 05-Oct-2016  skrll Sync with HEAD
 1.24 25-Sep-2022  thorpej Remove unnecessary include of <sys/malloc.h>.
 1.23 11-Jul-2016  msaitoh KNF. No functional change.
 1.22 12-May-2009  cegger branches: 1.22.22; 1.22.40;
struct device * -> device_t, no functional changes intended.
 1.21 04-Jul-2008  cegger branches: 1.21.10;
struct device * -> device_t
struct cfdata * -> cfdata_t
 1.20 04-Jul-2008  cegger make this build again after device_t/softc split
 1.19 03-Jul-2008  drochner split device/softc (tested with an@pcmcia)
 1.18 28-Apr-2008  martin branches: 1.18.2; 1.18.4;
Remove clause 3 and 4 from TNF licenses
 1.17 08-Apr-2008  cegger branches: 1.17.2; 1.17.4;
use aprint_*_dev and device_xname
 1.16 19-Oct-2007  ad branches: 1.16.16;
machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
 1.15 16-Nov-2006  christos branches: 1.15.8; 1.15.22; 1.15.24; 1.15.28;
__unused removal on arguments; approved by core.
 1.14 12-Oct-2006  christos - sprinkle __unused on function decls.
- fix a couple of unused bugs
- no more -Wno-unused for i386
 1.13 13-Apr-2006  christos branches: 1.13.8; 1.13.10;
Coverity CID 2853: Return if we cannot establish an interrupt instead
of crashing later.
 1.12 29-Mar-2006  thorpej Use device_private().
 1.11 11-Dec-2005  christos branches: 1.11.4; 1.11.6; 1.11.8; 1.11.10; 1.11.12;
merge ktrace-lwp.
 1.10 22-Jun-2005  dyoung branches: 1.10.2;
Resolve conflicts in importation of 18-May-2005 ath(4) / net80211(9)
from FreeBSD. Introduce compatibility shims (sys/dev/ic/ath_netbsd.[ch],
sys/net80211/ieee80211_netbsd.[ch]). Update drivers (an, atu, atw,
awi, ipw, iwi, rtw, wi) for the new net80211(9) API.
 1.9 28-Jan-2004  onoe Adopt to new 802.11 framework.
Add support of version 5.30.17 firmware of PCMCIA 350 series.
MPI350 mini-PCI is NOT YET supported.
MONITOR mode is still not yet working.
 1.8 13-Oct-2003  dyoung Switch an(4) to using the header files in the new 802.11 layer.
 1.7 02-Oct-2002  thorpej branches: 1.7.6;
Add trailing ; to CFATTACH_DECL.
 1.6 30-Sep-2002  thorpej Use CFATTACH_DECL().
 1.5 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.4 13-Nov-2001  lukem add RCSID
 1.3 08-Jul-2001  thorpej branches: 1.3.2;
Remove unnecessary include files. From Onno van der Linden.
 1.2 21-Jun-2001  onoe add #include <net/if_ieee80211.h> to make it compilable.
 1.1 17-Dec-2000  thorpej branches: 1.1.2; 1.1.4;
ISAPnP front-end for the Aironet 802.11 cards. Note this is currently
untested.
 1.1.4.3 18-Oct-2002  nathanw Catch up to -current.
 1.1.4.2 14-Nov-2001  nathanw Catch up to -current.
 1.1.4.1 24-Aug-2001  nathanw Catch up with -current.
 1.1.2.2 05-Jan-2001  bouyer Sync with HEAD
 1.1.2.1 17-Dec-2000  bouyer file if_an_isapnp.c was added on branch thorpej_scsipi on 2001-01-05 17:35:54 +0000
 1.3.2.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.2.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.7.6.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 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.10.2.3 27-Oct-2007  yamt sync with head.
 1.10.2.2 30-Dec-2006  yamt sync with head.
 1.10.2.1 21-Jun-2006  yamt sync with head.
 1.11.12.2 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.11.12.1 31-Mar-2006  tron Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
 1.11.10.1 19-Apr-2006  elad sync with head.
 1.11.8.2 24-May-2006  yamt sync with head.
 1.11.8.1 01-Apr-2006  yamt sync with head.
 1.11.6.1 22-Apr-2006  simonb Sync with head.
 1.11.4.1 09-Sep-2006  rpaulo sync with head
 1.13.10.2 10-Dec-2006  yamt sync with head.
 1.13.10.1 22-Oct-2006  yamt sync with head
 1.13.8.1 18-Nov-2006  ad Sync with head.
 1.15.28.1 25-Oct-2007  bouyer Sync with HEAD.
 1.15.24.1 06-Nov-2007  matt sync with HEAD
 1.15.22.1 26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.15.8.1 23-Oct-2007  ad Sync with head.
 1.16.16.2 28-Sep-2008  mjf Sync with HEAD.
 1.16.16.1 02-Jun-2008  mjf Sync with HEAD.
 1.17.4.3 16-May-2009  yamt sync with head
 1.17.4.2 04-May-2009  yamt sync with head.
 1.17.4.1 16-May-2008  yamt sync with head.
 1.17.2.1 18-May-2008  yamt sync with head.
 1.18.4.1 18-Jul-2008  simonb Sync with head.
 1.18.2.1 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.21.10.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.22.40.1 05-Oct-2016  skrll Sync with HEAD
 1.22.22.1 03-Dec-2017  jdolecek update from HEAD
 1.20 14-Jul-2016  msaitoh - Use aprint*() instead of printf() in xxx_attach().
- Add missing aprint_naive("\n");
- KNF
 1.19 13-Apr-2015  riastradh Convert sys/dev to use <sys/rndsource.h>.
 1.18 02-Feb-2012  tls branches: 1.18.6; 1.18.24;
Entropy-pool implementation move and cleanup.

1) Move core entropy-pool code and source/sink/sample management code
to sys/kern from sys/dev.

2) Remove use of NRND as test for presence of entropy-pool code throughout
source tree.

3) Remove use of RND_ENABLED in device drivers as microoptimization to
avoid expensive operations on disabled entropy sources; make the
rnd_add calls do this directly so all callers benefit.

4) Fix bug in recent rnd_add_data()/rnd_add_uint32() changes that might
have lead to slight entropy overestimation for some sources.

5) Add new source types for environmental sensors, power sensors, VM
system events, and skew between clocks, with a sample implementation
for each.

ok releng to go in before the branch due to the difficulty of later
pullup (widespread #ifdef removal and moved files). Tested with release
builds on amd64 and evbarm and live testing on amd64.
 1.17 22-Sep-2009  tsutsui branches: 1.17.12; 1.17.16;
Make local functions static.
 1.16 22-Sep-2009  tsutsui Split device_t/softc. Tested only on cs at ofisa on shark.
 1.15 12-May-2009  cegger struct device * -> device_t, no functional changes intended.
 1.14 12-May-2009  cegger struct cfdata * -> cfdata_t, no functional changes intended.
 1.13 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.12 14-Mar-2009  dsl 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.11 08-Apr-2008  cegger branches: 1.11.4; 1.11.12; 1.11.18;
use aprint_*_dev and device_xname
 1.10 19-Oct-2007  ad branches: 1.10.16;
machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
 1.9 29-Mar-2006  thorpej branches: 1.9.18; 1.9.32; 1.9.34; 1.9.38;
Use device_private().
 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 27-Feb-2005  perry branches: 1.7.4;
nuke trailing whitespace
 1.6 01-Sep-2004  drochner branches: 1.6.4; 1.6.6;
more namespace sanity: ISACF_*_DEFAULT constants are for ISA
frontends, not for general use
 1.5 02-Oct-2002  thorpej branches: 1.5.6;
Add trailing ; to CFATTACH_DECL.
 1.4 30-Sep-2002  thorpej Use CFATTACH_DECL().
 1.3 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.2 21-May-2002  augustss Make it possible to override the way register access is done.
This is needed for some really screwball attachments of the CS8900.
 1.1 27-Nov-2001  yamt branches: 1.1.2; 1.1.4; 1.1.12;
add isapnp frontend for cs driver.
 1.1.12.1 30-May-2002  gehenna Catch up with -current.
 1.1.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.1.4.3 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.4.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.4.1 27-Nov-2001  thorpej file if_cs_isapnp.c was added on branch kqueue on 2002-01-10 19:55:51 +0000
 1.1.2.4 18-Oct-2002  nathanw Catch up to -current.
 1.1.2.3 20-Jun-2002  nathanw Catch up to -current.
 1.1.2.2 08-Jan-2002  nathanw Catch up to -current.
 1.1.2.1 27-Nov-2001  nathanw file if_cs_isapnp.c was added on branch nathanw_sa on 2002-01-08 00:30:36 +0000
 1.5.6.4 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.5.6.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.5.6.2 18-Sep-2004  skrll Sync with HEAD.
 1.5.6.1 03-Sep-2004  skrll Sync with HEAD
 1.6.6.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.6.4.1 29-Apr-2005  kent sync with -current
 1.7.4.2 27-Oct-2007  yamt sync with head.
 1.7.4.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.
 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.38.1 25-Oct-2007  bouyer Sync with HEAD.
 1.9.34.1 06-Nov-2007  matt sync with HEAD
 1.9.32.1 26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.9.18.1 23-Oct-2007  ad Sync with head.
 1.10.16.1 02-Jun-2008  mjf Sync with HEAD.
 1.11.18.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.11.12.1 28-Apr-2009  skrll Sync with HEAD.
 1.11.4.3 11-Mar-2010  yamt sync with head
 1.11.4.2 16-May-2009  yamt sync with head
 1.11.4.1 04-May-2009  yamt sync with head.
 1.17.16.1 18-Feb-2012  mrg merge to -current.
 1.17.12.1 17-Apr-2012  yamt sync with head
 1.18.24.2 05-Oct-2016  skrll Sync with HEAD
 1.18.24.1 06-Jun-2015  skrll Sync with HEAD
 1.18.6.1 03-Dec-2017  jdolecek update from HEAD
 1.35 14-Jul-2016  msaitoh - Use aprint*() more in xxx_attach().
- Add missing aprint_naive("\n").
- Remove extra spaces and tabs.
- KNF.
 1.34 27-Aug-2008  christos branches: 1.34.38; 1.34.58;
device_t changes, pmf, minor knf.
 1.33 08-Apr-2008  cegger branches: 1.33.4; 1.33.6; 1.33.10;
use aprint_*_dev and device_xname
 1.32 19-Oct-2007  ad branches: 1.32.16;
machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
 1.31 16-Nov-2006  christos branches: 1.31.8; 1.31.22; 1.31.24; 1.31.28;
__unused removal on arguments; approved by core.
 1.30 12-Oct-2006  christos - sprinkle __unused on function decls.
- fix a couple of unused bugs
- no more -Wno-unused for i386
 1.29 29-Mar-2006  thorpej branches: 1.29.8; 1.29.10;
Use device_private().
 1.28 11-Dec-2005  christos branches: 1.28.4; 1.28.6; 1.28.8; 1.28.10; 1.28.12;
merge ktrace-lwp.
 1.27 27-Feb-2005  perry branches: 1.27.4;
nuke trailing whitespace
 1.26 04-Feb-2005  perry de-__P
 1.25 02-Oct-2002  thorpej branches: 1.25.6; 1.25.14; 1.25.16;
Add trailing ; to CFATTACH_DECL.
 1.24 30-Sep-2002  thorpej Use CFATTACH_DECL().
 1.23 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.22 13-Nov-2001  lukem add RCSID
 1.21 27-Jul-2001  thorpej Chipset is CORKSCREW for the 3c515.
 1.20 08-Jul-2001  thorpej branches: 1.20.2;
Remove unnecessary include files. From Onno van der Linden.
 1.19 22-Mar-1999  mycroft branches: 1.19.20;
Reject variant numbers which are too large (so that a new version of isapnpdevs
with an old driver will not lose mysteriously).
 1.18 22-Mar-1999  mycroft Update callers of isapnp_devmatch().
 1.17 04-Nov-1998  fvdl Add the 'ex' driver, a DMA driver for 3Com 90x and 90xB cards. Rename
constants from EP_ to ELINK_ since they're now used in the ex driver as well.
 1.16 12-Aug-1998  thorpej Completely rewrite media selection. Add support for the MII/PHY on
the 3Com 3c905-TX and 3c905-T4. Fix handling of the MII on the
3c595-MII and 3c597-MII (can't talk to the PHYs on these cards; just
use "manual" for the external MII port).

Fixes kern/4782 (Chris Demetriou).
 1.15 23-Jul-1998  christos Create a master list of pnp logical and compatibility device codes instead
of hard-coding it into each driver and use a centralized probe function.
 1.14 05-Jul-1998  jonathan defopt NS, NSIP.
 1.13 05-Jul-1998  jonathan defopt INET, NETATALK.
 1.12 09-Jun-1998  thorpej Nuke __BROKEN_INDIRECT_CONFIG.
 1.11 17-Dec-1997  thorpej Don't initialize softc's space tags/handles until isapnp_config() has
been called. Pointed out by Lennart Augustsson.
 1.10 28-Oct-1997  christos DTRT with level and edge interrupts:
- add a type field to the isapnp_pin struct and set to IST_EDGE or
IST_LEVEL depending on the card configuration data.
- use the irq type field in all the drivers instead of hardcoding it.
 1.9 14-Oct-1997  thorpej branches: 1.9.2;
Pull down from marc-pcmcia branch:

Minor tweaks to deal with PCMCIA differences, and support for power
management.
 1.8 07-Aug-1997  christos GC unused connector finding code. This has moved to epconfig().
 1.7 27-Apr-1997  veego branches: 1.7.4;
Add other isapnp id's for the 3c509.
 1.6 30-Mar-1997  jonathan Add ifmedia hooks: include <ifmedia.h> and add sc_media to softc.
 1.5 21-Mar-1997  mycroft Minor changes.
 1.4 18-Mar-1997  christos PR/3353: From Alistair G. Crooks: move to the new arp world.
 1.3 18-Feb-1997  jonathan Move if_ep media-sense code from front ends to inside back end,
to prepare for if_media, and to support EISA 3c59x cards:

* change epconfig() to take a short that encodes the chipset
type (3c509, or Demon/Vortex/Boomerang).
* add distinct 3c509 and Demon/Vortex/Boomerang media-sense
functions to back end.
* Add EISA match/attach support for the 3c592 and 3c597
(Demon) cards as well as the 3c509-comatibl EISA 3c509/3c579.

* Assume that ISA and ISA PnP cards are 3c509-style, until
proof to the contrary (e.g. large packet support).

Tested on 3c595, 3c590, and 3c509b. Not tested on 3c515 or Demon.
 1.2 23-Jan-1997  veego branches: 1.2.4;
Change on printf to remove duplicated informations and add a \n.
 1.1 22-Jan-1997  mycroft Add a frontend for the 3C509B.
 1.2.4.1 12-Mar-1997  is Merge in changes from Trunk
 1.7.4.3 27-Sep-1997  marc initialize enable/disable hooks to NULL so the bus independent code
dtrt.
 1.7.4.2 23-Aug-1997  thorpej Update marc-pcmcia branch from trunk.
 1.7.4.1 30-Jul-1997  marc added pcmcia infrastructure and a few devices
 1.9.2.2 17-Dec-1997  mellon Pull rev 1.11 up from trunk (thorpej)
 1.9.2.1 29-Oct-1997  thorpej Pull up from trunk: DTRT with level and edge interrupts.
 1.19.20.3 18-Oct-2002  nathanw Catch up to -current.
 1.19.20.2 14-Nov-2001  nathanw Catch up to -current.
 1.19.20.1 24-Aug-2001  nathanw Catch up with -current.
 1.20.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.20.2.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.20.2.1 03-Aug-2001  lukem update to -current
 1.25.16.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.25.16.1 12-Feb-2005  yamt sync with head.
 1.25.14.1 29-Apr-2005  kent sync with -current
 1.25.6.2 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.25.6.1 04-Feb-2005  skrll Sync with HEAD.
 1.27.4.3 27-Oct-2007  yamt sync with head.
 1.27.4.2 30-Dec-2006  yamt sync with head.
 1.27.4.1 21-Jun-2006  yamt sync with head.
 1.28.12.1 31-Mar-2006  tron Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
 1.28.10.1 19-Apr-2006  elad sync with head.
 1.28.8.1 01-Apr-2006  yamt sync with head.
 1.28.6.1 22-Apr-2006  simonb Sync with head.
 1.28.4.1 09-Sep-2006  rpaulo sync with head
 1.29.10.2 10-Dec-2006  yamt sync with head.
 1.29.10.1 22-Oct-2006  yamt sync with head
 1.29.8.1 18-Nov-2006  ad Sync with head.
 1.31.28.1 25-Oct-2007  bouyer Sync with HEAD.
 1.31.24.1 06-Nov-2007  matt sync with HEAD
 1.31.22.1 26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.31.8.1 23-Oct-2007  ad Sync with head.
 1.32.16.2 28-Sep-2008  mjf Sync with HEAD.
 1.32.16.1 02-Jun-2008  mjf Sync with HEAD.
 1.33.10.1 19-Oct-2008  haad Sync with HEAD.
 1.33.6.1 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.33.4.1 04-May-2009  yamt sync with head.
 1.34.58.1 05-Oct-2016  skrll Sync with HEAD
 1.34.38.1 03-Dec-2017  jdolecek update from HEAD
 1.12 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.11 12-Apr-2008  tsutsui branches: 1.11.2; 1.11.4;
Split device_t/softc for MI mb86960, with misc cosmetics.
 1.10 08-Apr-2008  cegger use aprint_*_dev and device_xname
 1.9 19-Oct-2007  ad branches: 1.9.16;
machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
 1.8 16-Nov-2006  christos branches: 1.8.8; 1.8.22; 1.8.24; 1.8.28;
__unused removal on arguments; approved by core.
 1.7 12-Oct-2006  christos - sprinkle __unused on function decls.
- fix a couple of unused bugs
- no more -Wno-unused for i386
 1.6 29-Mar-2006  thorpej branches: 1.6.8; 1.6.10;
Use device_private().
 1.5 11-Dec-2005  christos branches: 1.5.4; 1.5.6; 1.5.8; 1.5.10; 1.5.12;
merge ktrace-lwp.
 1.4 09-Jan-2005  tsutsui branches: 1.4.10;
Some cosmetics:
- remove __P()
- use ansi decls
- u_int8_t, u_char -> uint8_t
- use macro for debug printfs
- some KNF
 1.3 14-Nov-2002  tsutsui branches: 1.3.6;
Correct copyright notice since this code was mostly taken from
if_ne_isapnp.c, not if_fmv.c.
 1.2 05-Oct-2002  tsutsui branches: 1.2.2;
Slightly modify attach messages.
 1.1 05-Oct-2002  tsutsui Overhaul of fmv(4) driver:
- Split if_fmv.c into MI/MD part and add ISA-PnP attachment for FMV-183.
(XXX FMV-184 is not tested. It would require extra media-select functions..)
- Fix probe functions of fmv_isa so that FMV-181A/182A will also match.
Fixes port-i386/9476.
 1.2.2.3 11-Dec-2002  thorpej Sync with HEAD.
 1.2.2.2 18-Oct-2002  nathanw Catch up to -current.
 1.2.2.1 05-Oct-2002  nathanw file if_fmv_isapnp.c was added on branch nathanw_sa on 2002-10-18 02:42:42 +0000
 1.3.6.1 17-Jan-2005  skrll Sync with HEAD.
 1.4.10.3 27-Oct-2007  yamt sync with head.
 1.4.10.2 30-Dec-2006  yamt sync with head.
 1.4.10.1 21-Jun-2006  yamt sync with head.
 1.5.12.1 31-Mar-2006  tron Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
 1.5.10.1 19-Apr-2006  elad sync with head.
 1.5.8.1 01-Apr-2006  yamt sync with head.
 1.5.6.1 22-Apr-2006  simonb Sync with head.
 1.5.4.1 09-Sep-2006  rpaulo sync with head
 1.6.10.2 10-Dec-2006  yamt sync with head.
 1.6.10.1 22-Oct-2006  yamt sync with head
 1.6.8.1 18-Nov-2006  ad Sync with head.
 1.8.28.1 25-Oct-2007  bouyer Sync with HEAD.
 1.8.24.1 06-Nov-2007  matt sync with HEAD
 1.8.22.1 26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.8.8.1 23-Oct-2007  ad Sync with head.
 1.9.16.1 02-Jun-2008  mjf Sync with HEAD.
 1.11.4.1 16-May-2008  yamt sync with head.
 1.11.2.1 18-May-2008  yamt sync with head.
 1.37 29-May-2022  rin Audit unload/unmap v.s. free against DMA buffer for sys/dev;
make sure that bus_dmamap_unload(9) [or bus_dmamap_destroy(9)] or
bus_dmamem_unmap(9) are preceding to freeing DMA buffer, if it is
loaded or mapped, respectively.

This is mandatory for some archs. See, e.g.:

http://www.nerv.org/netbsd/?q=id:20210511T013030Z.013443cc790088147e4beed43f53dedabeaf9312
http://www.nerv.org/netbsd/?q=id:20220511T172220Z.561179f0b6fcc5b9cd73e274f69d74e2ce9e4c93

For some drivers, resource leaks for error paths are fixed at
the same time.

XXX XXX XXX
Compile test only (at least one arch per driver).
 1.36 08-Dec-2021  andvar fix various typos in comments and log messages.
 1.35 13-Nov-2010  uebayasi Don't pull in the whole uvm(9) API to access only PAGE_SIZE and
some other constants. These are provided by sys/param.h now.
 1.34 28-Apr-2008  martin branches: 1.34.22;
Remove clause 3 and 4 from TNF licenses
 1.33 04-Apr-2008  tsutsui branches: 1.33.2; 1.33.4;
Split device_t/softc for le(4) and variants and misc cosmetic changes.
 1.32 19-Oct-2007  ad branches: 1.32.16;
machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
 1.31 04-Mar-2007  christos branches: 1.31.2; 1.31.14; 1.31.16; 1.31.20;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.30 16-Nov-2006  christos branches: 1.30.4;
__unused removal on arguments; approved by core.
 1.29 12-Oct-2006  christos - sprinkle __unused on function decls.
- fix a couple of unused bugs
- no more -Wno-unused for i386
 1.28 29-Mar-2006  thorpej branches: 1.28.8; 1.28.10;
Use device_private().
 1.27 11-Dec-2005  christos branches: 1.27.4; 1.27.6; 1.27.8; 1.27.10; 1.27.12;
merge ktrace-lwp.
 1.26 27-Feb-2005  perry branches: 1.26.4;
nuke trailing whitespace
 1.25 04-Feb-2005  perry de-__P
 1.24 04-Oct-2002  tsutsui branches: 1.24.6; 1.24.14; 1.24.16;
- Merge if_levar.h into if_le_isapnp.c since it is included only by
if_le_isapnp.c.
- Rename struct le_softc -> le_isapnp_softc
- Fix some messages on attachment.
 1.23 02-Oct-2002  thorpej Add trailing ; to CFATTACH_DECL.
 1.22 30-Sep-2002  thorpej Use CFATTACH_DECL().
 1.21 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.20 13-Nov-2001  lukem add RCSID
 1.19 08-Jul-2001  thorpej branches: 1.19.2;
Remove unnecessary include files. From Onno van der Linden.
 1.18 14-Nov-2000  thorpej branches: 1.18.2;
NBPG -> PAGE_SIZE
 1.17 22-Mar-1999  mycroft branches: 1.17.8;
Reject variant numbers which are too large (so that a new version of isapnpdevs
with an old driver will not lose mysteriously).
 1.16 22-Mar-1999  mycroft Update callers of isapnp_devmatch().
 1.15 23-Jul-1998  christos Create a master list of pnp logical and compatibility device codes instead
of hard-coding it into each driver and use a centralized probe function.
 1.14 21-Jul-1998  drochner adapt to LANCE driver split
 1.13 05-Jul-1998  jonathan defopt NS, NSIP.
 1.12 05-Jul-1998  jonathan defopt INET, NETATALK.
 1.11 25-Jun-1998  thorpej Don't panic if a DRQ is already allocated. Instead, just return EAGAIN
to indicate that the resource is unavailable.
 1.10 09-Jun-1998  thorpej Adjust for the changes to the ISA DMA API.
 1.9 18-Apr-1998  drochner Fix spelling of my name.
Being here, remove BROKEN_INDIRECT_CONFIG.
 1.8 04-Feb-1998  thorpej Add dm_mapsize to bus_dmamap_t and rename BUS_DMAMEM_NOSYNC to
BUS_DMA_COHERENT.
 1.7 17-Dec-1997  thorpej Don't initialize softc's space tags/handles until isapnp_config() has
been called. Pointed out by Lennart Augustsson.
 1.6 28-Oct-1997  christos DTRT with level and edge interrupts:
- add a type field to the isapnp_pin struct and set to IST_EDGE or
IST_LEVEL depending on the card configuration data.
- use the irq type field in all the drivers instead of hardcoding it.
 1.5 06-Jun-1997  thorpej branches: 1.5.8;
Pull thorpej-bus-dma branch into mainline.
 1.4 09-Apr-1997  jonathan branches: 1.4.2;
typo in cfattach.
 1.3 31-Mar-1997  thorpej If we don't match a known card ID, return "don't match".
 1.2 31-Mar-1997  jonathan Merge with Mattias Drochner's PCnet-PnP front-end.
 1.1 31-Mar-1997  jonathan PCnet-PnP front-end driver for isapnp PCnet cards.
 1.4.2.2 17-May-1997  thorpej Update for bus_dmamem_alloc() changes.
 1.4.2.1 13-May-1997  thorpej Convert to use bus dma.
 1.5.8.2 17-Dec-1997  mellon Pull rev 1.7 up from trunk (thorpej)
 1.5.8.1 29-Oct-1997  thorpej Pull up from trunk: DTRT with level and edge interrupts.
 1.17.8.1 22-Nov-2000  bouyer Sync with HEAD.
 1.18.2.3 18-Oct-2002  nathanw Catch up to -current.
 1.18.2.2 14-Nov-2001  nathanw Catch up to -current.
 1.18.2.1 24-Aug-2001  nathanw Catch up with -current.
 1.19.2.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.19.2.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.24.16.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.24.16.1 12-Feb-2005  yamt sync with head.
 1.24.14.1 29-Apr-2005  kent sync with -current
 1.24.6.2 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.24.6.1 04-Feb-2005  skrll Sync with HEAD.
 1.26.4.4 27-Oct-2007  yamt sync with head.
 1.26.4.3 03-Sep-2007  yamt sync with head.
 1.26.4.2 30-Dec-2006  yamt sync with head.
 1.26.4.1 21-Jun-2006  yamt sync with head.
 1.27.12.1 31-Mar-2006  tron Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
 1.27.10.1 19-Apr-2006  elad sync with head.
 1.27.8.1 01-Apr-2006  yamt sync with head.
 1.27.6.1 22-Apr-2006  simonb Sync with head.
 1.27.4.1 09-Sep-2006  rpaulo sync with head
 1.28.10.2 10-Dec-2006  yamt sync with head.
 1.28.10.1 22-Oct-2006  yamt sync with head
 1.28.8.1 18-Nov-2006  ad Sync with head.
 1.30.4.1 12-Mar-2007  rmind Sync with HEAD.
 1.31.20.1 25-Oct-2007  bouyer Sync with HEAD.
 1.31.16.1 06-Nov-2007  matt sync with HEAD
 1.31.14.1 26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.31.2.1 23-Oct-2007  ad Sync with head.
 1.32.16.1 02-Jun-2008  mjf Sync with HEAD.
 1.33.4.1 16-May-2008  yamt sync with head.
 1.33.2.1 18-May-2008  yamt sync with head.
 1.34.22.1 05-Mar-2011  rmind sync with head
 1.4 04-Oct-2002  tsutsui - Merge if_levar.h into if_le_isapnp.c since it is included only by
if_le_isapnp.c.
- Rename struct le_softc -> le_isapnp_softc
- Fix some messages on attachment.
 1.3 15-Aug-1998  mycroft branches: 1.3.24;
Assign my copyrights to TNF.
 1.2 06-Jun-1997  thorpej Pull thorpej-bus-dma branch into mainline.
 1.1 31-Mar-1997  jonathan branches: 1.1.2;
PCnet-PnP front-end driver for isapnp PCnet cards.
 1.1.2.1 13-May-1997  thorpej Convert to use bus dma.
 1.3.24.1 18-Oct-2002  nathanw Catch up to -current.
 1.27 03-Mar-2010  tsutsui Put several fixes to ne(4) driver for better 8 bit mode support,
especially on RTL8019AS which is also used for non-ISA local bus of
embedded controllers and some m68k machines like atari and x68k.

* move RTL8019 probe and attach code from each bus attachment
to MI ne2000_detect() and ne2000_attach()
* change a method for backend and attachment to specify 8 bit mode
to use a new sc->sc_quirk member, instead of sc->sc_dmawidth
* handle more NE2000 8 bit mode specific settings, including
bus_space(9) access width and available size of buffer memory
* add a function to detect NE2000 8 bit mode
(disabled by default, but enalbed by options NE2000_DETECT_8BIT
to avoid possible regression on various ISA clones)
* fix ipkdb attachment accordingly (untested)

Tested on two NE2000 ISA variants (RTL8019AS and another clone named UL0001)
in both 8 bit and 16 bit mode on i386. "Looks good" from nonaka@.

See my post on tech-kern for details:
http://mail-index.NetBSD.org/tech-kern/2010/02/26/msg007423.html
 1.26 28-Apr-2008  martin branches: 1.26.10; 1.26.20;
Remove clause 3 and 4 from TNF licenses
 1.25 12-Mar-2008  cube branches: 1.25.2; 1.25.4;
Split device_t and softc for the NE2000 Ethernet chip and all its variants
and attachments. Use device_t accessors, correct types, and ANSIfy when
appropriate.
 1.24 19-Oct-2007  ad branches: 1.24.12; 1.24.16;
machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
 1.23 16-Nov-2006  christos branches: 1.23.8; 1.23.22; 1.23.24; 1.23.28;
__unused removal on arguments; approved by core.
 1.22 12-Oct-2006  christos - sprinkle __unused on function decls.
- fix a couple of unused bugs
- no more -Wno-unused for i386
 1.21 29-Mar-2006  thorpej branches: 1.21.8; 1.21.10;
Use device_private().
 1.20 11-Dec-2005  christos branches: 1.20.4; 1.20.6; 1.20.8; 1.20.10; 1.20.12;
merge ktrace-lwp.
 1.19 04-Feb-2005  perry branches: 1.19.6;
de-__P
 1.18 13-Feb-2004  wiz branches: 1.18.8; 1.18.10;
RealTek -> Realtek.
 1.17 02-Oct-2002  thorpej branches: 1.17.6;
Add trailing ; to CFATTACH_DECL.
 1.16 30-Sep-2002  thorpej Use CFATTACH_DECL().
 1.15 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.14 13-Nov-2001  lukem add RCSID
 1.13 08-Jul-2001  thorpej branches: 1.13.2;
Remove unnecessary include files. From Onno van der Linden.
 1.12 12-Feb-2001  thorpej branches: 1.12.2;
Adjust the way that media is initialized on DP8390-compatible
chips. The dp8390_softc now has media_init and media_fini
function pointers that do the work.
 1.11 22-Mar-1999  mycroft branches: 1.11.8;
Reject variant numbers which are too large (so that a new version of isapnpdevs
with an old driver will not lose mysteriously).
 1.10 22-Mar-1999  mycroft Update callers of isapnp_devmatch().
 1.9 31-Oct-1998  thorpej Add code to detect a RealTek 8019 chip, and use the media selection
support if present.
 1.8 28-Oct-1998  thorpej Add media list, media list count, and default media arguments to
ne2000_attach().
 1.7 23-Jul-1998  christos Create a master list of pnp logical and compatibility device codes instead
of hard-coding it into each driver and use a centralized probe function.
 1.6 05-Jul-1998  jonathan defopt NS, NSIP.
 1.5 05-Jul-1998  jonathan defopt INET, NETATALK.
 1.4 09-Jun-1998  thorpej Nuke __BROKEN_INDIRECT_CONFIG.
 1.3 17-Dec-1997  thorpej Don't initialize softc's space tags/handles until isapnp_config() has
been called. Pointed out by Lennart Augustsson.
 1.2 28-Oct-1997  christos DTRT with level and edge interrupts:
- add a type field to the isapnp_pin struct and set to IST_EDGE or
IST_LEVEL depending on the card configuration data.
- use the irq type field in all the drivers instead of hardcoding it.
 1.1 16-Oct-1997  matt branches: 1.1.2;
An ISA Plug-and-Pray attachment for NE2000-compatible cards.
 1.1.2.2 17-Dec-1997  mellon Pull rev 1.3 up from trunk (thorpej)
 1.1.2.1 29-Oct-1997  thorpej Pull up from trunk: DTRT with level and edge interrupts.
 1.11.8.1 12-Mar-2001  bouyer Sync with HEAD.
 1.12.2.3 18-Oct-2002  nathanw Catch up to -current.
 1.12.2.2 14-Nov-2001  nathanw Catch up to -current.
 1.12.2.1 24-Aug-2001  nathanw Catch up with -current.
 1.13.2.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.13.2.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.17.6.4 04-Feb-2005  skrll Sync with HEAD.
 1.17.6.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.17.6.2 18-Sep-2004  skrll Sync with HEAD.
 1.17.6.1 03-Aug-2004  skrll Sync with HEAD
 1.18.10.1 12-Feb-2005  yamt sync with head.
 1.18.8.1 29-Apr-2005  kent sync with -current
 1.19.6.4 17-Mar-2008  yamt sync with head.
 1.19.6.3 27-Oct-2007  yamt sync with head.
 1.19.6.2 30-Dec-2006  yamt sync with head.
 1.19.6.1 21-Jun-2006  yamt sync with head.
 1.20.12.1 31-Mar-2006  tron Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
 1.20.10.1 19-Apr-2006  elad sync with head.
 1.20.8.1 01-Apr-2006  yamt sync with head.
 1.20.6.1 22-Apr-2006  simonb Sync with head.
 1.20.4.1 09-Sep-2006  rpaulo sync with head
 1.21.10.2 10-Dec-2006  yamt sync with head.
 1.21.10.1 22-Oct-2006  yamt sync with head
 1.21.8.1 18-Nov-2006  ad Sync with head.
 1.23.28.1 25-Oct-2007  bouyer Sync with HEAD.
 1.23.24.2 23-Mar-2008  matt sync with HEAD
 1.23.24.1 06-Nov-2007  matt sync with HEAD
 1.23.22.1 26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.23.8.1 23-Oct-2007  ad Sync with head.
 1.24.16.2 02-Jun-2008  mjf Sync with HEAD.
 1.24.16.1 03-Apr-2008  mjf Sync with HEAD.
 1.24.12.1 24-Mar-2008  keiichi sync with head.
 1.25.4.2 11-Mar-2010  yamt sync with head
 1.25.4.1 16-May-2008  yamt sync with head.
 1.25.2.1 18-May-2008  yamt sync with head.
 1.26.20.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.26.10.1 20-Nov-2010  riz Pull up following revision(s) (requested by tsutsui in ticket #1367):
sys/dev/ic/ne2000var.h: revision 1.25
sys/arch/atari/conf/MILAN.in: revision 1.24
sys/arch/atari/conf/MILAN.in: revision 1.25
sys/dev/ic/ne2000.c: revision 1.71
sys/dev/ic/ne2000.c: revision 1.72
sys/arch/atari/dev/if_ne_mb.c: revision 1.1
sys/arch/atari/dev/if_ne_mb.c: revision 1.2
sys/arch/atari/conf/MILAN-PCIIDE: revision 1.69
sys/arch/atari/conf/HADES.in: revision 1.10
sys/arch/atari/conf/HADES.in: revision 1.11
sys/arch/x68k/dev/if_ne_neptune.c: revision 1.20
sys/dev/isa/if_ne_isa.c: revision 1.27
sys/arch/atari/atari/autoconf.c: revision 1.57
sys/dev/ic/ne2000.c: revision 1.62
sys/dev/isapnp/if_ne_isapnp.c: revision 1.27
sys/arch/atari/conf/files.atari: revision 1.117
sys/arch/atari/conf/HADES: revision 1.88
sys/arch/atari/conf/GENERIC.in: revision 1.85
sys/dev/ic/ne2000.c: revision 1.65
sys/dev/ic/ne2000.c: revision 1.66
sys/dev/ic/ne2000.c: revision 1.68
sys/arch/atari/conf/MILAN-ISAIDE: revision 1.65
distrib/notes/atari/hardware: revision 1.24
sys/conf/files: revision 1.980
sys/dev/ic/ne2000var.h: revision 1.21
sys/arch/x68k/dev/if_ne_intio.c: revision 1.16
sys/dev/ic/dp8390.c: revision 1.74
sys/dev/ic/dp8390.c: revision 1.75
Added NE2000 with 8bit bus width support.
reviewd by tsutsui@ at tech-kern ML.
Fix a wrong calculation bug around RX ring buffer memory address
slipped in about sixteen years ago. Fortunately, it had been working
for ages because some devices used address zero and other devices
ignored wrong higher bits.
Tested on we(4) (SMC Elite Ultra) and ne(4) (NE2000 compatible
named UL0001) on ISA.
Note FreeBSD also uses the same correct value in their ed(4) driver.
Now dp8390_config() calculates mem_ring correctly so
no longer need to override it in ne2000_attach().
Use roundup2() in <sys/param.h> rather than a conditional.
Also fix a wrong mem_ring calculation in dp8390_ipkdb_attach().
Put several fixes to ne(4) driver for better 8 bit mode support,
especially on RTL8019AS which is also used for non-ISA local bus of
embedded controllers and some m68k machines like atari and x68k.
* move RTL8019 probe and attach code from each bus attachment
to MI ne2000_detect() and ne2000_attach()
* change a method for backend and attachment to specify 8 bit mode
to use a new sc->sc_quirk member, instead of sc->sc_dmawidth
* handle more NE2000 8 bit mode specific settings, including
bus_space(9) access width and available size of buffer memory
* add a function to detect NE2000 8 bit mode
(disabled by default, but enalbed by options NE2000_DETECT_8BIT
to avoid possible regression on various ISA clones)
* fix ipkdb attachment accordingly (untested)
Tested on two NE2000 ISA variants (RTL8019AS and another clone named UL0001)
in both 8 bit and 16 bit mode on i386. "Looks good" from nonaka@.
See my post on tech-kern for details:
http://mail-index.NetBSD.org/tech-kern/2010/02/26/msg007423.html
No need to override mem_ring value in ne2000_ipkdb_attach()
since a wrong calculation in dp8390_ipkdb_attach() was fixed.
Don't warn about DMA timeout during probe.
Add support for the EtherNEC.
The EtherNEC is yet another user designed device for Atari machines,
an NE2000 based ISA board connected to Atari's ROM cartridge slot with
simple but ingenious interface and cartridge port adapter, and
it's the most available network solution for the old Atari machines.
See following pages for more details about EtherNEC:
http://hardware.atari.org/ether/
http://home.arcor.de/thomas.redelberger/prj/atari/etherne/
http://www.freemint.org/ethernec/ethernec.html
Also note EtherNEC.
Use callout_schedule(9) rather than callout_reset(9) on polling
as callout(9) man says.
Remove EtherNEC from HADES and MILAN.
They have ISA so no one will bother to connect ISA NE2000 via EtherNEC.
Regen from HADES.in rev 1.11 and MILAN.in rev 1.25:
Remove EtherNEC from HADES and MILAN.
They have ISA so no one will bother to connect ISA NE2000 via EtherNEC.
 1.23 19-Jan-2020  thorpej Remove Token Ring support.
 1.22 14-Jul-2016  msaitoh branches: 1.22.18; 1.22.26;
- Use aprint*() more in xxx_attach().
- Add missing aprint_naive("\n").
- Remove extra spaces and tabs.
- KNF.
 1.21 27-Oct-2012  chs branches: 1.21.14;
split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.20 12-May-2009  cegger branches: 1.20.12; 1.20.22;
struct device * -> device_t, no functional changes intended.
 1.19 12-May-2009  cegger struct cfdata * -> cfdata_t, no functional changes intended.
 1.18 28-Apr-2008  martin branches: 1.18.14;
Remove clause 3 and 4 from TNF licenses
 1.17 08-Apr-2008  cegger branches: 1.17.2; 1.17.4;
use aprint_*_dev and device_xname
 1.16 19-Oct-2007  ad branches: 1.16.16;
machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
 1.15 16-Nov-2006  christos branches: 1.15.8; 1.15.22; 1.15.24; 1.15.28;
__unused removal on arguments; approved by core.
 1.14 12-Oct-2006  christos - sprinkle __unused on function decls.
- fix a couple of unused bugs
- no more -Wno-unused for i386
 1.13 29-Mar-2006  thorpej branches: 1.13.8; 1.13.10;
Use device_private().
 1.12 11-Dec-2005  christos branches: 1.12.4; 1.12.6; 1.12.8; 1.12.10; 1.12.12;
merge ktrace-lwp.
 1.11 27-Feb-2005  perry branches: 1.11.4;
nuke trailing whitespace
 1.10 04-Feb-2005  perry de-__P
 1.9 02-Oct-2002  thorpej branches: 1.9.6; 1.9.14; 1.9.16;
Add trailing ; to CFATTACH_DECL.
 1.8 30-Sep-2002  thorpej Use CFATTACH_DECL().
 1.7 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.6 13-Nov-2001  lukem add RCSID
 1.5 08-Jul-2001  thorpej branches: 1.5.2;
Remove unnecessary include files. From Onno van der Linden.
 1.4 06-Jun-2000  soren branches: 1.4.4;
Make the frontend print a newline.
 1.3 29-Apr-1999  bad branches: 1.3.2; 1.3.10;
From Onno van der Linden:
Reorganise the driver some what.
Rename tr_reset() to the more appropriate tr_stop().
Create a common tropic reset routine and use it in the frontends.
Move the code in tr_config() which is only used in the card attachment
routines into a new tr_attach() function.
Take adapter off the ring through tr_shutdown() in a shutdown hook.
This simplifies the bus-specific frontend.
 1.2 22-Mar-1999  bad branches: 1.2.2;
Oops. RcsID police.
 1.1 22-Mar-1999  bad Chipset driver for TROPIC based Token-Ring cards.
Frontends for IBM and 3COM ISA cards.

By Onno van der Linden <onno@simplex.nl>.
 1.2.2.1 29-Apr-1999  perry branches: 1.2.2.1.2;
pullup 1.2->1.3 (bad)
 1.2.2.1.2.1 21-Jun-1999  thorpej Sync w/ -current.
 1.3.10.1 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.3.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.4.4.3 18-Oct-2002  nathanw Catch up to -current.
 1.4.4.2 14-Nov-2001  nathanw Catch up to -current.
 1.4.4.1 24-Aug-2001  nathanw Catch up with -current.
 1.5.2.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.5.2.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.9.16.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.9.16.1 12-Feb-2005  yamt sync with head.
 1.9.14.1 29-Apr-2005  kent sync with -current
 1.9.6.2 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.9.6.1 04-Feb-2005  skrll Sync with HEAD.
 1.11.4.3 27-Oct-2007  yamt sync with head.
 1.11.4.2 30-Dec-2006  yamt sync with head.
 1.11.4.1 21-Jun-2006  yamt sync with head.
 1.12.12.1 31-Mar-2006  tron Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
 1.12.10.1 19-Apr-2006  elad sync with head.
 1.12.8.1 01-Apr-2006  yamt sync with head.
 1.12.6.1 22-Apr-2006  simonb Sync with head.
 1.12.4.1 09-Sep-2006  rpaulo sync with head
 1.13.10.2 10-Dec-2006  yamt sync with head.
 1.13.10.1 22-Oct-2006  yamt sync with head
 1.13.8.1 18-Nov-2006  ad Sync with head.
 1.15.28.1 25-Oct-2007  bouyer Sync with HEAD.
 1.15.24.1 06-Nov-2007  matt sync with HEAD
 1.15.22.1 26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.15.8.1 23-Oct-2007  ad Sync with head.
 1.16.16.1 02-Jun-2008  mjf Sync with HEAD.
 1.17.4.2 16-May-2009  yamt sync with head
 1.17.4.1 16-May-2008  yamt sync with head.
 1.17.2.1 18-May-2008  yamt 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.20.22.2 03-Dec-2017  jdolecek update from HEAD
 1.20.22.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.20.12.1 30-Oct-2012  yamt sync with head
 1.21.14.1 05-Oct-2016  skrll Sync with HEAD
 1.22.26.1 25-Jan-2020  ad Sync with head.
 1.22.18.1 08-Apr-2020  martin Merge changes from current as of 20200406
 1.64 08-Sep-2024  rillig fix a/an grammar in obvious cases
 1.63 25-Sep-2022  thorpej branches: 1.63.10;
Incremental malloc(9) -> kmem(9)
 1.62 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.61 24-Apr-2021  thorpej branches: 1.61.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.60 10-Nov-2019  chs branches: 1.60.10;
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.59 23-Aug-2009  jmcneill branches: 1.59.64;
Drop the string 'ISA Plug 'n Play device support', it's not something to
brag about anymore.
 1.58 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.57 30-Mar-2008  ad branches: 1.57.2; 1.57.4;
The isapnp probe is very slow, and there's not much we can do to speed it
up safely. Skip it if the system is known to have no ISA compatible expansion
slots.
 1.56 15-Mar-2008  cube Split device_t and softc for isapnp(4). Use proper types, ansify when
appropriate.
 1.55 09-Dec-2007  jmcneill branches: 1.55.6; 1.55.10;
Merge jmcneill-pm branch.
 1.54 01-Dec-2007  ad branches: 1.54.2; 1.54.4;
Noisy printfs.
 1.53 19-Oct-2007  ad branches: 1.53.2;
machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
 1.52 16-Nov-2006  christos branches: 1.52.8; 1.52.22; 1.52.24; 1.52.28;
__unused removal on arguments; approved by core.
 1.51 12-Oct-2006  christos - sprinkle __unused on function decls.
- fix a couple of unused bugs
- no more -Wno-unused for i386
 1.50 29-Mar-2006  thorpej branches: 1.50.8; 1.50.10;
Use device_private().
 1.49 24-Dec-2005  perry branches: 1.49.4; 1.49.6; 1.49.8; 1.49.10; 1.49.12;
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.48 11-Dec-2005  christos merge ktrace-lwp.
 1.47 26-Aug-2005  drochner s/locdesc_t/int/g
 1.46 17-May-2005  christos branches: 1.46.2;
Yes, it was a cool trick >20 years ago to use "0123456789abcdef"[a] to
implement, xtoa(), but I think defining the samestring 50 times is a bit
too much. Defined HEXDIGITS and hexdigits in subr_prf.c and use it...
 1.45 27-Feb-2005  perry nuke trailing whitespace
 1.44 04-Feb-2005  perry de-__P
 1.43 13-Sep-2004  drochner branches: 1.43.4; 1.43.6;
a round of autoconf cleanup:
-convert submatch() style functions (passed to config_search() or
config_found_sm()) to the locator passing variants
-pass interface attributes in some cases
-make submatch() functions look uniformly as far as possible
-avoid macros which just hide cfdata members, and reduce dependencies
on "locators.h"
 1.42 04-Dec-2003  keihan netbsd.org -> NetBSD.org

This was the last commit of this kind to src/sys, which is now totally
"NetBSD.org clean". Thanks for the patiance, and sorry for all the commits.
 1.41 01-Jan-2003  thorpej branches: 1.41.2;
Use aprint_normal() in cfprint routines.
 1.40 02-Oct-2002  thorpej Add trailing ; to CFATTACH_DECL.
 1.39 30-Sep-2002  thorpej Use CFATTACH_DECL().
 1.38 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.37 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.36 07-Jan-2002  thorpej Overhaul of the ISA autoconfiguration code to support direct
configuration of devices logically attached to the ISA bus:

* Change the isa_attach_args to have arrays of io, mem, irq, drq
resources.
* Add a "pnpnames" and a linked list of "pnpcompatnames" to the
isa_attach_args. If either of these members are non-NULL,
direct configuration of the bus is being performed. Add an
ISA_DIRECT_CONFIG() macro to test for this.
* Drivers are not allowed to modify the isa_attach_args unless
direct configuration is not being performed and the probe fucntion
is returning success.
* Adapt device drivers -- currently, all driver probe routines return
"no match" if ISA_DIRECT_CONFIG() evaluates to true.
 1.35 13-Nov-2001  lukem add RCSID
 1.34 12-Apr-1999  mjl branches: 1.34.14; 1.34.16;
Enable workaround for isapnp assigning already used interrupts to pnp
cards by masking them out with a "options ISAPNP_ALLOC_INTR_MASK=..."
in kernel config.
 1.33 22-Mar-1999  mycroft branches: 1.33.4;
Add a `variant number' to the tables, so we can handle slight variations in
the chipset without doing something substantially more gross.
 1.32 22-Mar-1999  mycroft Add a kluge to ignore I/O and memory ranges with a size of zero, so we don't
blow up in bus_space_{map,unmap}(). At least one card uses this to `disable'
a logical device.
(XXX There's probably a better way to do this.)
 1.31 10-Jan-1999  augustss XXX Add a disgusting hack to make the CS sound chips work in PnP mode.
XXX Read about it in isapnp.c.
 1.30 21-Nov-1998  fvdl Avoid looping forever with cards that can only use one I/O address,
and specify a 0 alignment.
 1.29 10-Oct-1998  hannken Fix last commit -- NISADMA is either 0 or 1.
 1.28 08-Oct-1998  thorpej If ISA DMA is not present in the kernel (i.e. no ISA DMA-using devices
configured in), don't call ISA DMA functions to check for DRQs being
free. Just return EINVAL in this case. Fixes PR #6187, from Herb Peyerl.
 1.27 05-Sep-1998  christos Assign copyright to TNF.
 1.26 31-Jul-1998  thorpej Change one word to be consistent w/ a previous message.
 1.25 31-Jul-1998  thorpej Oops, unused variable.
 1.24 31-Jul-1998  thorpej Rearrange isapnp_callback() slightly.
 1.23 31-Jul-1998  thorpej Ensure we're probed only once per ISA bus.
 1.22 31-Jul-1998  thorpej Use config_defer() to scan for ISA PnP cards.
 1.21 30-Jul-1998  christos Add a hook that resets the bios configuration from the pnp devices
thus making them invisible to isa probes [from OpenBSD]
 1.20 23-Jul-1998  christos branches: 1.20.2;
Create a master list of pnp logical and compatibility device codes instead
of hard-coding it into each driver and use a centralized probe function.
 1.19 09-Jun-1998  thorpej Nuke __BROKEN_INDIRECT_CONFIG.
 1.18 09-Jun-1998  thorpej Adjust for the changes to the ISA DMA API.
 1.17 19-Apr-1998  thorpej Fix a fencepost in last change.
 1.16 15-Apr-1998  thorpej Don't reference functions defined in isadma.c if we don't have to,
since we might not have any ISA DMA-using devices configured, thus
isadma.c won't be compiled. Fixes a problem reported by Kevin Lahey.

Also, since there are only 8 DMA channels, don't bother checking
DRQs 8 - 15.
 1.15 12-Jan-1998  thorpej Adjust for config changes.
 1.14 01-Dec-1997  mjacob fixme: still need a __BROKEN_INDIRECT_CONFIG case
 1.13 30-Nov-1997  drochner make it compile without "__BROKEN_INDIRECT_CONFIG"
 1.12 28-Oct-1997  christos DTRT with level and edge interrupts:
- add a type field to the isapnp_pin struct and set to IST_EDGE or
IST_LEVEL depending on the card configuration data.
- use the irq type field in all the drivers instead of hardcoding it.
 1.11 27-Oct-1997  thorpej In isapnp_alloc_irq(), use isa_intr_alloc(), since it performs resource
conflict checking.
 1.10 27-Oct-1997  thorpej Make sure we don't allocate a conflicting DRQ. From Christos.
 1.9 12-Aug-1997  mikel branches: 1.9.4;
don't forget to unmap read port in match routine, if successful; also
ensure sc_ncards is initialized
short-circuit probing for cards once first is found in match routine
add support for !__BROKEN_INDIRECT_CONFIG
 1.8 06-Aug-1997  mikel don't clobber bus_space_{,un}map macros
 1.7 03-Aug-1997  mikel add support for compatible device IDs
 1.6 08-Jun-1997  thorpej branches: 1.6.4;
Fix a (fatal) typo in the bus dma changes. From Bill Coldwell
<billc@warped.com>
 1.5 06-Jun-1997  thorpej Pull thorpej-bus-dma branch into mainline.
 1.4 24-Feb-1997  christos branches: 1.4.2;
Fix PR/3251; also don't assign the checksum every time around the loop.
 1.3 09-Feb-1997  christos Add a break; in the irq/drq allocation loop so we take the first one instead
of the last one.
 1.2 24-Jan-1997  christos branches: 1.2.2;
- increase string space for device class names
- fix the parser so that non-compliant isapnp devices work, and we
give up when there are too many errors (some on-board pnp sound/atapi/game
soundblaster compatible card). reported by chuck cranor
- fix the parser so that configuration tags that come after the
end-dependencies tag or before the begin-dependencies tag are merged
in properly (gravis ultrasound). reported by gary duzan
We now build a tree of card -> logical-dev -> conf, and in the end we
convert it to a list of conf...
 1.1 16-Jan-1997  christos Plug and Play support.
 1.2.2.1 12-Mar-1997  is Merge in changes from Trunk
 1.4.2.1 13-May-1997  thorpej Pass the bus dma tag to children.
 1.6.4.1 23-Aug-1997  thorpej Update marc-pcmcia branch from trunk.
 1.9.4.4 24-Nov-1998  cgd pull up rev 1.30 from trunk (fvdl)
 1.9.4.3 29-Oct-1997  thorpej Pull up from trunk: DTRT with level and edge interrupts.
 1.9.4.2 27-Oct-1997  thorpej Pull up from trunk:

In isapnp_alloc_irq(), use isa_intr_alloc(), since it performs resource
conflict checking.
 1.9.4.1 27-Oct-1997  thorpej Pull up from trunk:

Make sure we don't allocate a conflicting DRQ. From Christos.
 1.20.2.1 08-Aug-1998  eeh Revert cdevsw mmap routines to return int.
 1.33.4.1 21-Jun-1999  thorpej Sync w/ -current.
 1.34.16.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.34.16.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.34.14.5 03-Jan-2003  thorpej Sync with HEAD.
 1.34.14.4 18-Oct-2002  nathanw Catch up to -current.
 1.34.14.3 28-Feb-2002  nathanw Catch up to -current.
 1.34.14.2 11-Jan-2002  nathanw More catchup.
 1.34.14.1 14-Nov-2001  nathanw Catch up to -current.
 1.41.2.6 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.41.2.5 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.41.2.4 04-Feb-2005  skrll Sync with HEAD.
 1.41.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.41.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.41.2.1 03-Aug-2004  skrll Sync with HEAD
 1.43.6.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.43.6.1 12-Feb-2005  yamt sync with head.
 1.43.4.1 29-Apr-2005  kent sync with -current
 1.46.2.6 17-Mar-2008  yamt sync with head.
 1.46.2.5 21-Jan-2008  yamt sync with head
 1.46.2.4 07-Dec-2007  yamt sync with head
 1.46.2.3 27-Oct-2007  yamt sync with head.
 1.46.2.2 30-Dec-2006  yamt sync with head.
 1.46.2.1 21-Jun-2006  yamt sync with head.
 1.49.12.1 31-Mar-2006  tron Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
 1.49.10.1 19-Apr-2006  elad sync with head.
 1.49.8.1 01-Apr-2006  yamt sync with head.
 1.49.6.1 22-Apr-2006  simonb Sync with head.
 1.49.4.1 09-Sep-2006  rpaulo sync with head
 1.50.10.2 10-Dec-2006  yamt sync with head.
 1.50.10.1 22-Oct-2006  yamt sync with head
 1.50.8.1 18-Nov-2006  ad Sync with head.
 1.52.28.1 25-Oct-2007  bouyer Sync with HEAD.
 1.52.24.3 23-Mar-2008  matt sync with HEAD
 1.52.24.2 09-Jan-2008  matt sync with HEAD
 1.52.24.1 06-Nov-2007  matt sync with HEAD
 1.52.22.5 08-Dec-2007  jmcneill Rename pnp(9) -> pmf(9), as requested by many.
 1.52.22.4 03-Dec-2007  joerg Sync with HEAD.
 1.52.22.3 06-Nov-2007  joerg Refactor PNP API:
- Make suspend/resume directly a device functionality. It consists of
three layers (class logic, device logic, bus logic), all of them being
optional. This replaces D0/D3 transitions.
- device_is_active returns true if the device was not disabled and was
not suspended (even partially), device_is_enabled returns true if the
device was enabled.
- Change pnp_global_transition into pnp_system_suspend and
pnp_system_resume. Before running any suspend/resume handlers, check
that all currently attached devices support power management and bail
out otherwise. The latter is not done for the shutdown/panic case.
- Make the former bus-specific generic network handlers a class handler.
- Make PNP message like volume up/down/toogle PNP events. Each device
can register what events they are interested in and whether the handler
should be global or not.
- Introduce device_active API for devices to mark themselve in use from
either the system or the device. Use this to implement the idle handling
for audio and input devices. This is intended to replace most ad-hoc
watchdogs as well.
- Fix somes situations in which audio resume would lose mixer settings.
- Make USB host controllers better deal with suspend in the light of
shared interrupts.
- Flush filesystem cache on suspend.
- Flush disk caches on suspend. Put ATA disks into standby on suspend as
well.
- Adopt drivers to use the new PNP API.
- Fix a critical bug in the generic cardbus layer that made D0->D3
break.
- Fix ral(4) to set if_stop.
- Convert cbb(4) to the new PNP API.
- Apply the PCI Express SCI fix on resume again.
 1.52.22.2 26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.52.22.1 07-Aug-2007  jmcneill Use pnp_generic_power
 1.52.8.1 23-Oct-2007  ad Sync with head.
 1.53.2.2 27-Dec-2007  mjf Sync with HEAD.
 1.53.2.1 08-Dec-2007  mjf Sync with HEAD.
 1.54.4.1 11-Dec-2007  yamt sync with head.
 1.54.2.1 26-Dec-2007  ad Sync with head.
 1.55.10.2 02-Jun-2008  mjf Sync with HEAD.
 1.55.10.1 03-Apr-2008  mjf Sync with HEAD.
 1.55.6.1 24-Mar-2008  keiichi sync with head.
 1.57.4.2 16-Sep-2009  yamt sync with head
 1.57.4.1 16-May-2008  yamt sync with head.
 1.57.2.1 18-May-2008  yamt sync with head.
 1.59.64.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.60.10.2 22-Mar-2021  thorpej Audit CFARG_IATTR in config_found() calls, and remove it in situations
where the interface attribute is not ambiguous.
 1.60.10.1 22-Mar-2021  thorpej Mechanical conversion of config_found_sm_loc() -> config_found().
CFARG_IATTR usage needs to be audited.
 1.61.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.63.10.1 02-Aug-2025  perseant Sync with HEAD
 1.2 18-Feb-2001  martin Filename cleanup police (per discussion with Soren S. Jorvang):
remove all (legacy) "i4b_" prefixes outside of sys/netisdn.
Prefix all card specific driver support files with the basename
of the driver bus attachement file.

Renamed here:
isapnp_isic.c -> isic_isapnp.c
i4b_ctx_s0P.c -> isic_isapnp_ctx_s0P.c
i4b_drn_ngo.c -> isic_isapnp_drn_ngo.c
i4b_dynalink.c -> isic_isapnp_dynalink.c
i4b_elsa_qs1i.c -> isic_isapnp_elsa_qs1i.c
i4b_siemens_isurf.c -> isic_isapnp_siemens_isurf.c
i4b_sws.c -> isic_isapnp_sws.c
i4b_tel_s0P.c -> isic_isapnp_tel_s0P.c
 1.1 05-Jan-2001  martin branches: 1.1.1;
Initial revision
 1.1.1.1 05-Jan-2001  martin branches: 1.1.1.1.2;
Initial import of ISDN4BSD release 0.96
 1.1.1.1.2.3 12-Mar-2001  bouyer Sync with HEAD.
 1.1.1.1.2.2 05-Jan-2001  bouyer Sync with HEAD
 1.1.1.1.2.1 05-Jan-2001  bouyer file isapnp_isic.c was added on branch thorpej_scsipi on 2001-01-05 17:35:55 +0000
 1.12 14-Mar-2009  dsl 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.11 28-Apr-2008  martin branches: 1.11.8; 1.11.14;
Remove clause 3 and 4 from TNF licenses
 1.10 19-Oct-2007  ad branches: 1.10.16; 1.10.18; 1.10.20;
machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
 1.9 11-Dec-2005  christos branches: 1.9.30; 1.9.44; 1.9.46; 1.9.50;
merge ktrace-lwp.
 1.8 27-Feb-2005  perry branches: 1.8.4;
nuke trailing whitespace
 1.7 06-Jan-2003  wiz branches: 1.7.2; 1.7.10; 1.7.12;
writable, not writeable.
 1.6 13-Nov-2001  lukem add RCSID
 1.5 05-Sep-1998  christos branches: 1.5.24; 1.5.26;
Assign copyright to TNF.
 1.4 03-Aug-1997  mikel add support for compatible device IDs
 1.3 10-Apr-1997  mikel branches: 1.3.4;
fix off-by-one error in fixed I/O resource interpreter
fix address alignment errors in memory resource interpreter
clean up debug output a bit
 1.2 09-Feb-1997  christos Fix an irq -> drq typo
 1.1 16-Jan-1997  christos branches: 1.1.2;
Plug and Play support.
 1.1.2.1 12-Mar-1997  is Merge in changes from Trunk
 1.3.4.1 23-Aug-1997  thorpej Update marc-pcmcia branch from trunk.
 1.5.26.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.5.24.2 07-Jan-2003  thorpej Sync with HEAD.
 1.5.24.1 14-Nov-2001  nathanw Catch up to -current.
 1.7.12.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.7.10.1 29-Apr-2005  kent sync with -current
 1.7.2.1 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.8.4.1 27-Oct-2007  yamt sync with head.
 1.9.50.1 25-Oct-2007  bouyer Sync with HEAD.
 1.9.46.1 06-Nov-2007  matt sync with HEAD
 1.9.44.1 26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.9.30.1 23-Oct-2007  ad Sync with head.
 1.10.20.2 04-May-2009  yamt sync with head.
 1.10.20.1 16-May-2008  yamt sync with head.
 1.10.18.1 18-May-2008  yamt sync with head.
 1.10.16.1 02-Jun-2008  mjf Sync with HEAD.
 1.11.14.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.11.8.1 28-Apr-2009  skrll Sync with HEAD.
 1.69 19-Nov-2015  christos Add another le board.
 1.68 21-Jan-2009  jnemeth branches: 1.68.20; 1.68.24; 1.68.40; 1.68.42;
add a comment explaining how to regenerate isapnpdevs.h and isapnpdevs.c
 1.67 28-Apr-2008  martin branches: 1.67.8;
Remove clause 3 and 4 from TNF licenses
 1.66 20-Apr-2008  tsutsui branches: 1.66.2;
Add an entry for Symbios SYM53C416.
 1.65 08-Jun-2007  wiz branches: 1.65.28; 1.65.30;
Add three IDs for GUS PnP.

From Zbigniew Baniewski in PR 36425.
 1.64 21-May-2007  tron Add entries to recognize the Farallon Etherwave ISA card via ep(4).

Based on a patch submitted by Randy Beaudreault in PR kern/36360,
reviewed by Christos Zoulas.
 1.63 30-Nov-2006  christos branches: 1.63.2; 1.63.8; 1.63.10; 1.63.16;
PR/35163: Christian Groessler: support for Aztech MM Pro 16 III ISA-PNP
sound card
 1.62 23-Sep-2006  jmcneill Attach ess(4) for ESS1879 devices; 2+ years late fix for PR# 23133
 1.61 30-Jun-2006  chap branches: 1.61.4; 1.61.6;
Ankh-Morpork, we have a MIDI driver....

Merge from chap-midi branch, after
~month for review
Comments by thorpej@ drochner@ and Alexandre Ratchov

Incorporated: points by thorpej@ drochner@; preliminary support for
a stats-collecting ioctl suggested by martin@ from comments by A.R.

PR kern/32441 kern/32442 kern/32567 kern/32588 kern/32694 kern/33590
kern/33614 and one instance of kern/32651

ok martin@
 1.60 27-Apr-2006  christos branches: 1.60.2; 1.60.4;
PR/33382: Jonathan A. Kollasch: add devlogic for another com(4) at isapnp(4)
 1.59 13-Apr-2006  christos Fix the MPU attachment on Aztech 1020 that has a separate mpu pnp device
instead of having the mpu in io[1]. From doomwarriorx at gmail dot com.
 1.58 19-Feb-2006  martin branches: 1.58.2; 1.58.4; 1.58.6;
Add Aztech AZT1020. From Stephan Meisinger.
 1.57 11-Dec-2005  christos branches: 1.57.2; 1.57.4; 1.57.6;
merge ktrace-lwp.
 1.56 27-Feb-2005  perry branches: 1.56.2; 1.56.4;
nuke trailing whitespace
 1.55 28-Jan-2004  jdolecek branches: 1.55.8; 1.55.10;
ISA PnP atppc(4) attachment
based loosely on aha ISA PnP attachment
 1.54 08-Jul-2003  rh Add CMI8330/C3D Audio Adapter (wss). This closes PR kern/22081 by Mayukh
Bose <mayukh at earthlink dot net>.
 1.53 10-Jun-2003  christos branches: 1.53.2;
add a Rockwell 33.6K modem
 1.52 05-Mar-2003  itohy Add ESS1878 (ess) and ESS0005 (joy) for ESS ES1878 audio device.
 1.51 19-Nov-2002  christos add another GVC modem
 1.50 05-Oct-2002  tsutsui Add Fujitsu FMV-183/184, MB86964 based ISA-PnP Ethernet adapters.
 1.49 04-Oct-2002  tsutsui Add Melco Inc. LGY-VI, Am79c961 (PCnet-ISA) based network interface.
 1.48 03-Sep-2002  jdolecek According to kern/17695, the Cabletron 22xx works with the NetBSD
Lance Ethernet driver attached to isapnp. Add it to the list.
 1.47 31-May-2002  christos add usr v.everything.
 1.46 12-Apr-2002  christos branches: 1.46.2; 1.46.4;
add some more devices; sorry I don't remember where they came from.
 1.45 22-Feb-2002  christos PR/15701: Mike Wlodarczyk: ISAPNP data for another SupraExpress 56I SP V.90
 1.44 27-Nov-2001  yamt add IBM EtherJet ISA.
 1.43 16-Nov-2001  christos add another USR modem.
 1.42 27-Jul-2001  thorpej Add the 3c515 for the "ep" driver.
 1.41 15-Apr-2001  david branches: 1.41.2;
Add Aztech sound card found in HP Kayaks.
 1.40 24-Feb-2001  christos branches: 1.40.2;
add ESS wd controller.
 1.39 26-Jan-2001  is Contribution by Ryoji Kato: I-O DATA IFML-560 56K modem support.
 1.38 19-Dec-2000  mjl Correct ALS100+ entry.
 1.37 18-Dec-2000  mjl Add Avance Logic ALS100+
 1.36 17-Dec-2000  thorpej Add Aironet ISAPnP device ID.
 1.35 28-Aug-2000  jdolecek add entry for SupraExpress 56i Sp V.90, as sent in kern/10902
 1.34 06-Jun-2000  soren branches: 1.34.2;
Add CS4235 MPU id.
 1.33 08-Feb-2000  erh branches: 1.33.2;
Add Allied Telesyn AT-1500, lance ethernet.
 1.32 15-Dec-1999  explorer add another modem; from Dan J Fraser
 1.31 27-Nov-1999  castor Add support for CS4235 codec as found on Intel KU440EX motherboard.
 1.30 16-Nov-1999  jun Support for Adaptec AVA-1502P
kern/8804 patch by NAKAGAWA, Yoshihisa
 1.29 27-Oct-1999  christos PR/8692: maximum entropy: Recognize Creative SB Awe 64 joystick.
 1.28 24-Aug-1999  rh branches: 1.28.2; 1.28.4; 1.28.6;
Add AdLib MSC 32 Wave PnP board (wss audio device).
 1.27 18-Apr-1999  ad Add Diamond Supra 336i to device list.
 1.26 07-Apr-1999  christos Add another USR modem
 1.25 06-Apr-1999  augustss Add Leopard 56k PnP, from PR 7330.
 1.24 29-Mar-1999  fvdl branches: 1.24.2;
Now that he ESS 1868 and 1869 are working, enable them here.
 1.23 22-Mar-1999  bad Recognise IBM and 3COM Token-Ring PnP cards and associate them with the tr
driver.
 1.22 22-Mar-1999  mycroft Add variants numbers, and Aztech AZT2320 bindings.
 1.21 18-Mar-1999  drochner aic at isapnp is reported to work with AVA-1505A boards too
(by "Elephant's Root" <root@elephant.nervana.montana.edu>,
PR kern/7179),
add the device id and the compat id used by this board
 1.20 16-Mar-1999  dean Add entries for USR Sportster 14.4K and 33.6K
 1.19 24-Feb-1999  rh Add entry for Terratec AudioSystem EWS64 CoDec.
 1.18 18-Feb-1999  mycroft Add ID for MagicRam SwapBox PCMCIA controller card.
 1.17 08-Feb-1999  tls Fix ESS/SB confusion for 1868 and 1869 chips: because isapnpdevs is parsed by an awk script, you *must* comment out each line separately, which is why ess was still trying to attach chips it couldn't cope with. Note that this leaves isapnp ess with no matches -- shouldn't the 188X be in here? Also, add another isapnp PCIC.
 1.16 05-Feb-1999  augustss Don't use ess driver for ESS186[89], it doesn't work.
 1.15 04-Jan-1999  augustss Add USR 56K Faxmodem, from jbernard@ox.mines.edu in PR 6729.
 1.14 21-Dec-1998  christos PR/6619: Rick Byers: Add Motorola ModemSurfr
 1.13 20-Dec-1998  christos Add another modem.
 1.12 02-Dec-1998  christos add the compat id for the aha-1542cp
 1.11 26-Nov-1998  hannken Add support for `AdLib NSC 16 PNP' as wss, joy.
Record source selection needs work.
 1.10 23-Nov-1998  christos add adaptec aha attachment.
 1.9 12-Nov-1998  drochner -add an NE2000 clone, info from PR kern/6430
-add comment for PCNET/isapnp (ID is vendor specific)
 1.8 04-Oct-1998  christos Add another soundblaster compatible card (Steve Allen)
 1.7 21-Sep-1998  mark Add CS4235 joystick.
 1.6 12-Sep-1998  wrstuden Add support for the OPTi Audio 16 IDE controller.
 1.5 05-Sep-1998  christos Assign copyright to TNF.
 1.4 15-Aug-1998  thorpej Add the Zoom ComStar 33.6 modem, from Dave Huang <khym@bga.com>, PR #5976.
 1.3 07-Aug-1998  matt Add an isapnp frontend for the ess driver. It somewhat works
(sounds is made but one buffer is played continuously).
 1.2 30-Jul-1998  drochner add entry for Boca 56k (from Fujie Zhang <fzhang@NMSU.Edu>)
update comment for OPL3-SA2 / OPL3-SA3 (same PnP ID)
 1.1 23-Jul-1998  christos branches: 1.1.2;
Create a master list of pnp logical and compatibility device codes instead
of hard-coding it into each driver and use a centralized probe function.
 1.1.2.1 08-Aug-1998  eeh Revert cdevsw mmap routines to return int.
 1.24.2.1 16-Apr-1999  augustss branches: 1.24.2.1.2;
Add two modems.
Pullup approved by Perry.
 1.24.2.1.2.1 21-Jun-1999  thorpej Sync w/ -current.
 1.28.6.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.28.4.1 15-Nov-1999  fvdl Sync with -current
 1.28.2.5 21-Apr-2001  bouyer Sync with HEAD
 1.28.2.4 12-Mar-2001  bouyer Sync with HEAD.
 1.28.2.3 11-Feb-2001  bouyer Sync with HEAD.
 1.28.2.2 05-Jan-2001  bouyer Sync with HEAD
 1.28.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.33.2.1 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.34.2.3 18-Dec-2000  mjl Back out previous (wrong branch).
 1.34.2.2 18-Dec-2000  mjl Add Avance Logic ALS100+
 1.34.2.1 30-Aug-2000  jdolecek pullup rev 1.35 (approved by jhawk):
add entry for SupraExpress 56i Sp V.90, as sent in kern/10902
 1.40.2.9 11-Dec-2002  thorpej Sync with HEAD.
 1.40.2.8 18-Oct-2002  nathanw Catch up to -current.
 1.40.2.7 17-Sep-2002  nathanw Catch up to -current.
 1.40.2.6 20-Jun-2002  nathanw Catch up to -current.
 1.40.2.5 17-Apr-2002  nathanw Catch up to -current.
 1.40.2.4 28-Feb-2002  nathanw Catch up to -current.
 1.40.2.3 08-Jan-2002  nathanw Catch up to -current.
 1.40.2.2 24-Aug-2001  nathanw Catch up with -current.
 1.40.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.41.2.5 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.41.2.4 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.41.2.3 16-Mar-2002  jdolecek Catch up with -current.
 1.41.2.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.41.2.1 03-Aug-2001  lukem update to -current
 1.46.4.1 30-Nov-2002  he Pull up revision 1.48 (requested by jdolecek in ticket #765):
Add Cabletron 22xx as a Lance Ethernet instance.
Fixes PR#17695.
 1.46.2.1 20-Jun-2002  gehenna catch up with -current.
 1.53.2.4 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.53.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.53.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.53.2.1 03-Aug-2004  skrll Sync with HEAD
 1.55.10.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.55.8.1 29-Apr-2005  kent sync with -current
 1.56.4.3 03-Sep-2007  yamt sync with head.
 1.56.4.2 30-Dec-2006  yamt sync with head.
 1.56.4.1 21-Jun-2006  yamt sync with head.
 1.56.2.2 27-May-2007  bouyer Fix CVS Id in previous
 1.56.2.1 27-May-2007  bouyer Pull up following revision(s) (requested by tron in ticket #1786):
sys/dev/isapnp/isapnpdevs: revision 1.64
Add entries to recognize the Farallon Etherwave ISA card via ep(4).
Based on a patch submitted by Randy Beaudreault in PR kern/36360,
reviewed by Christos Zoulas.
 1.57.6.2 01-Jun-2006  kardel Sync with head.
 1.57.6.1 22-Apr-2006  simonb Sync with head.
 1.57.4.1 09-Sep-2006  rpaulo sync with head
 1.57.2.1 01-Mar-2006  yamt sync with head.
 1.58.6.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.58.4.2 11-May-2006  elad sync with head
 1.58.4.1 19-Apr-2006  elad sync with head.
 1.58.2.2 11-Aug-2006  yamt sync with head
 1.58.2.1 24-May-2006  yamt sync with head.
 1.60.4.1 13-Jul-2006  gdamore Merge from HEAD.
 1.60.2.1 29-May-2006  chap PNPB006 is an MPU401 compatible MIDI UART. ACPI knew this, but isapnp
didn't.
 1.61.6.2 10-Dec-2006  yamt sync with head.
 1.61.6.1 22-Oct-2006  yamt sync with head
 1.61.4.2 12-Jan-2007  ad Sync with head.
 1.61.4.1 18-Nov-2006  ad Sync with head.
 1.63.16.1 04-Jun-2007  wrstuden Update to today's netbsd-4.
 1.63.10.1 11-Jul-2007  mjf Sync with head.
 1.63.8.2 15-Jul-2007  ad Sync with head.
 1.63.8.1 27-May-2007  ad Sync with head.
 1.63.2.1 25-May-2007  pavel Pull up following revision(s) (requested by tron in ticket #665):
sys/dev/isapnp/isapnpdevs: revision 1.64
Add entries to recognize the Farallon Etherwave ISA card via ep(4).
Based on a patch submitted by Randy Beaudreault in PR kern/36360,
reviewed by Christos Zoulas.
 1.65.30.1 18-May-2008  yamt sync with head.
 1.65.28.1 02-Jun-2008  mjf Sync with HEAD.
 1.66.2.2 04-May-2009  yamt sync with head.
 1.66.2.1 16-May-2008  yamt sync with head.
 1.67.8.1 03-Mar-2009  skrll Sync with HEAD.
 1.68.42.1 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.68.40.1 22-Jun-2016  snj Pull up following revision(s) (requested by pgoyette in ticket #1177):
sys/dev/isapnp/isapnpdevs: revision 1.69
Add another le board.
 1.68.24.1 03-Dec-2017  jdolecek update from HEAD
 1.68.20.1 27-Aug-2016  bouyer Pull up following revision(s) (requested by pgoyette in ticket #1386):
sys/dev/isapnp/isapnpdevs: revision 1.69
Add another le board.
 1.72 19-Nov-2015  christos regen
 1.71 28-Apr-2008  martin branches: 1.71.40; 1.71.44; 1.71.62; 1.71.64;
Remove clause 3 and 4 from TNF licenses
 1.70 20-Apr-2008  tsutsui branches: 1.70.2;
Regen from isapnpdevs rev 1.66:
> Add an entry for Symbios SYM53C416.
 1.69 08-Jun-2007  wiz branches: 1.69.28; 1.69.30;
Regen (with more GUS).
 1.68 21-May-2007  tron Regen for PR kern/36360.
 1.67 30-Nov-2006  christos branches: 1.67.2; 1.67.8; 1.67.10; 1.67.16;
regen
 1.66 23-Sep-2006  jmcneill Regen for PR# 23133.
 1.65 30-Jun-2006  chap branches: 1.65.4; 1.65.6;
Ankh-Morpork, we have a MIDI driver....

Merge from chap-midi branch, after
~month for review
Comments by thorpej@ drochner@ and Alexandre Ratchov

Incorporated: points by thorpej@ drochner@; preliminary support for
a stats-collecting ioctl suggested by martin@ from comments by A.R.

PR kern/32441 kern/32442 kern/32567 kern/32588 kern/32694 kern/33590
kern/33614 and one instance of kern/32651

ok martin@
 1.64 27-Apr-2006  christos branches: 1.64.2; 1.64.4;
Regen
 1.63 13-Apr-2006  christos Regen.
 1.62 19-Feb-2006  martin branches: 1.62.2; 1.62.4; 1.62.6;
Regen
 1.61 11-Dec-2005  christos branches: 1.61.2; 1.61.4; 1.61.6;
merge ktrace-lwp.
 1.60 27-Feb-2005  perry branches: 1.60.2; 1.60.4;
regen
 1.59 28-Jan-2004  jdolecek branches: 1.59.8; 1.59.10;
regen - ISA PnP atppc(4) attachmen
 1.58 08-Jul-2003  rh regen
 1.57 10-Jun-2003  christos branches: 1.57.2;
regen
 1.56 05-Mar-2003  itohy Regen (add ESS1878 (ess) and ESS0005 (joy))
 1.55 19-Nov-2002  christos regen
 1.54 05-Oct-2002  tsutsui Regen: Added Fujitsu FMV-183/184, MB86964 based ISA-PnP Ethernet adapters.
 1.53 04-Oct-2002  tsutsui Regen: Added Melco Inc. LGY-VI, Am79c961 (PCnet-ISA) based network interface.
 1.52 03-Sep-2002  jdolecek regen: Cabletron 22xx (AMD LANCE/PCnet Ethernet) addition
 1.51 31-May-2002  christos regen
 1.50 12-Apr-2002  christos branches: 1.50.2; 1.50.4;
regen
 1.49 22-Feb-2002  christos Regen
 1.48 27-Nov-2001  yamt regen for IBM EtherJet ISA.
 1.47 16-Nov-2001  christos Regen
 1.46 13-Nov-2001  lukem regen for RCSID
 1.45 27-Jul-2001  thorpej Regen -- added 3c515 for the ep driver.
 1.44 15-Apr-2001  david branches: 1.44.2;
Add Aztech sound card found in HP Kayaks.
 1.43 24-Feb-2001  christos branches: 1.43.2;
regen
 1.42 26-Jan-2001  is Contribution by Ryoji Kato: I-O DATA IFML-560 56K modem device ID.
 1.41 19-Dec-2000  mjl Regen
 1.40 18-Dec-2000  mjl Regen
 1.39 17-Dec-2000  thorpej Regen; added Aironet 802.11.
 1.38 28-Aug-2000  jdolecek regen
 1.37 08-Feb-2000  erh branches: 1.37.4;
Regen.
 1.36 15-Dec-1999  explorer regen
 1.35 27-Nov-1999  castor regen
 1.34 17-Nov-1999  jun re-generating isapnpdevs.c isapnpdevs.h
 1.33 16-Nov-1999  jun Support for Adaptec AVA-1502P
kern/8804 patch by NAKAGAWA, Yoshihisa
 1.32 27-Oct-1999  christos regen
 1.31 24-Aug-1999  rh branches: 1.31.2; 1.31.4; 1.31.6;
Regen.
 1.30 18-Apr-1999  ad Rebuilt from 'isapnpdevs'.
 1.29 07-Apr-1999  christos regen
 1.28 06-Apr-1999  augustss Regen.
 1.27 29-Mar-1999  fvdl branches: 1.27.2;
Regen.
 1.26 22-Mar-1999  bad Regen.
 1.25 22-Mar-1999  mycroft Regen.
 1.24 18-Mar-1999  drochner regen
 1.23 17-Mar-1999  dean corrected the "generated from" lines by running make -f Makefile.isapnpdevs
AFTER committing isapnpdevs.
 1.22 16-Mar-1999  dean Add entries for USR Sportster 14.4K and 33.6K
 1.21 28-Feb-1999  explorer undo commit made in error
 1.20 28-Feb-1999  explorer don't collect or estimate on network devices by default
 1.19 24-Feb-1999  rh regen to correct "generated from" as pointed out by Matthias Drochner, thx!
 1.18 24-Feb-1999  rh Add entry for Terratec AudioSystem EWS64 CoDec.
 1.17 18-Feb-1999  mycroft Regen.
 1.16 08-Feb-1999  tls Fix ESS/SB confusion for 1868 and 1869 chips: because isapnpdevs is parsed by an awk script, you *must* comment out each line separately, which is why ess was still trying to attach chips it couldn't cope with. Note that this leaves isapnp ess with no matches -- shouldn't the 188X be in here? Also, add another isapnp PCIC.
 1.15 04-Jan-1999  augustss Regen.
 1.14 21-Dec-1998  christos Regen
 1.13 20-Dec-1998  christos Regen
 1.12 02-Dec-1998  christos Regen.
 1.11 26-Nov-1998  hannken Add support for `AdLib NSC 16 PNP' as wss, joy.
Record source selection needs work.
 1.10 23-Nov-1998  christos regen
 1.9 12-Nov-1998  drochner regen
 1.8 04-Oct-1998  christos Regen
 1.7 21-Sep-1998  mark Regen.
 1.6 12-Sep-1998  wrstuden Regen.
 1.5 05-Sep-1998  christos Regen.
 1.4 15-Aug-1998  thorpej Regen.
 1.3 07-Aug-1998  matt Add an isapnp frontend for the ess driver. It somewhat works
(sounds is made but one buffer is played continuously).
 1.2 30-Jul-1998  drochner regen
 1.1 23-Jul-1998  christos branches: 1.1.2;
First-gen
 1.1.2.1 08-Aug-1998  eeh Revert cdevsw mmap routines to return int.
 1.27.2.1 16-Apr-1999  augustss branches: 1.27.2.1.2;
Regen.
 1.27.2.1.2.1 21-Jun-1999  thorpej Sync w/ -current.
 1.31.6.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.31.4.1 15-Nov-1999  fvdl Sync with -current
 1.31.2.5 21-Apr-2001  bouyer Sync with HEAD
 1.31.2.4 12-Mar-2001  bouyer Sync with HEAD.
 1.31.2.3 11-Feb-2001  bouyer Sync with HEAD.
 1.31.2.2 05-Jan-2001  bouyer Sync with HEAD
 1.31.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.37.4.1 30-Aug-2000  jdolecek regen
 1.43.2.10 11-Dec-2002  thorpej Sync with HEAD.
 1.43.2.9 18-Oct-2002  nathanw Catch up to -current.
 1.43.2.8 17-Sep-2002  nathanw Catch up to -current.
 1.43.2.7 20-Jun-2002  nathanw Catch up to -current.
 1.43.2.6 17-Apr-2002  nathanw Catch up to -current.
 1.43.2.5 28-Feb-2002  nathanw Catch up to -current.
 1.43.2.4 08-Jan-2002  nathanw Catch up to -current.
 1.43.2.3 14-Nov-2001  nathanw Catch up to -current.
 1.43.2.2 24-Aug-2001  nathanw Catch up with -current.
 1.43.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.44.2.5 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.44.2.4 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.44.2.3 16-Mar-2002  jdolecek Catch up with -current.
 1.44.2.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.44.2.1 03-Aug-2001  lukem update to -current
 1.50.4.1 30-Nov-2002  he Pull up regenerated files (requested by jdolecek in ticket #765):
Add Cabletron 22xx as a Lance Ethernet instance.
Fixes PR#17695.
 1.50.2.1 20-Jun-2002  gehenna catch up with -current.
 1.57.2.4 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.57.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.57.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.57.2.1 03-Aug-2004  skrll Sync with HEAD
 1.59.10.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.59.8.1 29-Apr-2005  kent sync with -current
 1.60.4.3 03-Sep-2007  yamt sync with head.
 1.60.4.2 30-Dec-2006  yamt sync with head.
 1.60.4.1 21-Jun-2006  yamt sync with head.
 1.60.2.1 27-May-2007  bouyer Regen for ticket #1786
 1.61.6.2 01-Jun-2006  kardel Sync with head.
 1.61.6.1 22-Apr-2006  simonb Sync with head.
 1.61.4.1 09-Sep-2006  rpaulo sync with head
 1.61.2.1 01-Mar-2006  yamt sync with head.
 1.62.6.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.62.4.2 11-May-2006  elad sync with head
 1.62.4.1 19-Apr-2006  elad sync with head.
 1.62.2.2 11-Aug-2006  yamt sync with head
 1.62.2.1 24-May-2006  yamt sync with head.
 1.64.4.1 13-Jul-2006  gdamore Merge from HEAD.
 1.64.2.1 29-May-2006  chap PNPB006 is an MPU401 compatible MIDI UART. ACPI knew this, but isapnp
didn't.
 1.65.6.2 10-Dec-2006  yamt sync with head.
 1.65.6.1 22-Oct-2006  yamt sync with head
 1.65.4.2 12-Jan-2007  ad Sync with head.
 1.65.4.1 18-Nov-2006  ad Sync with head.
 1.67.16.1 04-Jun-2007  wrstuden Update to today's netbsd-4.
 1.67.10.1 11-Jul-2007  mjf Sync with head.
 1.67.8.2 15-Jul-2007  ad Sync with head.
 1.67.8.1 27-May-2007  ad Sync with head.
 1.67.2.1 25-May-2007  pavel regen for ticket 665: Support for Farallon Etherwave ISA card
 1.69.30.1 18-May-2008  yamt sync with head.
 1.69.28.1 02-Jun-2008  mjf Sync with HEAD.
 1.70.2.1 16-May-2008  yamt sync with head.
 1.71.64.1 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.71.62.1 22-Jun-2016  snj regen for ticket 1177
 1.71.44.1 03-Dec-2017  jdolecek update from HEAD
 1.71.40.1 27-Aug-2016  bouyer regen for ticket 1386
 1.67 19-Nov-2015  christos regen
 1.66 28-Apr-2008  martin branches: 1.66.40; 1.66.44; 1.66.62; 1.66.64;
Remove clause 3 and 4 from TNF licenses
 1.65 20-Apr-2008  tsutsui branches: 1.65.2;
Regen from isapnpdevs rev 1.66:
> Add an entry for Symbios SYM53C416.
 1.64 08-Jun-2007  wiz branches: 1.64.28; 1.64.30;
Regen (with more GUS).
 1.63 21-May-2007  tron Regen for PR kern/36360.
 1.62 30-Nov-2006  christos branches: 1.62.2; 1.62.8; 1.62.10; 1.62.16;
regen
 1.61 23-Sep-2006  jmcneill Regen for PR# 23133.
 1.60 27-Apr-2006  christos branches: 1.60.2; 1.60.8; 1.60.10;
Regen
 1.59 13-Apr-2006  christos Regen.
 1.58 19-Feb-2006  martin branches: 1.58.2; 1.58.4; 1.58.6;
Regen
 1.57 11-Dec-2005  christos branches: 1.57.2; 1.57.4; 1.57.6;
merge ktrace-lwp.
 1.56 27-Feb-2005  perry branches: 1.56.2; 1.56.4;
regen
 1.55 28-Jan-2004  jdolecek branches: 1.55.8; 1.55.10;
regen - ISA PnP atppc(4) attachmen
 1.54 08-Jul-2003  rh regen
 1.53 10-Jun-2003  christos branches: 1.53.2;
regen
 1.52 05-Mar-2003  itohy Regen (add ESS1878 (ess) and ESS0005 (joy))
 1.51 19-Nov-2002  christos regen
 1.50 05-Oct-2002  tsutsui Regen: Added Fujitsu FMV-183/184, MB86964 based ISA-PnP Ethernet adapters.
 1.49 04-Oct-2002  tsutsui Regen: Added Melco Inc. LGY-VI, Am79c961 (PCnet-ISA) based network interface.
 1.48 03-Sep-2002  jdolecek regen: Cabletron 22xx (AMD LANCE/PCnet Ethernet) addition
 1.47 31-May-2002  christos regen
 1.46 12-Apr-2002  christos branches: 1.46.2; 1.46.4;
regen
 1.45 22-Feb-2002  christos Regen
 1.44 27-Nov-2001  yamt regen for IBM EtherJet ISA.
 1.43 16-Nov-2001  christos Regen
 1.42 27-Jul-2001  thorpej Regen -- added 3c515 for the ep driver.
 1.41 15-Apr-2001  david branches: 1.41.2;
Add Aztech sound card found in HP Kayaks.
 1.40 24-Feb-2001  christos branches: 1.40.2;
regen
 1.39 26-Jan-2001  is Contribution by Ryoji Kato: I-O DATA IFML-560 56K modem device ID.
 1.38 19-Dec-2000  mjl Regen
 1.37 18-Dec-2000  mjl Regen
 1.36 17-Dec-2000  thorpej Regen; added Aironet 802.11.
 1.35 28-Aug-2000  jdolecek regen
 1.34 08-Feb-2000  erh branches: 1.34.4;
Regen.
 1.33 15-Dec-1999  explorer regen
 1.32 27-Nov-1999  castor regen
 1.31 17-Nov-1999  jun re-generating isapnpdevs.c isapnpdevs.h
 1.30 16-Nov-1999  jun Support for Adaptec AVA-1502P
kern/8804 patch by NAKAGAWA, Yoshihisa
 1.29 27-Oct-1999  christos regen
 1.28 24-Aug-1999  rh branches: 1.28.2; 1.28.4; 1.28.6;
Regen.
 1.27 18-Apr-1999  ad Rebuilt from 'isapnpdevs'.
 1.26 07-Apr-1999  christos regen
 1.25 06-Apr-1999  augustss Regen.
 1.24 29-Mar-1999  fvdl branches: 1.24.2;
Regen.
 1.23 22-Mar-1999  bad Regen.
 1.22 22-Mar-1999  mycroft Regen.
 1.21 18-Mar-1999  drochner regen
 1.20 17-Mar-1999  dean corrected the "generated from" lines by running make -f Makefile.isapnpdevs
AFTER committing isapnpdevs.
 1.19 24-Feb-1999  rh regen to correct "generated from" as pointed out by Matthias Drochner, thx!
 1.18 24-Feb-1999  rh Add entry for Terratec AudioSystem EWS64 CoDec.
 1.17 18-Feb-1999  mycroft Regen.
 1.16 08-Feb-1999  tls Fix ESS/SB confusion for 1868 and 1869 chips: because isapnpdevs is parsed by an awk script, you *must* comment out each line separately, which is why ess was still trying to attach chips it couldn't cope with. Note that this leaves isapnp ess with no matches -- shouldn't the 188X be in here? Also, add another isapnp PCIC.
 1.15 04-Jan-1999  augustss Regen.
 1.14 21-Dec-1998  christos Regen
 1.13 20-Dec-1998  christos Regen
 1.12 02-Dec-1998  christos Regen.
 1.11 26-Nov-1998  hannken Add support for `AdLib NSC 16 PNP' as wss, joy.
Record source selection needs work.
 1.10 23-Nov-1998  christos regen
 1.9 12-Nov-1998  drochner regen
 1.8 04-Oct-1998  christos Regen
 1.7 21-Sep-1998  mark Regen.
 1.6 12-Sep-1998  wrstuden Regen.
 1.5 05-Sep-1998  christos Regen.
 1.4 15-Aug-1998  thorpej Regen.
 1.3 07-Aug-1998  matt Add an isapnp frontend for the ess driver. It somewhat works
(sounds is made but one buffer is played continuously).
 1.2 30-Jul-1998  drochner regen
 1.1 23-Jul-1998  christos branches: 1.1.2;
First-gen
 1.1.2.1 08-Aug-1998  eeh Revert cdevsw mmap routines to return int.
 1.24.2.1 16-Apr-1999  augustss branches: 1.24.2.1.2;
Regen.
 1.24.2.1.2.1 21-Jun-1999  thorpej Sync w/ -current.
 1.28.6.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.28.4.1 15-Nov-1999  fvdl Sync with -current
 1.28.2.4 12-Mar-2001  bouyer Sync with HEAD.
 1.28.2.3 11-Feb-2001  bouyer Sync with HEAD.
 1.28.2.2 05-Jan-2001  bouyer Sync with HEAD
 1.28.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.34.4.1 30-Aug-2000  jdolecek regen
 1.40.2.9 11-Dec-2002  thorpej Sync with HEAD.
 1.40.2.8 18-Oct-2002  nathanw Catch up to -current.
 1.40.2.7 17-Sep-2002  nathanw Catch up to -current.
 1.40.2.6 20-Jun-2002  nathanw Catch up to -current.
 1.40.2.5 17-Apr-2002  nathanw Catch up to -current.
 1.40.2.4 28-Feb-2002  nathanw Catch up to -current.
 1.40.2.3 08-Jan-2002  nathanw Catch up to -current.
 1.40.2.2 24-Aug-2001  nathanw Catch up with -current.
 1.40.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.41.2.5 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.41.2.4 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.41.2.3 16-Mar-2002  jdolecek Catch up with -current.
 1.41.2.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.41.2.1 03-Aug-2001  lukem update to -current
 1.46.4.1 30-Nov-2002  he Pull up regenerated files (requested by jdolecek in ticket #765):
Add Cabletron 22xx as a Lance Ethernet instance.
Fixes PR#17695.
 1.46.2.1 20-Jun-2002  gehenna catch up with -current.
 1.53.2.4 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.53.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.53.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.53.2.1 03-Aug-2004  skrll Sync with HEAD
 1.55.10.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.55.8.1 29-Apr-2005  kent sync with -current
 1.56.4.3 03-Sep-2007  yamt sync with head.
 1.56.4.2 30-Dec-2006  yamt sync with head.
 1.56.4.1 21-Jun-2006  yamt sync with head.
 1.56.2.1 27-May-2007  bouyer Regen for ticket #1786
 1.57.6.2 01-Jun-2006  kardel Sync with head.
 1.57.6.1 22-Apr-2006  simonb Sync with head.
 1.57.4.1 09-Sep-2006  rpaulo sync with head
 1.57.2.1 01-Mar-2006  yamt sync with head.
 1.58.6.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.58.4.2 11-May-2006  elad sync with head
 1.58.4.1 19-Apr-2006  elad sync with head.
 1.58.2.1 24-May-2006  yamt sync with head.
 1.60.10.2 10-Dec-2006  yamt sync with head.
 1.60.10.1 22-Oct-2006  yamt sync with head
 1.60.8.2 12-Jan-2007  ad Sync with head.
 1.60.8.1 18-Nov-2006  ad Sync with head.
 1.60.2.1 29-May-2006  chap PNPB006 is an MPU401 compatible MIDI UART. ACPI knew this, but isapnp
didn't.
 1.62.16.1 04-Jun-2007  wrstuden Update to today's netbsd-4.
 1.62.10.1 11-Jul-2007  mjf Sync with head.
 1.62.8.2 15-Jul-2007  ad Sync with head.
 1.62.8.1 27-May-2007  ad Sync with head.
 1.62.2.1 25-May-2007  pavel regen for ticket 665: Support for Farallon Etherwave ISA card
 1.64.30.1 18-May-2008  yamt sync with head.
 1.64.28.1 02-Jun-2008  mjf Sync with HEAD.
 1.65.2.1 16-May-2008  yamt sync with head.
 1.66.64.1 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.66.62.1 22-Jun-2016  snj regen for ticket 1177
 1.66.44.1 03-Dec-2017  jdolecek update from HEAD
 1.66.40.1 27-Aug-2016  bouyer regen for ticket 1386
 1.10 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.9 06-Jan-2003  wiz branches: 1.9.100; 1.9.102; 1.9.104;
writable, not writeable.
 1.8 23-Sep-1999  christos branches: 1.8.14;
PR/8443: Yamano-uchi, Hidetoshi: Missing register in IODESC.
 1.7 05-Sep-1998  christos Assign copyright to TNF.
 1.6 30-Jul-1998  christos Protect against multiple inclusions.
 1.5 12-Aug-1997  mikel branches: 1.5.6;
add symbol for LFSR length
 1.4 20-Mar-1997  mycroft branches: 1.4.4;
Second DRQ is at 0x75, not 0x72.
 1.3 12-Mar-1997  christos Fix typo of PR/3319
 1.2 24-Jan-1997  christos - increase string space for device class names
- fix the parser so that non-compliant isapnp devices work, and we
give up when there are too many errors (some on-board pnp sound/atapi/game
soundblaster compatible card). reported by chuck cranor
- fix the parser so that configuration tags that come after the
end-dependencies tag or before the begin-dependencies tag are merged
in properly (gravis ultrasound). reported by gary duzan
We now build a tree of card -> logical-dev -> conf, and in the end we
convert it to a list of conf...
 1.1 16-Jan-1997  christos Plug and Play support.
 1.4.4.1 23-Aug-1997  thorpej Update marc-pcmcia branch from trunk.
 1.5.6.1 08-Aug-1998  eeh Revert cdevsw mmap routines to return int.
 1.8.14.1 07-Jan-2003  thorpej Sync with HEAD.
 1.9.104.1 16-May-2008  yamt sync with head.
 1.9.102.1 18-May-2008  yamt sync with head.
 1.9.100.1 02-Jun-2008  mjf Sync with HEAD.
 1.22 25-Sep-2022  thorpej Remove unnecessary incldue of <sys/malloc.h>.
 1.21 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.20 14-Mar-2009  dsl 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.19 28-Apr-2008  martin branches: 1.19.8; 1.19.14;
Remove clause 3 and 4 from TNF licenses
 1.18 15-Mar-2008  cube branches: 1.18.2; 1.18.4;
Split device_t and softc for isapnp(4). Use proper types, ansify when
appropriate.
 1.17 19-Oct-2007  ad branches: 1.17.12; 1.17.16;
machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
 1.16 13-Apr-2006  christos branches: 1.16.18; 1.16.32; 1.16.34; 1.16.38;
Coverity CID 1543: Fix buffer off-by-one on error.
 1.15 11-Dec-2005  christos branches: 1.15.4; 1.15.6; 1.15.8; 1.15.10; 1.15.12;
merge ktrace-lwp.
 1.14 27-Feb-2005  perry branches: 1.14.4;
nuke trailing whitespace
 1.13 04-Feb-2005  perry de-__P
 1.12 13-Dec-2004  christos branches: 1.12.2; 1.12.4;
PR/28645: Fabien Devaux: Infinite loop at startup with Acer Travelmate 313T
due to buggy BIOS.
 1.11 13-Nov-2001  lukem branches: 1.11.16;
add RCSID
 1.10 23-May-2000  christos branches: 1.10.6; 1.10.8;
PR/10154: Antti Kantee: ignore 0 length resource(s)
 1.9 05-Sep-1998  christos branches: 1.9.12;
Assign copyright to TNF.
 1.8 20-Nov-1997  mikel increase maximum resource ROM read delay to 1 ms (slow EEPROMS)
 1.7 03-Aug-1997  mikel branches: 1.7.4;
add support for compatible device IDs
 1.6 10-Apr-1997  mikel branches: 1.6.4;
fix off-by-one error in fixed I/O resource interpreter
fix address alignment errors in memory resource interpreter
clean up debug output a bit
 1.5 24-Jan-1997  christos const poisoning
 1.4 24-Jan-1997  christos - increase string space for device class names
- fix the parser so that non-compliant isapnp devices work, and we
give up when there are too many errors (some on-board pnp sound/atapi/game
soundblaster compatible card). reported by chuck cranor
- fix the parser so that configuration tags that come after the
end-dependencies tag or before the begin-dependencies tag are merged
in properly (gravis ultrasound). reported by gary duzan
We now build a tree of card -> logical-dev -> conf, and in the end we
convert it to a list of conf...
 1.3 24-Jan-1997  veego Decrease the delay() in isapnp_wait_status(), 100 was too much.
 1.2 22-Jan-1997  mycroft Increase the delay() in isapnp_wait_status() for slow cards.
 1.1 16-Jan-1997  christos Plug and Play support.
 1.6.4.1 23-Aug-1997  thorpej Update marc-pcmcia branch from trunk.
 1.7.4.1 20-Nov-1997  mellon Pull rev 1.8 up from trunk (mikel)
 1.9.12.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.10.8.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.10.6.1 14-Nov-2001  nathanw Catch up to -current.
 1.11.16.3 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.11.16.2 04-Feb-2005  skrll Sync with HEAD.
 1.11.16.1 18-Dec-2004  skrll Sync with HEAD.
 1.12.4.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.12.4.1 12-Feb-2005  yamt sync with head.
 1.12.2.1 29-Apr-2005  kent sync with -current
 1.14.4.3 17-Mar-2008  yamt sync with head.
 1.14.4.2 27-Oct-2007  yamt sync with head.
 1.14.4.1 21-Jun-2006  yamt sync with head.
 1.15.12.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.15.10.1 19-Apr-2006  elad sync with head.
 1.15.8.1 24-May-2006  yamt sync with head.
 1.15.6.1 22-Apr-2006  simonb Sync with head.
 1.15.4.1 09-Sep-2006  rpaulo sync with head
 1.16.38.1 25-Oct-2007  bouyer Sync with HEAD.
 1.16.34.2 23-Mar-2008  matt sync with HEAD
 1.16.34.1 06-Nov-2007  matt sync with HEAD
 1.16.32.1 26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.16.18.1 23-Oct-2007  ad Sync with head.
 1.17.16.2 02-Jun-2008  mjf Sync with HEAD.
 1.17.16.1 03-Apr-2008  mjf Sync with HEAD.
 1.17.12.1 24-Mar-2008  keiichi sync with head.
 1.18.4.2 04-May-2009  yamt sync with head.
 1.18.4.1 16-May-2008  yamt sync with head.
 1.18.2.1 18-May-2008  yamt sync with head.
 1.19.14.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.19.8.1 28-Apr-2009  skrll Sync with HEAD.
 1.29 25-Sep-2022  thorpej Incremental malloc(9) -> kmem(9)
 1.28 15-Mar-2009  cegger ansify function definitions
 1.27 28-Apr-2008  martin branches: 1.27.8; 1.27.14;
Remove clause 3 and 4 from TNF licenses
 1.26 15-Mar-2008  cube branches: 1.26.2; 1.26.4;
Split device_t and softc for isapnp(4). Use proper types, ansify when
appropriate.
 1.25 16-Jul-2006  rillig branches: 1.25.30; 1.25.50; 1.25.54;
Added type information for the parameter r of isapnp_read_reg.
 1.24 16-Feb-2006  perry branches: 1.24.2;
Change "inline" back to "__inline" in .h files -- C99 is still too
new, and some apps compile things in C89 mode. C89 keywords stay.

As per core@.
 1.23 24-Dec-2005  perry branches: 1.23.2; 1.23.4; 1.23.6;
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.22 11-Dec-2005  christos merge ktrace-lwp.
 1.21 04-Feb-2005  perry branches: 1.21.6;
de-__P
 1.20 25-Dec-2001  christos branches: 1.20.16; 1.20.24; 1.20.26;
PR/15049: Katsuomi Hamajima: fix memset re-definition.
 1.19 22-Mar-1999  mycroft branches: 1.19.20; 1.19.22;
Add a `variant number' to the tables, so we can handle slight variations in
the chipset without doing something substantially more gross.
 1.18 19-Mar-1999  cgd pull isapnp_machdep.h in from machine/
 1.17 01-Oct-1998  jonathan More patches for ARC from Noriyuki Soda:
* commit isapnpvar.h changes required for ARC to support plain isa.
* fixup mistake over mips/include/cpuregs.h.
* mips/mips_machdep.c:
set L2 cache-size for arc, cleanup use of L2cache present
vs L2 cache-size variables. check for no L2 cache on kernels
configured to require one. misc cleanups.
* mips/mpis/trap.c: more locore stack-traceback label cleanup.
XXX Locore callbacks for mips3, mips4, r4600 cacheflush need more work.
 1.16 05-Sep-1998  christos Assign copyright to TNF.
 1.15 31-Jul-1998  thorpej Add BeBox support.
 1.14 31-Jul-1998  thorpej Add NetBSD/arm32 support.
 1.13 31-Jul-1998  thorpej Actually add support for the Atari.
 1.12 31-Jul-1998  thorpej Add support for NetBSD/alpha.
 1.11 31-Jul-1998  thorpej Use config_defer() to scan for ISA PnP cards.
 1.10 30-Jul-1998  christos Add a hook that resets the bios configuration from the pnp devices
thus making them invisible to isa probes [from OpenBSD]
 1.9 23-Jul-1998  christos branches: 1.9.2;
Create a master list of pnp logical and compatibility device codes instead
of hard-coding it into each driver and use a centralized probe function.
 1.8 09-Jun-1998  thorpej Adjust for the changes to the ISA DMA API.
 1.7 28-Oct-1997  christos DTRT with level and edge interrupts:
- add a type field to the isapnp_pin struct and set to IST_EDGE or
IST_LEVEL depending on the card configuration data.
- use the irq type field in all the drivers instead of hardcoding it.
 1.6 27-Oct-1997  thorpej Make sure we don't allocate a conflicting DRQ. From Christos.
 1.5 06-Aug-1997  mikel branches: 1.5.4;
don't clobber bus_space_{,un}map macros
 1.4 03-Aug-1997  mikel add support for compatible device IDs
 1.3 06-Jun-1997  thorpej branches: 1.3.4;
Pull thorpej-bus-dma branch into mainline.
 1.2 24-Jan-1997  christos branches: 1.2.6;
- increase string space for device class names
- fix the parser so that non-compliant isapnp devices work, and we
give up when there are too many errors (some on-board pnp sound/atapi/game
soundblaster compatible card). reported by chuck cranor
- fix the parser so that configuration tags that come after the
end-dependencies tag or before the begin-dependencies tag are merged
in properly (gravis ultrasound). reported by gary duzan
We now build a tree of card -> logical-dev -> conf, and in the end we
convert it to a list of conf...
 1.1 16-Jan-1997  christos Plug and Play support.
 1.2.6.1 13-May-1997  thorpej Pass the bus dma tag to children.
 1.3.4.1 23-Aug-1997  thorpej Update marc-pcmcia branch from trunk.
 1.5.4.2 29-Oct-1997  thorpej Pull up from trunk: DTRT with level and edge interrupts.
 1.5.4.1 27-Oct-1997  thorpej Pull up from trunk:

Make sure we don't allocate a conflicting DRQ. From Christos.
 1.9.2.1 08-Aug-1998  eeh Revert cdevsw mmap routines to return int.
 1.19.22.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.19.20.1 08-Jan-2002  nathanw Catch up to -current.
 1.20.26.1 12-Feb-2005  yamt sync with head.
 1.20.24.1 29-Apr-2005  kent sync with -current
 1.20.16.1 04-Feb-2005  skrll Sync with HEAD.
 1.21.6.2 17-Mar-2008  yamt sync with head.
 1.21.6.1 30-Dec-2006  yamt sync with head.
 1.23.6.1 22-Apr-2006  simonb Sync with head.
 1.23.4.1 09-Sep-2006  rpaulo sync with head
 1.23.2.1 18-Feb-2006  yamt sync with head.
 1.24.2.1 11-Aug-2006  yamt sync with head
 1.25.54.2 02-Jun-2008  mjf Sync with HEAD.
 1.25.54.1 03-Apr-2008  mjf Sync with HEAD.
 1.25.50.1 24-Mar-2008  keiichi sync with head.
 1.25.30.1 23-Mar-2008  matt sync with HEAD
 1.26.4.2 04-May-2009  yamt sync with head.
 1.26.4.1 16-May-2008  yamt sync with head.
 1.26.2.1 18-May-2008  yamt sync with head.
 1.27.14.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.27.8.1 28-Apr-2009  skrll Sync with HEAD.
 1.34 22-Sep-2018  maxv Remove isic(4). It is part of ISDN, which we are now retiring.
 1.33 14-Jul-2016  msaitoh branches: 1.33.16; 1.33.18;
- Use aprint*() instead of printf() in xxx_attach().
- Add missing aprint_naive("\n");
- KNF
 1.32 27-Oct-2012  chs branches: 1.32.14;
split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.31 12-May-2009  cegger branches: 1.31.12; 1.31.22;
struct device * -> device_t, no functional changes intended.
 1.30 12-May-2009  cegger struct cfdata * -> cfdata_t, no functional changes intended.
 1.29 28-Apr-2008  martin branches: 1.29.14;
Remove clause 3 and 4 from TNF licenses
 1.28 08-Apr-2008  cegger branches: 1.28.2; 1.28.4;
use aprint_*_dev and device_xname
 1.27 19-Oct-2007  ad branches: 1.27.16;
machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
 1.26 09-Jul-2007  ad branches: 1.26.6; 1.26.8; 1.26.12;
Merge some of the less invasive changes from the vmlocking branch:

- kthread, callout, devsw API changes
- select()/poll() improvements
- miscellaneous MT safety improvements
 1.25 29-Jan-2007  hubertf branches: 1.25.6; 1.25.8;
Remove more duplicate headers.
Patch by Slava Semushin <slava.semushin@gmail.com>

Again, this was tested by comparing obj files from a pristine and a patched
source tree against an i386/ALL kernel, and also for src/sbin/fsck_ffs,
src/sbin/fsdb and src/usr.sbin/makefs. Only changes in assert() line numbers
were detected in 'objdump -d' output.
 1.24 16-Nov-2006  christos __unused removal on arguments; approved by core.
 1.23 16-Oct-2006  pooka * __unused games + other relevant fixes
* give me ANSI C or give me death (at least where it could be easily spotted)
 1.22 29-Mar-2006  thorpej branches: 1.22.8; 1.22.10;
Use device_private().
 1.21 11-Dec-2005  christos branches: 1.21.4; 1.21.6; 1.21.8; 1.21.10; 1.21.12;
merge ktrace-lwp.
 1.20 09-Jul-2005  christos make the isdn drivers compile again with -Wconst, -Wshadow
 1.19 27-Feb-2005  perry branches: 1.19.4;
nuke trailing whitespace
 1.18 04-Feb-2005  perry de-__P
 1.17 04-Dec-2003  keihan branches: 1.17.8; 1.17.10;
netbsd.org -> NetBSD.org

This was the last commit of this kind to src/sys, which is now totally
"NetBSD.org clean". Thanks for the patiance, and sorry for all the commits.
 1.16 03-Oct-2003  pooka Ready the kernel side of i4b for primary rate interface support by
removing assumptions that there are only two B channels and by
adding support for a varying number of channels.

Due to this, rename previously used isdn identified "bri" to "isdnif",
which better describes the current situation.
 1.15 02-Oct-2002  thorpej branches: 1.15.6;
Add trailing ; to CFATTACH_DECL.
 1.14 30-Sep-2002  thorpej Use CFATTACH_DECL().
 1.13 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.12 14-Apr-2002  martin Fix copyright notice.
 1.11 13-Apr-2002  martin Defer initialization of the ISAC chip until we enable interrupts - it gets
into a strange failure mode if we do it with disabled interrupt. When
(re-)enabling interrupts reset transmitter and receiver and clear any
pending state.
 1.10 10-Apr-2002  martin Remove some redundant tries to disable interupts. We already avoided enabling
them.
Fix a stupid typo when enabling/disabling interrupts: we clear pending
interrupts when enabling, not disbling isac interrupts.
 1.9 30-Mar-2002  martin Be a nice citizen, enable interrupts only when we are ready to talk
to the ISDN (i.e. when userland has /dev/isdn open).
 1.8 24-Mar-2002  martin Now that we have all the pieces of the puzzle available start to unriddle
and move them in their proper places.

Move the BRI registry from layer 2 (duh!) to layer 4, so active cards
(which don't have layer 3 or layer 2 in their driver). Remove all remaining
hard coded controller and driver types. Remove any arbitrary hard coded
limits, at least those that show up in the internal API.

This fixes PR 15950.
 1.7 22-Feb-2002  martin Add a missing call to isapnp_config().
Do not hardcode IST_EDGE, use the type from the attach args.

Noticed by Christos Zoulas.
 1.6 21-Jan-2002  martin Add support for ITK IX1 PnP cards.
Thanks to Nick Hudson for testing.
 1.5 15-Nov-2001  lukem don't need <sys/types.h> when including <sys/param.h>
 1.4 13-Nov-2001  lukem add RCSID
 1.3 24-Mar-2001  martin branches: 1.3.2;
First step to cleanup the hardware driver <-> upper layers interface.
This now provides slightly more functionality than the FreeBSD layer1-newbus
interface. It was meant to be a simple change to one header and a few
c files, but the change rippled all through various stuff.

To prevent a change to the kernel<->userland interface right now the kernel
is now lying about card types to userland (but who cares). This will be fixed
when the userland interface changes, after layer 3 <-> layer 4 has been
fixed.

Functional changes:

Provide a clean interface for hardware drivers to attach to the upper
layers. This will need another small change in the B-channel handling
when a similar change to the layer 3 <-> layer 4 interface happens.

Avoid passing indices into global arrays of pointers around, instead pass
the pointers itself. Don't code hardware driver types by predefined magic
numbers (think LKM). Prepare for detachable drivers (think pcmcia).

While there remove some sets of function pointers always pointing to the
same function (meant to be the configurable set of D channel protocol
handlers). It is unlikely another supported D-channel protocol will fit into
that (maximal layer interface) abstraction. When we get support for another
protocol, we will need to come up with a workable interface. Besides, the
old implementation was, uhm, strange.
 1.2 20-Feb-2001  martin branches: 1.2.2; 1.2.4;
Filename cleanup: remove i4b_ prefixes outside sys/netisdn, last round.

Renamed in sys/dev/ic:
i4b_hscx.c -> hscx.c
i4b_hscx.h -> hscx.h
i4b_ipac.h -> ipac.h
i4b_isac.c -> isac.c
i4b_isac.h -> isac.h
i4b_isic.c -> isic.c
i4b_isicbchan.c -> isic_bchan.c
i4b_isicl1.c -> isic_l1.c
i4b_isicl1.h -> isic_l1.h
i4b_isicl1fsm.c -> isic_l1fsm.c
 1.1 18-Feb-2001  martin Filename cleanup police (per discussion with Soren S. Jorvang):
remove all (legacy) "i4b_" prefixes outside of sys/netisdn.
Prefix all card specific driver support files with the basename
of the driver bus attachement file.

Renamed here:
isapnp_isic.c -> isic_isapnp.c
i4b_ctx_s0P.c -> isic_isapnp_ctx_s0P.c
i4b_drn_ngo.c -> isic_isapnp_drn_ngo.c
i4b_dynalink.c -> isic_isapnp_dynalink.c
i4b_elsa_qs1i.c -> isic_isapnp_elsa_qs1i.c
i4b_siemens_isurf.c -> isic_isapnp_siemens_isurf.c
i4b_sws.c -> isic_isapnp_sws.c
i4b_tel_s0P.c -> isic_isapnp_tel_s0P.c
 1.2.4.3 27-Mar-2001  bouyer Sync with HEAD.
 1.2.4.2 12-Mar-2001  bouyer Sync with HEAD.
 1.2.4.1 20-Feb-2001  bouyer file isic_isapnp.c was added on branch thorpej_scsipi on 2001-03-12 13:30:42 +0000
 1.2.2.7 18-Oct-2002  nathanw Catch up to -current.
 1.2.2.6 17-Apr-2002  nathanw Catch up to -current.
 1.2.2.5 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.2.2.4 28-Feb-2002  nathanw Catch up to -current.
 1.2.2.3 08-Jan-2002  nathanw Catch up to -current.
 1.2.2.2 14-Nov-2001  nathanw Catch up to -current.
 1.2.2.1 09-Apr-2001  nathanw Catch up with -current.
 1.3.2.5 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.4 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.3.2.3 16-Mar-2002  jdolecek Catch up with -current.
 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.15.6.6 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.15.6.5 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.15.6.4 04-Feb-2005  skrll Sync with HEAD.
 1.15.6.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.15.6.2 18-Sep-2004  skrll Sync with HEAD.
 1.15.6.1 03-Aug-2004  skrll Sync with HEAD
 1.17.10.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.17.10.1 12-Feb-2005  yamt sync with head.
 1.17.8.1 29-Apr-2005  kent sync with -current
 1.19.4.5 27-Oct-2007  yamt sync with head.
 1.19.4.4 03-Sep-2007  yamt sync with head.
 1.19.4.3 26-Feb-2007  yamt sync with head.
 1.19.4.2 30-Dec-2006  yamt sync with head.
 1.19.4.1 21-Jun-2006  yamt sync with head.
 1.21.12.1 31-Mar-2006  tron Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
 1.21.10.1 19-Apr-2006  elad sync with head.
 1.21.8.1 01-Apr-2006  yamt sync with head.
 1.21.6.1 22-Apr-2006  simonb Sync with head.
 1.21.4.1 09-Sep-2006  rpaulo sync with head
 1.22.10.2 10-Dec-2006  yamt sync with head.
 1.22.10.1 22-Oct-2006  yamt sync with head
 1.22.8.2 01-Feb-2007  ad Sync with head.
 1.22.8.1 18-Nov-2006  ad Sync with head.
 1.25.8.1 11-Jul-2007  mjf Sync with head.
 1.25.6.2 23-Oct-2007  ad Sync with head.
 1.25.6.1 01-Jul-2007  ad Adapt to callout API change.
 1.26.12.1 25-Oct-2007  bouyer Sync with HEAD.
 1.26.8.1 06-Nov-2007  matt sync with HEAD
 1.26.6.1 26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.27.16.1 02-Jun-2008  mjf Sync with HEAD.
 1.28.4.2 16-May-2009  yamt sync with head
 1.28.4.1 16-May-2008  yamt sync with head.
 1.28.2.1 18-May-2008  yamt sync with head.
 1.29.14.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.31.22.2 03-Dec-2017  jdolecek update from HEAD
 1.31.22.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.31.12.1 30-Oct-2012  yamt sync with head
 1.32.14.1 05-Oct-2016  skrll Sync with HEAD
 1.33.18.1 10-Jun-2019  christos Sync with HEAD
 1.33.16.1 30-Sep-2018  pgoyette Ssync with HEAD
 1.12 22-Sep-2018  maxv Remove isic(4). It is part of ISDN, which we are now retiring.
 1.11 19-Oct-2007  ad branches: 1.11.106; 1.11.108;
machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
 1.10 04-Mar-2007  christos branches: 1.10.2; 1.10.14; 1.10.16; 1.10.20;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.9 29-Jan-2007  hubertf branches: 1.9.2;
Remove more duplicate headers.
Patch by Slava Semushin <slava.semushin@gmail.com>

Again, this was tested by comparing obj files from a pristine and a patched
source tree against an i386/ALL kernel, and also for src/sbin/fsck_ffs,
src/sbin/fsdb and src/usr.sbin/makefs. Only changes in assert() line numbers
were detected in 'objdump -d' output.
 1.8 11-Dec-2005  christos branches: 1.8.20;
merge ktrace-lwp.
 1.7 09-Jul-2005  christos make the isdn drivers compile again with -Wconst, -Wshadow
 1.6 27-Feb-2005  perry branches: 1.6.4;
nuke trailing whitespace
 1.5 04-Feb-2005  perry de-__P
 1.4 24-Mar-2002  martin branches: 1.4.10; 1.4.18; 1.4.20;
Now that we have all the pieces of the puzzle available start to unriddle
and move them in their proper places.

Move the BRI registry from layer 2 (duh!) to layer 4, so active cards
(which don't have layer 3 or layer 2 in their driver). Remove all remaining
hard coded controller and driver types. Remove any arbitrary hard coded
limits, at least those that show up in the internal API.

This fixes PR 15950.
 1.3 13-Nov-2001  lukem add RCSID
 1.2 20-Feb-2001  martin branches: 1.2.2; 1.2.4; 1.2.6;
Filename cleanup: remove i4b_ prefixes outside sys/netisdn, last round.

Renamed in sys/dev/ic:
i4b_hscx.c -> hscx.c
i4b_hscx.h -> hscx.h
i4b_ipac.h -> ipac.h
i4b_isac.c -> isac.c
i4b_isac.h -> isac.h
i4b_isic.c -> isic.c
i4b_isicbchan.c -> isic_bchan.c
i4b_isicl1.c -> isic_l1.c
i4b_isicl1.h -> isic_l1.h
i4b_isicl1fsm.c -> isic_l1fsm.c
 1.1 18-Feb-2001  martin Filename cleanup police (per discussion with Soren S. Jorvang):
remove all (legacy) "i4b_" prefixes outside of sys/netisdn.
Prefix all card specific driver support files with the basename
of the driver bus attachement file.

Renamed here:
isapnp_isic.c -> isic_isapnp.c
i4b_ctx_s0P.c -> isic_isapnp_ctx_s0P.c
i4b_drn_ngo.c -> isic_isapnp_drn_ngo.c
i4b_dynalink.c -> isic_isapnp_dynalink.c
i4b_elsa_qs1i.c -> isic_isapnp_elsa_qs1i.c
i4b_siemens_isurf.c -> isic_isapnp_siemens_isurf.c
i4b_sws.c -> isic_isapnp_sws.c
i4b_tel_s0P.c -> isic_isapnp_tel_s0P.c
 1.2.6.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.2.6.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.2.4.2 12-Mar-2001  bouyer Sync with HEAD.
 1.2.4.1 20-Feb-2001  bouyer file isic_isapnp_ctx_s0P.c was added on branch thorpej_scsipi on 2001-03-12 13:30:42 +0000
 1.2.2.2 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.2.2.1 14-Nov-2001  nathanw Catch up to -current.
 1.4.20.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.4.20.1 12-Feb-2005  yamt sync with head.
 1.4.18.1 29-Apr-2005  kent sync with -current
 1.4.10.3 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.4.10.2 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.4.10.1 04-Feb-2005  skrll Sync with HEAD.
 1.6.4.4 27-Oct-2007  yamt sync with head.
 1.6.4.3 03-Sep-2007  yamt sync with head.
 1.6.4.2 26-Feb-2007  yamt sync with head.
 1.6.4.1 21-Jun-2006  yamt sync with head.
 1.8.20.1 01-Feb-2007  ad Sync with head.
 1.9.2.1 12-Mar-2007  rmind Sync with HEAD.
 1.10.20.1 25-Oct-2007  bouyer Sync with HEAD.
 1.10.16.1 06-Nov-2007  matt sync with HEAD
 1.10.14.1 26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.10.2.1 23-Oct-2007  ad Sync with head.
 1.11.108.1 10-Jun-2019  christos Sync with HEAD
 1.11.106.1 30-Sep-2018  pgoyette Ssync with HEAD
 1.11 22-Sep-2018  maxv Remove isic(4). It is part of ISDN, which we are now retiring.
 1.10 19-Oct-2007  ad branches: 1.10.106; 1.10.108;
machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
 1.9 04-Mar-2007  christos branches: 1.9.2; 1.9.14; 1.9.16; 1.9.20;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.8 11-Dec-2005  christos branches: 1.8.26;
merge ktrace-lwp.
 1.7 09-Jul-2005  christos make the isdn drivers compile again with -Wconst, -Wshadow
 1.6 27-Feb-2005  perry branches: 1.6.4;
nuke trailing whitespace
 1.5 04-Feb-2005  perry de-__P
 1.4 24-Mar-2002  martin branches: 1.4.10; 1.4.18; 1.4.20;
Now that we have all the pieces of the puzzle available start to unriddle
and move them in their proper places.

Move the BRI registry from layer 2 (duh!) to layer 4, so active cards
(which don't have layer 3 or layer 2 in their driver). Remove all remaining
hard coded controller and driver types. Remove any arbitrary hard coded
limits, at least those that show up in the internal API.

This fixes PR 15950.
 1.3 13-Nov-2001  lukem add RCSID
 1.2 20-Feb-2001  martin branches: 1.2.2; 1.2.4; 1.2.6;
Filename cleanup: remove i4b_ prefixes outside sys/netisdn, last round.

Renamed in sys/dev/ic:
i4b_hscx.c -> hscx.c
i4b_hscx.h -> hscx.h
i4b_ipac.h -> ipac.h
i4b_isac.c -> isac.c
i4b_isac.h -> isac.h
i4b_isic.c -> isic.c
i4b_isicbchan.c -> isic_bchan.c
i4b_isicl1.c -> isic_l1.c
i4b_isicl1.h -> isic_l1.h
i4b_isicl1fsm.c -> isic_l1fsm.c
 1.1 18-Feb-2001  martin Filename cleanup police (per discussion with Soren S. Jorvang):
remove all (legacy) "i4b_" prefixes outside of sys/netisdn.
Prefix all card specific driver support files with the basename
of the driver bus attachement file.

Renamed here:
isapnp_isic.c -> isic_isapnp.c
i4b_ctx_s0P.c -> isic_isapnp_ctx_s0P.c
i4b_drn_ngo.c -> isic_isapnp_drn_ngo.c
i4b_dynalink.c -> isic_isapnp_dynalink.c
i4b_elsa_qs1i.c -> isic_isapnp_elsa_qs1i.c
i4b_siemens_isurf.c -> isic_isapnp_siemens_isurf.c
i4b_sws.c -> isic_isapnp_sws.c
i4b_tel_s0P.c -> isic_isapnp_tel_s0P.c
 1.2.6.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.2.6.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.2.4.2 12-Mar-2001  bouyer Sync with HEAD.
 1.2.4.1 20-Feb-2001  bouyer file isic_isapnp_drn_ngo.c was added on branch thorpej_scsipi on 2001-03-12 13:30:42 +0000
 1.2.2.2 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.2.2.1 14-Nov-2001  nathanw Catch up to -current.
 1.4.20.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.4.20.1 12-Feb-2005  yamt sync with head.
 1.4.18.1 29-Apr-2005  kent sync with -current
 1.4.10.3 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.4.10.2 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.4.10.1 04-Feb-2005  skrll Sync with HEAD.
 1.6.4.3 27-Oct-2007  yamt sync with head.
 1.6.4.2 03-Sep-2007  yamt sync with head.
 1.6.4.1 21-Jun-2006  yamt sync with head.
 1.8.26.1 12-Mar-2007  rmind Sync with HEAD.
 1.9.20.1 25-Oct-2007  bouyer Sync with HEAD.
 1.9.16.1 06-Nov-2007  matt sync with HEAD
 1.9.14.1 26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.9.2.1 23-Oct-2007  ad Sync with head.
 1.10.108.1 10-Jun-2019  christos Sync with HEAD
 1.10.106.1 30-Sep-2018  pgoyette Ssync with HEAD
 1.15 22-Sep-2018  maxv Remove isic(4). It is part of ISDN, which we are now retiring.
 1.14 27-Oct-2012  chs branches: 1.14.36; 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 12-May-2009  cegger branches: 1.13.12; 1.13.22;
struct device * -> device_t, no functional changes intended.
 1.12 12-May-2009  cegger struct cfdata * -> cfdata_t, no functional changes intended.
 1.11 18-Mar-2009  cegger bzero -> memset
 1.10 08-Apr-2008  cegger branches: 1.10.4; 1.10.12; 1.10.18;
use aprint_*_dev and device_xname
 1.9 19-Oct-2007  ad branches: 1.9.16;
machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
 1.8 04-Mar-2007  christos branches: 1.8.2; 1.8.14; 1.8.16; 1.8.20;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.7 11-Dec-2005  christos branches: 1.7.26;
merge ktrace-lwp.
 1.6 09-Jul-2005  christos make the isdn drivers compile again with -Wconst, -Wshadow
 1.5 27-Feb-2005  perry branches: 1.5.4;
nuke trailing whitespace
 1.4 24-Mar-2002  martin branches: 1.4.10; 1.4.18; 1.4.20;
Now that we have all the pieces of the puzzle available start to unriddle
and move them in their proper places.

Move the BRI registry from layer 2 (duh!) to layer 4, so active cards
(which don't have layer 3 or layer 2 in their driver). Remove all remaining
hard coded controller and driver types. Remove any arbitrary hard coded
limits, at least those that show up in the internal API.

This fixes PR 15950.
 1.3 13-Nov-2001  lukem add RCSID
 1.2 20-Feb-2001  martin branches: 1.2.2; 1.2.4; 1.2.6;
Filename cleanup: remove i4b_ prefixes outside sys/netisdn, last round.

Renamed in sys/dev/ic:
i4b_hscx.c -> hscx.c
i4b_hscx.h -> hscx.h
i4b_ipac.h -> ipac.h
i4b_isac.c -> isac.c
i4b_isac.h -> isac.h
i4b_isic.c -> isic.c
i4b_isicbchan.c -> isic_bchan.c
i4b_isicl1.c -> isic_l1.c
i4b_isicl1.h -> isic_l1.h
i4b_isicl1fsm.c -> isic_l1fsm.c
 1.1 18-Feb-2001  martin Filename cleanup police (per discussion with Soren S. Jorvang):
remove all (legacy) "i4b_" prefixes outside of sys/netisdn.
Prefix all card specific driver support files with the basename
of the driver bus attachement file.

Renamed here:
isapnp_isic.c -> isic_isapnp.c
i4b_ctx_s0P.c -> isic_isapnp_ctx_s0P.c
i4b_drn_ngo.c -> isic_isapnp_drn_ngo.c
i4b_dynalink.c -> isic_isapnp_dynalink.c
i4b_elsa_qs1i.c -> isic_isapnp_elsa_qs1i.c
i4b_siemens_isurf.c -> isic_isapnp_siemens_isurf.c
i4b_sws.c -> isic_isapnp_sws.c
i4b_tel_s0P.c -> isic_isapnp_tel_s0P.c
 1.2.6.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.2.6.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.2.4.2 12-Mar-2001  bouyer Sync with HEAD.
 1.2.4.1 20-Feb-2001  bouyer file isic_isapnp_dynalink.c was added on branch thorpej_scsipi on 2001-03-12 13:30:43 +0000
 1.2.2.2 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.2.2.1 14-Nov-2001  nathanw Catch up to -current.
 1.4.20.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.4.18.1 29-Apr-2005  kent sync with -current
 1.4.10.2 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.4.10.1 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.5.4.3 27-Oct-2007  yamt sync with head.
 1.5.4.2 03-Sep-2007  yamt sync with head.
 1.5.4.1 21-Jun-2006  yamt sync with head.
 1.7.26.1 12-Mar-2007  rmind Sync with HEAD.
 1.8.20.1 25-Oct-2007  bouyer Sync with HEAD.
 1.8.16.1 06-Nov-2007  matt sync with HEAD
 1.8.14.1 26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.8.2.1 23-Oct-2007  ad Sync with head.
 1.9.16.1 02-Jun-2008  mjf Sync with HEAD.
 1.10.18.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.10.12.1 28-Apr-2009  skrll Sync with HEAD.
 1.10.4.2 16-May-2009  yamt sync with head
 1.10.4.1 04-May-2009  yamt sync with head.
 1.13.22.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.13.12.1 30-Oct-2012  yamt sync with head
 1.14.38.1 10-Jun-2019  christos Sync with HEAD
 1.14.36.1 30-Sep-2018  pgoyette Ssync with HEAD
 1.17 22-Sep-2018  maxv Remove isic(4). It is part of ISDN, which we are now retiring.
 1.16 19-Oct-2007  ad branches: 1.16.106; 1.16.108;
machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
 1.15 09-Jul-2007  ad branches: 1.15.6; 1.15.8; 1.15.12;
Merge some of the less invasive changes from the vmlocking branch:

- kthread, callout, devsw API changes
- select()/poll() improvements
- miscellaneous MT safety improvements
 1.14 04-Mar-2007  christos branches: 1.14.2; 1.14.4;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.13 11-Dec-2005  christos branches: 1.13.26;
merge ktrace-lwp.
 1.12 09-Jul-2005  christos make the isdn drivers compile again with -Wconst, -Wshadow
 1.11 27-Feb-2005  perry branches: 1.11.4;
nuke trailing whitespace
 1.10 04-Feb-2005  perry de-__P
 1.9 15-Apr-2002  martin branches: 1.9.10; 1.9.18; 1.9.20;
Make the LEDs work.

Green LED = we have a TEI assigned, yellow LED slow blinking = one B-channel
in use, yellow LED fast blinking = both B-channels in use.
 1.8 15-Apr-2002  martin This card issues a constant stream of interrupts (from an internal timer).
Make it do this only while /dev/isdn is open.
 1.7 14-Apr-2002  martin Fix copyright notice.
 1.6 08-Apr-2002  martin Combine sc_enabled and sc_dying into one field sc_intr_valid, they are used
for the same purpose (ignoring invalid interrupts).

For cards that are not able to stop all interrupts (or we don't know a way
to do that in software, at least) run the clearirq callback even when
ignoring an interrupt because we are not enabled. Otherwise the card would
stop interrupting.

Reserve a driver specific callout handle and an int value in the generic
isic_softc to allow card drivers to implement fancy blinkenlights.
 1.5 30-Mar-2002  martin Add a command to layer 1 drivers to update LED state for controllers that
have status LEDs.
 1.4 24-Mar-2002  martin Now that we have all the pieces of the puzzle available start to unriddle
and move them in their proper places.

Move the BRI registry from layer 2 (duh!) to layer 4, so active cards
(which don't have layer 3 or layer 2 in their driver). Remove all remaining
hard coded controller and driver types. Remove any arbitrary hard coded
limits, at least those that show up in the internal API.

This fixes PR 15950.
 1.3 13-Nov-2001  lukem add RCSID
 1.2 20-Feb-2001  martin branches: 1.2.2; 1.2.4; 1.2.6;
Filename cleanup: remove i4b_ prefixes outside sys/netisdn, last round.

Renamed in sys/dev/ic:
i4b_hscx.c -> hscx.c
i4b_hscx.h -> hscx.h
i4b_ipac.h -> ipac.h
i4b_isac.c -> isac.c
i4b_isac.h -> isac.h
i4b_isic.c -> isic.c
i4b_isicbchan.c -> isic_bchan.c
i4b_isicl1.c -> isic_l1.c
i4b_isicl1.h -> isic_l1.h
i4b_isicl1fsm.c -> isic_l1fsm.c
 1.1 18-Feb-2001  martin Filename cleanup police (per discussion with Soren S. Jorvang):
remove all (legacy) "i4b_" prefixes outside of sys/netisdn.
Prefix all card specific driver support files with the basename
of the driver bus attachement file.

Renamed here:
isapnp_isic.c -> isic_isapnp.c
i4b_ctx_s0P.c -> isic_isapnp_ctx_s0P.c
i4b_drn_ngo.c -> isic_isapnp_drn_ngo.c
i4b_dynalink.c -> isic_isapnp_dynalink.c
i4b_elsa_qs1i.c -> isic_isapnp_elsa_qs1i.c
i4b_siemens_isurf.c -> isic_isapnp_siemens_isurf.c
i4b_sws.c -> isic_isapnp_sws.c
i4b_tel_s0P.c -> isic_isapnp_tel_s0P.c
 1.2.6.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.2.6.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.2.4.2 12-Mar-2001  bouyer Sync with HEAD.
 1.2.4.1 20-Feb-2001  bouyer file isic_isapnp_elsa_qs1i.c was added on branch thorpej_scsipi on 2001-03-12 13:30:43 +0000
 1.2.2.3 17-Apr-2002  nathanw Catch up to -current.
 1.2.2.2 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.2.2.1 14-Nov-2001  nathanw Catch up to -current.
 1.9.20.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.9.20.1 12-Feb-2005  yamt sync with head.
 1.9.18.1 29-Apr-2005  kent sync with -current
 1.9.10.3 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.9.10.2 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.9.10.1 04-Feb-2005  skrll Sync with HEAD.
 1.11.4.3 27-Oct-2007  yamt sync with head.
 1.11.4.2 03-Sep-2007  yamt sync with head.
 1.11.4.1 21-Jun-2006  yamt sync with head.
 1.13.26.1 12-Mar-2007  rmind Sync with HEAD.
 1.14.4.1 11-Jul-2007  mjf Sync with head.
 1.14.2.2 23-Oct-2007  ad Sync with head.
 1.14.2.1 01-Jul-2007  ad Adapt to callout API change.
 1.15.12.1 25-Oct-2007  bouyer Sync with HEAD.
 1.15.8.1 06-Nov-2007  matt sync with HEAD
 1.15.6.1 26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.16.108.1 10-Jun-2019  christos Sync with HEAD
 1.16.106.1 30-Sep-2018  pgoyette Ssync with HEAD
 1.9 22-Sep-2018  maxv Remove isic(4). It is part of ISDN, which we are now retiring.
 1.8 28-Apr-2008  martin branches: 1.8.86; 1.8.88;
Remove clause 3 and 4 from TNF licenses
 1.7 19-Oct-2007  ad branches: 1.7.16; 1.7.18; 1.7.20;
machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
 1.6 11-Dec-2005  christos branches: 1.6.30; 1.6.44; 1.6.46; 1.6.50;
merge ktrace-lwp.
 1.5 04-Dec-2003  keihan branches: 1.5.16;
netbsd.org -> NetBSD.org

This was the last commit of this kind to src/sys, which is now totally
"NetBSD.org clean". Thanks for the patiance, and sorry for all the commits.
 1.4 22-Jun-2002  jdolecek branches: 1.4.6;
put back RCS Id
 1.3 14-Apr-2002  martin branches: 1.3.2;
Fix copyright notice.
 1.2 24-Mar-2002  martin Now that we have all the pieces of the puzzle available start to unriddle
and move them in their proper places.

Move the BRI registry from layer 2 (duh!) to layer 4, so active cards
(which don't have layer 3 or layer 2 in their driver). Remove all remaining
hard coded controller and driver types. Remove any arbitrary hard coded
limits, at least those that show up in the internal API.

This fixes PR 15950.
 1.1 21-Jan-2002  martin branches: 1.1.2; 1.1.4;
Add support for ITK IX1 PnP cards.
Thanks to Nick Hudson for testing.
 1.1.4.5 01-Aug-2002  nathanw Catch up to -current.
 1.1.4.4 17-Apr-2002  nathanw Catch up to -current.
 1.1.4.3 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.1.4.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.4.1 21-Jan-2002  nathanw file isic_isapnp_itkix.c was added on branch nathanw_sa on 2002-02-28 04:13:50 +0000
 1.1.2.4 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.1.2.3 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.2.2 11-Feb-2002  jdolecek Sync w/ -current.
 1.1.2.1 21-Jan-2002  jdolecek file isic_isapnp_itkix.c was added on branch kqueue on 2002-02-11 20:09:53 +0000
 1.3.2.1 15-Jul-2002  gehenna catch up with -current.
 1.4.6.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.4.6.2 18-Sep-2004  skrll Sync with HEAD.
 1.4.6.1 03-Aug-2004  skrll Sync with HEAD
 1.5.16.1 27-Oct-2007  yamt sync with head.
 1.6.50.1 25-Oct-2007  bouyer Sync with HEAD.
 1.6.46.1 06-Nov-2007  matt sync with HEAD
 1.6.44.1 26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.6.30.1 23-Oct-2007  ad Sync with head.
 1.7.20.1 16-May-2008  yamt sync with head.
 1.7.18.1 18-May-2008  yamt sync with head.
 1.7.16.1 02-Jun-2008  mjf Sync with HEAD.
 1.8.88.1 10-Jun-2019  christos Sync with HEAD
 1.8.86.1 30-Sep-2018  pgoyette Ssync with HEAD
 1.12 22-Sep-2018  maxv Remove isic(4). It is part of ISDN, which we are now retiring.
 1.11 19-Oct-2007  ad branches: 1.11.106; 1.11.108;
machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
 1.10 04-Mar-2007  christos branches: 1.10.2; 1.10.14; 1.10.16; 1.10.20;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.9 29-Jan-2007  hubertf branches: 1.9.2;
Remove more duplicate headers.
Patch by Slava Semushin <slava.semushin@gmail.com>

Again, this was tested by comparing obj files from a pristine and a patched
source tree against an i386/ALL kernel, and also for src/sbin/fsck_ffs,
src/sbin/fsdb and src/usr.sbin/makefs. Only changes in assert() line numbers
were detected in 'objdump -d' output.
 1.8 11-Dec-2005  christos branches: 1.8.20;
merge ktrace-lwp.
 1.7 09-Jul-2005  christos make the isdn drivers compile again with -Wconst, -Wshadow
 1.6 27-Feb-2005  perry branches: 1.6.4;
nuke trailing whitespace
 1.5 04-Feb-2005  perry de-__P
 1.4 24-Mar-2002  martin branches: 1.4.10; 1.4.18; 1.4.20;
Now that we have all the pieces of the puzzle available start to unriddle
and move them in their proper places.

Move the BRI registry from layer 2 (duh!) to layer 4, so active cards
(which don't have layer 3 or layer 2 in their driver). Remove all remaining
hard coded controller and driver types. Remove any arbitrary hard coded
limits, at least those that show up in the internal API.

This fixes PR 15950.
 1.3 13-Nov-2001  lukem add RCSID
 1.2 20-Feb-2001  martin branches: 1.2.2; 1.2.4; 1.2.6;
Filename cleanup: remove i4b_ prefixes outside sys/netisdn, last round.

Renamed in sys/dev/ic:
i4b_hscx.c -> hscx.c
i4b_hscx.h -> hscx.h
i4b_ipac.h -> ipac.h
i4b_isac.c -> isac.c
i4b_isac.h -> isac.h
i4b_isic.c -> isic.c
i4b_isicbchan.c -> isic_bchan.c
i4b_isicl1.c -> isic_l1.c
i4b_isicl1.h -> isic_l1.h
i4b_isicl1fsm.c -> isic_l1fsm.c
 1.1 18-Feb-2001  martin Filename cleanup police (per discussion with Soren S. Jorvang):
remove all (legacy) "i4b_" prefixes outside of sys/netisdn.
Prefix all card specific driver support files with the basename
of the driver bus attachement file.

Renamed here:
isapnp_isic.c -> isic_isapnp.c
i4b_ctx_s0P.c -> isic_isapnp_ctx_s0P.c
i4b_drn_ngo.c -> isic_isapnp_drn_ngo.c
i4b_dynalink.c -> isic_isapnp_dynalink.c
i4b_elsa_qs1i.c -> isic_isapnp_elsa_qs1i.c
i4b_siemens_isurf.c -> isic_isapnp_siemens_isurf.c
i4b_sws.c -> isic_isapnp_sws.c
i4b_tel_s0P.c -> isic_isapnp_tel_s0P.c
 1.2.6.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.2.6.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.2.4.2 12-Mar-2001  bouyer Sync with HEAD.
 1.2.4.1 20-Feb-2001  bouyer file isic_isapnp_siemens_isurf.c was added on branch thorpej_scsipi on 2001-03-12 13:30:43 +0000
 1.2.2.2 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.2.2.1 14-Nov-2001  nathanw Catch up to -current.
 1.4.20.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.4.20.1 12-Feb-2005  yamt sync with head.
 1.4.18.1 29-Apr-2005  kent sync with -current
 1.4.10.3 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.4.10.2 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.4.10.1 04-Feb-2005  skrll Sync with HEAD.
 1.6.4.4 27-Oct-2007  yamt sync with head.
 1.6.4.3 03-Sep-2007  yamt sync with head.
 1.6.4.2 26-Feb-2007  yamt sync with head.
 1.6.4.1 21-Jun-2006  yamt sync with head.
 1.8.20.1 01-Feb-2007  ad Sync with head.
 1.9.2.1 12-Mar-2007  rmind Sync with HEAD.
 1.10.20.1 25-Oct-2007  bouyer Sync with HEAD.
 1.10.16.1 06-Nov-2007  matt sync with HEAD
 1.10.14.1 26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.10.2.1 23-Oct-2007  ad Sync with head.
 1.11.108.1 10-Jun-2019  christos Sync with HEAD
 1.11.106.1 30-Sep-2018  pgoyette Ssync with HEAD
 1.15 22-Sep-2018  maxv Remove isic(4). It is part of ISDN, which we are now retiring.
 1.14 27-Oct-2012  chs branches: 1.14.36; 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 08-Apr-2008  cegger branches: 1.13.38; 1.13.48;
use aprint_*_dev and device_xname
 1.12 19-Oct-2007  ad branches: 1.12.16;
machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
 1.11 04-Mar-2007  christos branches: 1.11.2; 1.11.14; 1.11.16; 1.11.20;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.10 29-Jan-2007  hubertf branches: 1.10.2;
Remove more duplicate headers.
Patch by Slava Semushin <slava.semushin@gmail.com>

Again, this was tested by comparing obj files from a pristine and a patched
source tree against an i386/ALL kernel, and also for src/sbin/fsck_ffs,
src/sbin/fsdb and src/usr.sbin/makefs. Only changes in assert() line numbers
were detected in 'objdump -d' output.
 1.9 11-Dec-2005  christos branches: 1.9.20;
merge ktrace-lwp.
 1.8 09-Jul-2005  christos make the isdn drivers compile again with -Wconst, -Wshadow
 1.7 27-Feb-2005  perry branches: 1.7.4;
nuke trailing whitespace
 1.6 04-Feb-2005  perry de-__P
 1.5 10-Nov-2003  wiz branches: 1.5.8; 1.5.10;
Spell address with two d's. Inspired by similar changes in OpenBSD,
originating from Jonathon Gray and forwarded by jmc@openbsd.
 1.4 24-Mar-2002  martin branches: 1.4.10;
Now that we have all the pieces of the puzzle available start to unriddle
and move them in their proper places.

Move the BRI registry from layer 2 (duh!) to layer 4, so active cards
(which don't have layer 3 or layer 2 in their driver). Remove all remaining
hard coded controller and driver types. Remove any arbitrary hard coded
limits, at least those that show up in the internal API.

This fixes PR 15950.
 1.3 13-Nov-2001  lukem add RCSID
 1.2 20-Feb-2001  martin branches: 1.2.2; 1.2.4; 1.2.6;
Filename cleanup: remove i4b_ prefixes outside sys/netisdn, last round.

Renamed in sys/dev/ic:
i4b_hscx.c -> hscx.c
i4b_hscx.h -> hscx.h
i4b_ipac.h -> ipac.h
i4b_isac.c -> isac.c
i4b_isac.h -> isac.h
i4b_isic.c -> isic.c
i4b_isicbchan.c -> isic_bchan.c
i4b_isicl1.c -> isic_l1.c
i4b_isicl1.h -> isic_l1.h
i4b_isicl1fsm.c -> isic_l1fsm.c
 1.1 18-Feb-2001  martin Filename cleanup police (per discussion with Soren S. Jorvang):
remove all (legacy) "i4b_" prefixes outside of sys/netisdn.
Prefix all card specific driver support files with the basename
of the driver bus attachement file.

Renamed here:
isapnp_isic.c -> isic_isapnp.c
i4b_ctx_s0P.c -> isic_isapnp_ctx_s0P.c
i4b_drn_ngo.c -> isic_isapnp_drn_ngo.c
i4b_dynalink.c -> isic_isapnp_dynalink.c
i4b_elsa_qs1i.c -> isic_isapnp_elsa_qs1i.c
i4b_siemens_isurf.c -> isic_isapnp_siemens_isurf.c
i4b_sws.c -> isic_isapnp_sws.c
i4b_tel_s0P.c -> isic_isapnp_tel_s0P.c
 1.2.6.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.2.6.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.2.4.2 12-Mar-2001  bouyer Sync with HEAD.
 1.2.4.1 20-Feb-2001  bouyer file isic_isapnp_sws.c was added on branch thorpej_scsipi on 2001-03-12 13:30:44 +0000
 1.2.2.2 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.2.2.1 14-Nov-2001  nathanw Catch up to -current.
 1.4.10.6 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.4.10.5 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.4.10.4 04-Feb-2005  skrll Sync with HEAD.
 1.4.10.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.4.10.2 18-Sep-2004  skrll Sync with HEAD.
 1.4.10.1 03-Aug-2004  skrll Sync with HEAD
 1.5.10.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.5.10.1 12-Feb-2005  yamt sync with head.
 1.5.8.1 29-Apr-2005  kent sync with -current
 1.7.4.4 27-Oct-2007  yamt sync with head.
 1.7.4.3 03-Sep-2007  yamt sync with head.
 1.7.4.2 26-Feb-2007  yamt sync with head.
 1.7.4.1 21-Jun-2006  yamt sync with head.
 1.9.20.1 01-Feb-2007  ad Sync with head.
 1.10.2.1 12-Mar-2007  rmind Sync with HEAD.
 1.11.20.1 25-Oct-2007  bouyer Sync with HEAD.
 1.11.16.1 06-Nov-2007  matt sync with HEAD
 1.11.14.1 26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.11.2.1 23-Oct-2007  ad Sync with head.
 1.12.16.1 02-Jun-2008  mjf Sync with HEAD.
 1.13.48.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.13.38.1 30-Oct-2012  yamt sync with head
 1.14.38.1 10-Jun-2019  christos Sync with HEAD
 1.14.36.1 30-Sep-2018  pgoyette Ssync with HEAD
 1.12 22-Sep-2018  maxv Remove isic(4). It is part of ISDN, which we are now retiring.
 1.11 19-Oct-2007  ad branches: 1.11.106; 1.11.108;
machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
 1.10 04-Mar-2007  christos branches: 1.10.2; 1.10.14; 1.10.16; 1.10.20;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.9 29-Jan-2007  hubertf branches: 1.9.2;
Remove more duplicate headers.
Patch by Slava Semushin <slava.semushin@gmail.com>

Again, this was tested by comparing obj files from a pristine and a patched
source tree against an i386/ALL kernel, and also for src/sbin/fsck_ffs,
src/sbin/fsdb and src/usr.sbin/makefs. Only changes in assert() line numbers
were detected in 'objdump -d' output.
 1.8 11-Dec-2005  christos branches: 1.8.20;
merge ktrace-lwp.
 1.7 09-Jul-2005  christos make the isdn drivers compile again with -Wconst, -Wshadow
 1.6 27-Feb-2005  perry branches: 1.6.4;
nuke trailing whitespace
 1.5 04-Feb-2005  perry de-__P
 1.4 24-Mar-2002  martin branches: 1.4.10; 1.4.18; 1.4.20;
Now that we have all the pieces of the puzzle available start to unriddle
and move them in their proper places.

Move the BRI registry from layer 2 (duh!) to layer 4, so active cards
(which don't have layer 3 or layer 2 in their driver). Remove all remaining
hard coded controller and driver types. Remove any arbitrary hard coded
limits, at least those that show up in the internal API.

This fixes PR 15950.
 1.3 13-Nov-2001  lukem add RCSID
 1.2 20-Feb-2001  martin branches: 1.2.2; 1.2.4; 1.2.6;
Filename cleanup: remove i4b_ prefixes outside sys/netisdn, last round.

Renamed in sys/dev/ic:
i4b_hscx.c -> hscx.c
i4b_hscx.h -> hscx.h
i4b_ipac.h -> ipac.h
i4b_isac.c -> isac.c
i4b_isac.h -> isac.h
i4b_isic.c -> isic.c
i4b_isicbchan.c -> isic_bchan.c
i4b_isicl1.c -> isic_l1.c
i4b_isicl1.h -> isic_l1.h
i4b_isicl1fsm.c -> isic_l1fsm.c
 1.1 18-Feb-2001  martin Filename cleanup police (per discussion with Soren S. Jorvang):
remove all (legacy) "i4b_" prefixes outside of sys/netisdn.
Prefix all card specific driver support files with the basename
of the driver bus attachement file.

Renamed here:
isapnp_isic.c -> isic_isapnp.c
i4b_ctx_s0P.c -> isic_isapnp_ctx_s0P.c
i4b_drn_ngo.c -> isic_isapnp_drn_ngo.c
i4b_dynalink.c -> isic_isapnp_dynalink.c
i4b_elsa_qs1i.c -> isic_isapnp_elsa_qs1i.c
i4b_siemens_isurf.c -> isic_isapnp_siemens_isurf.c
i4b_sws.c -> isic_isapnp_sws.c
i4b_tel_s0P.c -> isic_isapnp_tel_s0P.c
 1.2.6.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.2.6.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.2.4.2 12-Mar-2001  bouyer Sync with HEAD.
 1.2.4.1 20-Feb-2001  bouyer file isic_isapnp_tel_s0P.c was added on branch thorpej_scsipi on 2001-03-12 13:30:44 +0000
 1.2.2.2 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.2.2.1 14-Nov-2001  nathanw Catch up to -current.
 1.4.20.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.4.20.1 12-Feb-2005  yamt sync with head.
 1.4.18.1 29-Apr-2005  kent sync with -current
 1.4.10.3 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.4.10.2 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.4.10.1 04-Feb-2005  skrll Sync with HEAD.
 1.6.4.4 27-Oct-2007  yamt sync with head.
 1.6.4.3 03-Sep-2007  yamt sync with head.
 1.6.4.2 26-Feb-2007  yamt sync with head.
 1.6.4.1 21-Jun-2006  yamt sync with head.
 1.8.20.1 01-Feb-2007  ad Sync with head.
 1.9.2.1 12-Mar-2007  rmind Sync with HEAD.
 1.10.20.1 25-Oct-2007  bouyer Sync with HEAD.
 1.10.16.1 06-Nov-2007  matt sync with HEAD
 1.10.14.1 26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.10.2.1 23-Oct-2007  ad Sync with head.
 1.11.108.1 10-Jun-2019  christos Sync with HEAD
 1.11.106.1 30-Sep-2018  pgoyette Ssync with HEAD
 1.14 05-Dec-2011  christos make joy code consistent (avoid games with pointers), and fix the isa softc
declaration
 1.13 23-Nov-2011  jmcneill branches: 1.13.2;
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.12 28-Apr-2008  martin branches: 1.12.12; 1.12.34; 1.12.36;
Remove clause 3 and 4 from TNF licenses
 1.11 26-Mar-2008  xtraeme branches: 1.11.2; 1.11.4;
Split device_t/softc for joy(4) and all its attachments. Also
use device_lookup_private() and related cosmetic changes.

Reviewed by cube@.
 1.10 19-Oct-2007  ad branches: 1.10.16;
machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
 1.9 16-Nov-2006  christos branches: 1.9.8; 1.9.22; 1.9.24; 1.9.28;
__unused removal on arguments; approved by core.
 1.8 12-Oct-2006  christos - sprinkle __unused on function decls.
- fix a couple of unused bugs
- no more -Wno-unused for i386
 1.7 29-Mar-2006  thorpej branches: 1.7.8; 1.7.10;
Use device_private().
 1.6 11-Dec-2005  christos branches: 1.6.4; 1.6.6; 1.6.8; 1.6.10; 1.6.12;
merge ktrace-lwp.
 1.5 04-Feb-2005  perry branches: 1.5.6;
de-__P
 1.4 02-Oct-2002  thorpej branches: 1.4.6; 1.4.14; 1.4.16;
Add trailing ; to CFATTACH_DECL.
 1.3 30-Sep-2002  thorpej Use CFATTACH_DECL().
 1.2 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.1 02-Feb-2002  jdolecek branches: 1.1.2; 1.1.4;
Reduce the massive code duplication regarding joy(4). Split it into
MI and MD parts, and make ISA/ISAPNP/PCI joy(4) attachments MI.
 1.1.4.3 18-Oct-2002  nathanw Catch up to -current.
 1.1.4.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.4.1 02-Feb-2002  nathanw file joy_isapnp.c was added on branch nathanw_sa on 2002-02-28 04:13:50 +0000
 1.1.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.1.2.2 11-Feb-2002  jdolecek Sync w/ -current.
 1.1.2.1 02-Feb-2002  jdolecek file joy_isapnp.c was added on branch kqueue on 2002-02-11 20:09:53 +0000
 1.4.16.1 12-Feb-2005  yamt sync with head.
 1.4.14.1 29-Apr-2005  kent sync with -current
 1.4.6.1 04-Feb-2005  skrll Sync with HEAD.
 1.5.6.3 27-Oct-2007  yamt sync with head.
 1.5.6.2 30-Dec-2006  yamt sync with head.
 1.5.6.1 21-Jun-2006  yamt sync with head.
 1.6.12.1 31-Mar-2006  tron Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
 1.6.10.1 19-Apr-2006  elad sync with head.
 1.6.8.1 01-Apr-2006  yamt sync with head.
 1.6.6.1 22-Apr-2006  simonb Sync with head.
 1.6.4.1 09-Sep-2006  rpaulo sync with head
 1.7.10.2 10-Dec-2006  yamt sync with head.
 1.7.10.1 22-Oct-2006  yamt sync with head
 1.7.8.1 18-Nov-2006  ad Sync with head.
 1.9.28.1 25-Oct-2007  bouyer Sync with HEAD.
 1.9.24.1 06-Nov-2007  matt sync with HEAD
 1.9.22.1 26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.9.8.1 23-Oct-2007  ad Sync with head.
 1.10.16.2 02-Jun-2008  mjf Sync with HEAD.
 1.10.16.1 03-Apr-2008  mjf Sync with HEAD.
 1.11.4.1 16-May-2008  yamt sync with head.
 1.11.2.1 18-May-2008  yamt sync with head.
 1.12.36.1 19-Nov-2011  jmcneill port ad-audiomp2 branch changes to 5.99.56
todo:
- port ad-audiomp2 pcppi changes
- these drivers need to be fixed:
- emuxki
- gcscaudio
- hdafg
- uaudio
- umidi
- MD audio drivers
 1.12.34.1 17-Apr-2012  yamt sync with head
 1.12.12.1 12-Dec-2008  ad Checkpoint work in progress.
 1.13.2.1 18-Feb-2012  mrg merge to -current.
 1.21 08-May-2019  isaki Merge isaki-audio2 branch, the overhaul of audio subsystem.
- Interrupt-oriented system rather than thread-oriented.
- Improve stability, quality and performance.
- Split playback and record cleanly. Improve halfduplex support.
- Many bugs are fixed including deadlocks, resource leaks, abuses, etc.
- Simplify audio filter mechanism. The encoding/channels/frequency
conversions are completely handled in the upper layer. So the hard-
ware driver only converts its hardware encoding (if necessary).
- audio_hw_if changes:
- Obsoletes query_encoding and add query_format instead.
- Obsoletes set_params and add set_format instead.
- Remove drain, setfd, mappage.
- The call sequences are changed.
- ioctl AUDIO_GETFD/SETFD, AUDIO_GETCHAN/SETCHAN are obsoleted.
- ioctl AUDIO_{QUERY,GET,SET}FORMAT are introduced.
- cleanup config attributes: au*conv and mulaw.
- All hardware drivers should follow it (I've done as much as possible).

Some file paths are changed:
- dev/audio.c -> dev/audio/audio.c (rewritten)
- dev/audiovar.h -> dev/audio/audiovar.h
- dev/audio_dai.h -> dev/audio/audio_dai.h
- dev/audio_if.h -> dev/audio/audio_if.h
- dev/audiobell.c -> dev/audio/audiobell.c
- dev/audiobellvar.h -> dev/audio/audiobellvar.h
- dev/mulaw.[ch] -> dev/audio/mulaw.[ch] + dev/audio/alaw.c
 1.20 07-Dec-2011  jakllsch branches: 1.20.48; 1.20.52;
We need to hold the lock during mpu_find().
 1.19 24-Nov-2011  mrg branches: 1.19.2;
put back IPL_AUDIO and splaudio(), at the request of rmind. they are
aliases and now we can easily revert audio to IPL_VM if necessary,
without having to revert the whole branch.
 1.18 23-Nov-2011  jmcneill 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.17 27-Mar-2008  xtraeme branches: 1.17.16; 1.17.38; 1.17.40;
Split device_t/softc for mpu(4) and its attachments, plus other
related cosmetic changes.

Reviewed by cube@.
 1.16 19-Oct-2007  ad branches: 1.16.16;
machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
 1.15 16-Nov-2006  christos branches: 1.15.8; 1.15.22; 1.15.24; 1.15.28;
__unused removal on arguments; approved by core.
 1.14 12-Oct-2006  christos - sprinkle __unused on function decls.
- fix a couple of unused bugs
- no more -Wno-unused for i386
 1.13 13-Apr-2006  christos branches: 1.13.8; 1.13.10;
Fix the MPU attachment on Aztech 1020 that has a separate mpu pnp device
instead of having the mpu in io[1]. From doomwarriorx at gmail dot com.
 1.12 29-Mar-2006  thorpej Use device_private().
 1.11 11-Dec-2005  christos branches: 1.11.4; 1.11.6; 1.11.8; 1.11.10; 1.11.12;
merge ktrace-lwp.
 1.10 27-Feb-2005  perry branches: 1.10.4;
nuke trailing whitespace
 1.9 04-Feb-2005  perry de-__P
 1.8 02-Oct-2002  thorpej branches: 1.8.6; 1.8.14; 1.8.16;
Add trailing ; to CFATTACH_DECL.
 1.7 30-Sep-2002  thorpej Use CFATTACH_DECL().
 1.6 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.5 13-Nov-2001  lukem add RCSID
 1.4 01-Aug-1999  augustss branches: 1.4.14; 1.4.16;
Move the MPU driver isa/ to ic/.
(I didn't move it in the repository because the revision history
is very short and uninteresting. :)
 1.3 22-Mar-1999  mycroft branches: 1.3.4;
Reject variant numbers which are too large (so that a new version of isapnpdevs
with an old driver will not lose mysteriously).
 1.2 22-Mar-1999  mycroft Update callers of isapnp_devmatch().
 1.1 22-Mar-1999  mycroft Add a mpu_isapnp attachment.
 1.3.4.1 02-Aug-1999  thorpej Update from trunk.
 1.4.16.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.4.16.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.4.14.2 18-Oct-2002  nathanw Catch up to -current.
 1.4.14.1 14-Nov-2001  nathanw Catch up to -current.
 1.8.16.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.8.16.1 12-Feb-2005  yamt sync with head.
 1.8.14.1 29-Apr-2005  kent sync with -current
 1.8.6.2 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.8.6.1 04-Feb-2005  skrll Sync with HEAD.
 1.10.4.3 27-Oct-2007  yamt sync with head.
 1.10.4.2 30-Dec-2006  yamt sync with head.
 1.10.4.1 21-Jun-2006  yamt sync with head.
 1.11.12.2 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.11.12.1 31-Mar-2006  tron Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
 1.11.10.1 19-Apr-2006  elad sync with head.
 1.11.8.2 24-May-2006  yamt sync with head.
 1.11.8.1 01-Apr-2006  yamt sync with head.
 1.11.6.1 22-Apr-2006  simonb Sync with head.
 1.11.4.1 09-Sep-2006  rpaulo sync with head
 1.13.10.2 10-Dec-2006  yamt sync with head.
 1.13.10.1 22-Oct-2006  yamt sync with head
 1.13.8.1 18-Nov-2006  ad Sync with head.
 1.15.28.1 25-Oct-2007  bouyer Sync with HEAD.
 1.15.24.1 06-Nov-2007  matt sync with HEAD
 1.15.22.1 26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.15.8.1 23-Oct-2007  ad Sync with head.
 1.16.16.1 03-Apr-2008  mjf Sync with HEAD.
 1.17.40.1 19-Nov-2011  jmcneill port ad-audiomp2 branch changes to 5.99.56
todo:
- port ad-audiomp2 pcppi changes
- these drivers need to be fixed:
- emuxki
- gcscaudio
- hdafg
- uaudio
- umidi
- MD audio drivers
 1.17.38.1 17-Apr-2012  yamt sync with head
 1.17.16.1 12-Dec-2008  ad Checkpoint work in progress.
 1.19.2.1 18-Feb-2012  mrg merge to -current.
 1.20.52.2 04-May-2019  isaki Move dev/audio_if.h -> dev/audio/audio_if.h
 1.20.52.1 03-May-2019  isaki Remove dev/auconv.[ch].
Now it is handled in dev/audio/audio.c and dev/audio/linear.c.
Remove dev/mulaw.h.
It already have been just a link to dev/audio/mulaw.h in this
branch.
 1.20.48.1 10-Jun-2019  christos Sync with HEAD
 1.54 18-Apr-2023  riastradh sb(4): Fix missing mutex initialization at isapnp and ofisa.

PR kern/57363

XXX pullup-8
XXX pullup-9
XXX pullup-10
 1.53 08-May-2019  isaki branches: 1.53.2; 1.53.28;
Merge isaki-audio2 branch, the overhaul of audio subsystem.
- Interrupt-oriented system rather than thread-oriented.
- Improve stability, quality and performance.
- Split playback and record cleanly. Improve halfduplex support.
- Many bugs are fixed including deadlocks, resource leaks, abuses, etc.
- Simplify audio filter mechanism. The encoding/channels/frequency
conversions are completely handled in the upper layer. So the hard-
ware driver only converts its hardware encoding (if necessary).
- audio_hw_if changes:
- Obsoletes query_encoding and add query_format instead.
- Obsoletes set_params and add set_format instead.
- Remove drain, setfd, mappage.
- The call sequences are changed.
- ioctl AUDIO_GETFD/SETFD, AUDIO_GETCHAN/SETCHAN are obsoleted.
- ioctl AUDIO_{QUERY,GET,SET}FORMAT are introduced.
- cleanup config attributes: au*conv and mulaw.
- All hardware drivers should follow it (I've done as much as possible).

Some file paths are changed:
- dev/audio.c -> dev/audio/audio.c (rewritten)
- dev/audiovar.h -> dev/audio/audiovar.h
- dev/audio_dai.h -> dev/audio/audio_dai.h
- dev/audio_if.h -> dev/audio/audio_if.h
- dev/audiobell.c -> dev/audio/audiobell.c
- dev/audiobellvar.h -> dev/audio/audiobellvar.h
- dev/mulaw.[ch] -> dev/audio/mulaw.[ch] + dev/audio/alaw.c
 1.52 15-Mar-2008  cube branches: 1.52.84; 1.52.92; 1.52.96;
Split device_t and softc for sb(4) and all its attachments.
 1.51 19-Oct-2007  ad branches: 1.51.12; 1.51.16;
machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
 1.50 16-Nov-2006  christos branches: 1.50.6; 1.50.8; 1.50.22; 1.50.24; 1.50.28;
__unused removal on arguments; approved by core.
 1.49 12-Oct-2006  christos - sprinkle __unused on function decls.
- fix a couple of unused bugs
- no more -Wno-unused for i386
 1.48 30-Jun-2006  chap branches: 1.48.4; 1.48.6;
Ankh-Morpork, we have a MIDI driver....

Merge from chap-midi branch, after
~month for review
Comments by thorpej@ drochner@ and Alexandre Ratchov

Incorporated: points by thorpej@ drochner@; preliminary support for
a stats-collecting ioctl suggested by martin@ from comments by A.R.

PR kern/32441 kern/32442 kern/32567 kern/32588 kern/32694 kern/33590
kern/33614 and one instance of kern/32651

ok martin@
 1.47 13-Apr-2006  cube branches: 1.47.2; 1.47.4;
Fix grammar in a comment, and use named constants for better readability.
 1.46 13-Apr-2006  christos Fix the MPU attachment on Aztech 1020 that has a separate mpu pnp device
instead of having the mpu in io[1]. From doomwarriorx at gmail dot com.
 1.45 29-Mar-2006  thorpej Use device_private().
 1.44 11-Dec-2005  christos branches: 1.44.4; 1.44.6; 1.44.8; 1.44.10; 1.44.12;
merge ktrace-lwp.
 1.43 13-Jan-2005  kent branches: 1.43.10;
ansify and KNF
 1.42 01-Sep-2004  drochner symbolic constants are good, but this is another namespace
 1.41 02-Oct-2002  thorpej branches: 1.41.6;
Add trailing ; to CFATTACH_DECL.
 1.40 30-Sep-2002  thorpej Use CFATTACH_DECL().
 1.39 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.38 13-Nov-2001  lukem add RCSID
 1.37 26-Sep-2001  thorpej Use ISACF_*_DEFAULT rather than *UNK.
 1.36 19-Dec-2000  mjl branches: 1.36.2; 1.36.4; 1.36.6;
Add quirk for Avance Logic ALS100+, which doesn't like it's irq/drq
being set in pnp mode.
 1.35 18-Oct-1999  itohy branches: 1.35.2;
Use NMPU instead of NMIDI so that it can compile without mpu attachment.
Requested by Izumi Tsutsui.
 1.34 02-Aug-1999  augustss branches: 1.34.2;
Move the mpu device declaration to conf/files.
Let the mpu device attach at the sb device, and then midi at the mpu.
Update the mpu at eso attachment.
 1.33 22-Mar-1999  mycroft branches: 1.33.4;
Reject variant numbers which are too large (so that a new version of isapnpdevs
with an old driver will not lose mysteriously).
 1.32 22-Mar-1999  mycroft Update callers of isapnp_devmatch().
 1.31 22-Mar-1999  mycroft Adjust for MPU attachment change.
 1.30 19-Feb-1999  mycroft Move IRQ setup into frontend. Need to move DRQ handling as well.
 1.29 17-Aug-1998  augustss * Redo the way the way the MIDI driver attaches to audio devices.
* Improve the midisyn layer a little.
* Add a driver for the Yamaha OPL[23] FM synths.
The opl driver is not finished yet; it sounds pretty awful.

For some strange reason I cannot get any FM sound from my SB64 cards,
but a regular SB16 works fine.
 1.28 07-Aug-1998  augustss Add MIDI support. The MIDI devices can be accessed as ``raw'' through
the /dev/rmidiN devices, or with a sequencer interface via /dev/music.
So far the only supported MIDI device is the MPU401 port on SoundBlaster
(and only on SB on isapnp, since we do not have locators with multiple
values yet).
 1.27 23-Jul-1998  christos Create a master list of pnp logical and compatibility device codes instead
of hard-coding it into each driver and use a centralized probe function.
 1.26 29-Jun-1998  thorpej Get the interrupt share type from the PnP info.
 1.25 09-Jun-1998  thorpej Nuke __BROKEN_INDIRECT_CONFIG.
 1.24 09-Jun-1998  thorpej Adjust for the changes to the ISA DMA API.
 1.23 20-May-1998  augustss Add a Yamaha OPL3-SA3 driver and clean up all AD1848 drivers.
Submitted by Constantine Sapuntzakis <csapuntz@reeducation-labor.lcs.mit.edu>
and originally written for OpenBSD.
 1.22 13-Apr-1998  thorpej Remove the stuff that was apparently not intended for commit in the
previous change.
 1.21 13-Apr-1998  augustss Add another device, YMH0021. From nathanw@MIT.EDU, PR #5289.
 1.20 22-Feb-1998  enami Cosmetic change; use tab of width 8.
 1.19 30-Jan-1998  bouyer Add ID for the Vibra16X PnP board (aka CT4170).
 1.18 17-Dec-1997  thorpej Don't initialize softc's space tags/handles until isapnp_config() has
been called. Pointed out by Lennart Augustsson.
 1.17 30-Nov-1997  drochner make it compile without "__BROKEN_INDIRECT_CONFIG"
 1.16 20-Nov-1997  augustss Remove broken PnP id again.
 1.15 18-Nov-1997  augustss Recognize another card and handle the case when both drqs are the same.
 1.14 18-Nov-1997  augustss Make an XXX note about the broken ALS id.
 1.13 18-Nov-1997  augustss Dropped an else in last commit.
 1.12 18-Nov-1997  augustss Add another card and take care of swapped drqs.
 1.11 15-Oct-1997  augustss branches: 1.11.2;
Add another SB AWE64 Value.
 1.10 13-Sep-1997  augustss Recognize SB AWE64 Gold.
 1.9 03-Aug-1997  mikel add support for generic SBs by matching compatIDs
 1.8 18-Jun-1997  mikel branches: 1.8.4;
add device ID for SB AWE64 Value; from William Coldwell in PR kern/3716.
also add comments for some device IDs describing what they match.
 1.7 06-Jun-1997  thorpej Pull thorpej-bus-dma branch into mainline.
 1.6 10-Apr-1997  mikel branches: 1.6.2;
add support for AD181[56] SBPro emulation
 1.5 25-Mar-1997  christos PR/3388 from Tatoku Ogaito: Add product id for another soundblaster PnP card.
 1.4 21-Mar-1997  mycroft Add PnP ID for SB AWE32.
 1.3 20-Mar-1997  mycroft Add 16-bit DRQ support on PnP, and enable 16-bit output.
 1.2 13-Mar-1997  christos Add a match for the ESS1868; from herb...
 1.1 16-Jan-1997  christos Plug and Play support.
 1.6.2.1 13-May-1997  thorpej Adapt to new software interface to the on-board ISA DMA controller.
 1.8.4.2 16-Sep-1997  thorpej Update marc-pcmcia branch from trunk.
 1.8.4.1 23-Aug-1997  thorpej Update marc-pcmcia branch from trunk.
 1.11.2.1 17-Dec-1997  mellon Pull rev 1.18 up from trunk (mycroft)
 1.33.4.1 02-Aug-1999  thorpej Update from trunk.
 1.34.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.35.2.1 05-Jan-2001  bouyer Sync with HEAD
 1.36.6.1 01-Oct-2001  fvdl Catch up with -current.
 1.36.4.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.36.4.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.36.2.3 18-Oct-2002  nathanw Catch up to -current.
 1.36.2.2 14-Nov-2001  nathanw Catch up to -current.
 1.36.2.1 26-Sep-2001  nathanw Catch up to -current.
Again.
 1.41.6.4 17-Jan-2005  skrll Sync with HEAD.
 1.41.6.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.41.6.2 18-Sep-2004  skrll Sync with HEAD.
 1.41.6.1 03-Sep-2004  skrll Sync with HEAD
 1.43.10.4 17-Mar-2008  yamt sync with head.
 1.43.10.3 27-Oct-2007  yamt sync with head.
 1.43.10.2 30-Dec-2006  yamt sync with head.
 1.43.10.1 21-Jun-2006  yamt sync with head.
 1.44.12.2 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.44.12.1 31-Mar-2006  tron Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
 1.44.10.1 19-Apr-2006  elad sync with head.
 1.44.8.3 11-Aug-2006  yamt sync with head
 1.44.8.2 24-May-2006  yamt sync with head.
 1.44.8.1 01-Apr-2006  yamt sync with head.
 1.44.6.1 22-Apr-2006  simonb Sync with head.
 1.44.4.1 09-Sep-2006  rpaulo sync with head
 1.47.4.1 13-Jul-2006  gdamore Merge from HEAD.
 1.47.2.1 29-May-2006  chap An AOpen sound card that identifies as ADS7180 maps its mpu as a separate
pnpdev, as does the Aztech 1020 already special-cased here. However, we
already had ADS7180 in isapnpdevs, making me wonder if it actually worked
the other way for some other card that also identifies as ADS7180. I
suppose we'll find out.
 1.48.6.2 10-Dec-2006  yamt sync with head.
 1.48.6.1 22-Oct-2006  yamt sync with head
 1.48.4.1 18-Nov-2006  ad Sync with head.
 1.50.28.1 25-Oct-2007  bouyer Sync with HEAD.
 1.50.24.2 23-Mar-2008  matt sync with HEAD
 1.50.24.1 06-Nov-2007  matt sync with HEAD
 1.50.22.1 26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.50.8.1 23-Oct-2007  ad Sync with head.
 1.50.6.1 27-Feb-2007  ad Add MP locking for audio drivers.
 1.51.16.1 03-Apr-2008  mjf Sync with HEAD.
 1.51.12.1 24-Mar-2008  keiichi sync with head.
 1.52.96.2 04-May-2019  isaki Move dev/audio_if.h -> dev/audio/audio_if.h
 1.52.96.1 03-May-2019  isaki Remove dev/auconv.[ch].
Now it is handled in dev/audio/audio.c and dev/audio/linear.c.
Remove dev/mulaw.h.
It already have been just a link to dev/audio/mulaw.h in this
branch.
 1.52.92.1 10-Jun-2019  christos Sync with HEAD
 1.52.84.1 01-Aug-2023  martin Pull up following revision(s) (requested by riastradh in ticket #1870):

sys/dev/isapnp/sb_isapnp.c: revision 1.54
sys/dev/ofisa/sb_ofisa.c: revision 1.24

sb(4): Fix missing mutex initialization at isapnp and ofisa.
PR kern/57363
 1.53.28.1 01-Aug-2023  martin Pull up following revision(s) (requested by riastradh in ticket #286):

sys/dev/isapnp/sb_isapnp.c: revision 1.54
sys/dev/ofisa/sb_ofisa.c: revision 1.24

sb(4): Fix missing mutex initialization at isapnp and ofisa.
PR kern/57363
 1.53.2.1 01-Aug-2023  martin Pull up following revision(s) (requested by riastradh in ticket #1689):

sys/dev/isapnp/sb_isapnp.c: revision 1.54
sys/dev/ofisa/sb_ofisa.c: revision 1.24

sb(4): Fix missing mutex initialization at isapnp and ofisa.
PR kern/57363
 1.45 25-Sep-2022  thorpej Remove unnecessary include of <sys/malloc.h>.
 1.44 20-Oct-2017  jdolecek move ata_queue_alloc(1) and ata_queue_free() calls to ata_channel_init()
and ata_channel_destroy() respectively, to make attachment code simpler,
and to make it easier to spot special queue manipulation like cmdide(4)

on topic of PR kern/52606
 1.43 07-Oct-2017  jdolecek adapt for NCQ branch merge too
 1.42 31-Jul-2012  bouyer branches: 1.42.2;
Apply back changes that were reverted on Jul 24 and Jul 26 (general ata/wdc
cleanup and SATA PMP support), now that I'm back to fix the fallouts.
 1.41 26-Jul-2012  jakllsch Revert, with intention of restoring in a less invasive way, the SATA Port
Multiplier code.

ok christos@
 1.40 02-Jul-2012  bouyer Add sata Port MultiPlier (PMP) support to the ata bus layer,
as described in
http://mail-index.netbsd.org/tech-kern/2012/06/23/msg013442.html
PMP support in integrated to the atabus layer.
struct ata_channel's ch_drive[] is not dynamically allocated, and ch_ndrive
(renamed to ch_ndrives) closely reflects the size of the ch_drive[] array.
Add helper functions atabus_alloc_drives() and atabus_free_drives()
to manage ch_drive[]/ch_ndrives.
Add wdc_maxdrives to struct wdc_softc so that bus front-end can specify
how much drive they really support (master/slave or single).
ata_reset_drive() callback gains a uint32_t *sigp argument which,
when not NULL, will contain the signature of the device being reset.
While there, some cosmetic changes:
- added a drive_type enum to ata_drive_datas, and stop encoding the
probed drive type in drive_flags (we were out of drive flags anyway).
- rename DRIVE_ATAPIST to DRIVE_ATAPIDSCW to better reflect what this
really is
- remove ata_channel->ata_drives, it's redundant with the pointer in
ata_drive_datas
- factor out the interpretation of SATA signatures in sata_interpet_sig()

propagate these changes to the ATA HBA drivers, and add support for PMP
to ahcisata(4) and siisata(4).

Thanks to:
- Protocase (http://www.protocase.com/) which provided a system
with lots of controllers, SATA PMP and drive slots
- Conservation Genomics Laboratory, Department of Biology, New Mexico State
University for hosting the above system
- Brook Milligan, who set up remote access and has been very responsive
when SATA cable move was needed
 1.39 28-Apr-2008  martin branches: 1.39.34;
Remove clause 3 and 4 from TNF licenses
 1.38 18-Mar-2008  cube branches: 1.38.2; 1.38.4;
Split device_t and softc for ATA devices, as well as wd(4). Other
cosmetic changes where appropriate.
 1.37 19-Oct-2007  ad branches: 1.37.12; 1.37.16;
machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
 1.36 16-Nov-2006  christos branches: 1.36.8; 1.36.22; 1.36.24; 1.36.28;
__unused removal on arguments; approved by core.
 1.35 12-Oct-2006  christos - sprinkle __unused on function decls.
- fix a couple of unused bugs
- no more -Wno-unused for i386
 1.34 29-Mar-2006  thorpej branches: 1.34.8; 1.34.10;
Use device_private().
 1.33 16-Jan-2006  bouyer branches: 1.33.2; 1.33.4; 1.33.6; 1.33.8; 1.33.10;
properly use ata_channel->ch_ndrive:
- initialize it properly in the bus front-ends (all 2, exept in wdc_pcmcia.c
for the "Sandisk CompactFlash Card" where it's set to 1)
- remplace hardcoded '2' by ata_channel->ch_ndrive in MI IDE drivers.

From Christos Zoulas in kern/32501.
 1.32 11-Dec-2005  christos branches: 1.32.2;
merge ktrace-lwp.
 1.31 21-Sep-2004  thorpej branches: 1.31.12;
Fix a mis-placed wdc_init_shadow_regs().
 1.30 20-Aug-2004  thorpej Move most of wdc_softc into a new atac_softc structure that contains
info common to all types of ATA controllers.
 1.29 19-Aug-2004  thorpej Use ANSI function decls and "static".
 1.28 14-Aug-2004  thorpej - Split the register handles out of struct wdc_channel into a separate
wdc_regs structure, and array of which (indexed per channel) is pointed
to by struct wdc_softc.
- Move the resulting wdc_channel structure to atavar.h and rename it to
ata_channel. Rename the corresponding flags.
- Add a "ch_ndrive" member to struct ata_channel, which indicates the
maximum number of drives that can be present on the channel. For now,
this is always 2. Add an ATA_MAXDRIVES constant that places an upper
limit on this value, also currently 2.
 1.27 25-May-2004  thorpej Add the notion of "shadow registers" to the wdc driver. These shadow
registers are registers that overlap with others on many controllers, but
which may actually be distinct on some controllers. Right now, the two
shadows are:

- wd_status (usually overlaps wd_command)
- wd_features (usually overlaps wd_error)

Add a new helper function, wdc_init_shadow_regs(), used to initialize
the shadow register handles on controllers where they do actually overlap.

Partially from Jordan Rhody @ Wasabi Systems, Inc.
 1.26 03-Jan-2004  thorpej More wdc_channel structure member namespace cleanup:
- channel -> ch_channel
- wdc -> ch_wdc
 1.25 03-Jan-2004  thorpej Rename "struct channel_softc" to "struct wdc_channel".
 1.24 01-Jan-2004  thorpej Rename:
- wdc_xfer to ata_xfer
- channel_queue to ata_queue
and move them to <dev/ata/atavar.h> so they can be used by non-wdc ATA
controllers. Clean up the member names of these structures while at it.
 1.23 27-Nov-2003  fvdl There are some cards that map the ATA control and IDE DMA registers
in a different fashion. Individually, they have the same functionality,
but their layout is different. An example of such a chipset is
the Promise 203xx.

To be able to deal with this, transform the cmd and dma bus_space handles
into an array of handles, each seperately created with bus_space_subregion.
The code generated by using the extra indirection shouldn't change much,
since the extra indirection is negated by having the offset calculation
already done in bus_space_subregion. E.g.

bus_space_write_4(tag, handle, offset, value)

becomes

bus_space_write_4(tag, handles[offset], 0, value)

Reviewed by Manuel Bouyer. Tested on wdc_isa, wdc_pcmcia, viaide, piixide (i386)
and on cmdide (sparc64).
 1.22 08-Oct-2003  bouyer Make the ATA mid-layer appears as atabus, as proposed in
http://mail-index.netbsd.org/tech-kern/2003/09/25/0006.html
This adds a device (atabus) between IDE controllers and wd or atapibus, to
have each ATA channel show up in the device tree. Later there will be atabus
devices in /dev, so that we can do IOCTL on them.
Each atabus has its own kernel thread, to handle operations that needs polling,
e.g. reset and others.

Device probing on each bus it defered to the atabus thread creation.
This allows to do the reset and basic device probes in parallel, which reduce
boot time on systems with several pciide controllers.
 1.21 25-Sep-2003  mycroft Hide the use of config_interrupts() in one place.
 1.20 19-Sep-2003  mycroft 1) Use config_interrupts() to attach IDE and ATAPI drives. This eliminates
most polling.
2) Clean up some goofiness in pciide -- get rid of the whole "candisable" path
(it's gratuitous) and simplify the code by calling pciide_map_compat_intr(),
*_set_modes() and wdc_print_modes() from central locations.
3) Add a register writability and register ghost test to eliminate phantom
drives more quickly.
 1.19 22-Mar-2003  matt branches: 1.19.2;
Don't malloc the channel_queue, put it in the softc. Print modes too.
 1.18 02-Oct-2002  thorpej Add trailing ; to CFATTACH_DECL.
 1.17 30-Sep-2002  thorpej Use CFATTACH_DECL().
 1.16 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.15 15-Nov-2001  lukem don't need <sys/types.h> when including <sys/param.h>
 1.14 13-Nov-2001  lukem add RCSID
 1.13 22-Mar-1999  mycroft branches: 1.13.20; 1.13.22;
Reject variant numbers which are too large (so that a new version of isapnpdevs
with an old driver will not lose mysteriously).
 1.12 22-Mar-1999  mycroft Update callers of isapnp_devmatch().
 1.11 22-Feb-1999  mycroft Use DMAMODE_DEMAND.
 1.10 03-Dec-1998  bouyer Rename pio_mode, etc ... to PIO_cap, etc ... for consistency with the
ata_drive_datas struct. Suggested by Soren S. Jorvan.
 1.9 21-Nov-1998  drochner in wdc_softc: access the per-channel data via a pointer array instead of
an array of fixed-sized channel_softc elements. This way IDE controllers
which more than 1 channel (pciide) can extend the channel data easily
for private needs.
To avoid the double dereference at runtime, change the argument of
wdcstart() to the channel data pointer instead of the array index.
 1.8 12-Oct-1998  bouyer Merge bouyer-ide
 1.7 12-Sep-1998  wrstuden PnP IDE controllers can pass us the regions in any order, so make sure
that sc_ad.ioh is the 8-byte region as opposed to blindly passing it
the first region.

With this change, and a device def which will follow, the IDE controller
on my OPTi Audio 16 card works!
 1.6 15-Aug-1998  mycroft Assign my copyrights to TNF.
 1.5 23-Jul-1998  christos Create a master list of pnp logical and compatibility device codes instead
of hard-coding it into each driver and use a centralized probe function.
 1.4 09-Jun-1998  thorpej Nuke __BROKEN_INDIRECT_CONFIG.
 1.3 09-Jun-1998  thorpej Adjust for the changes to the ISA DMA API.
 1.2 31-Jan-1998  christos branches: 1.2.2;
Don't hardcode the interrupt type; use what the pnp config provided to us.
 1.1 23-Jan-1998  mycroft Add a PnP IDE frontend.
 1.2.2.7 02-Oct-1998  bouyer Cleanup a few error message, remove some dead code. Re-add a reset at end of
attach, unless we have WDC_NO_EXTRA_RESETS.
Add support for data32iot/data32ioh from -current: each controller pass
WDC_CAPABILITY_DATA32 if they can do 32bit, and WDC_CAPABILITY_DATA16 if they
can do 16bit. For controller that support both, the usual autodetect
mechanism is still used.
 1.2.2.6 20-Sep-1998  bouyer sync with HEAD
 1.2.2.5 21-Aug-1998  bouyer Sync with -current
 1.2.2.4 27-Jul-1998  bouyer Sync with -current
 1.2.2.3 13-Jun-1998  bouyer Sync with HEAD.
 1.2.2.2 09-Jun-1998  bouyer Sync with trunk.
 1.2.2.1 04-Jun-1998  bouyer Commit changes to the IDE system in a branch. This allows a better separation
between higth-level and low-level (i.e. registers read/write) and generalize
the queue for all commands. This also add supports for IDE DMA.
 1.13.22.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.13.22.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.13.20.3 18-Oct-2002  nathanw Catch up to -current.
 1.13.20.2 08-Jan-2002  nathanw Catch up to -current.
 1.13.20.1 14-Nov-2001  nathanw Catch up to -current.
 1.19.2.5 24-Sep-2004  skrll Sync with HEAD.
 1.19.2.4 21-Sep-2004  skrll Fix the sync with head I botched.
 1.19.2.3 18-Sep-2004  skrll Sync with HEAD.
 1.19.2.2 25-Aug-2004  skrll Sync with HEAD.
 1.19.2.1 03-Aug-2004  skrll Sync with HEAD
 1.31.12.4 24-Mar-2008  yamt sync with head.
 1.31.12.3 27-Oct-2007  yamt sync with head.
 1.31.12.2 30-Dec-2006  yamt sync with head.
 1.31.12.1 21-Jun-2006  yamt sync with head.
 1.32.2.1 01-Feb-2006  yamt sync with head.
 1.33.10.1 31-Mar-2006  tron Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
 1.33.8.1 19-Apr-2006  elad sync with head.
 1.33.6.1 01-Apr-2006  yamt sync with head.
 1.33.4.1 22-Apr-2006  simonb Sync with head.
 1.33.2.1 09-Sep-2006  rpaulo sync with head
 1.34.10.2 10-Dec-2006  yamt sync with head.
 1.34.10.1 22-Oct-2006  yamt sync with head
 1.34.8.1 18-Nov-2006  ad Sync with head.
 1.36.28.1 25-Oct-2007  bouyer Sync with HEAD.
 1.36.24.2 23-Mar-2008  matt sync with HEAD
 1.36.24.1 06-Nov-2007  matt sync with HEAD
 1.36.22.1 26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.36.8.1 23-Oct-2007  ad Sync with head.
 1.37.16.2 02-Jun-2008  mjf Sync with HEAD.
 1.37.16.1 03-Apr-2008  mjf Sync with HEAD.
 1.37.12.1 24-Mar-2008  keiichi sync with head.
 1.38.4.1 16-May-2008  yamt sync with head.
 1.38.2.1 18-May-2008  yamt sync with head.
 1.39.34.1 30-Oct-2012  yamt sync with head
 1.42.2.1 03-Dec-2017  jdolecek update from HEAD
 1.31 07-Oct-2021  uwe Fix KASSERT triggered when attaching opl at wss@isapnp.

Not really tested (no h/w), but this problem is exhibited by the
congruent code in acpi and pnpbios attachments.

wss has two attributes, "wss" and "audiobus", and this call didn't
specify an iattr for opl to attach to. config_search_internal asserts
that when no iattr is specified, the parent should only have one.
 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 08-May-2019  isaki branches: 1.28.12;
Merge isaki-audio2 branch, the overhaul of audio subsystem.
- Interrupt-oriented system rather than thread-oriented.
- Improve stability, quality and performance.
- Split playback and record cleanly. Improve halfduplex support.
- Many bugs are fixed including deadlocks, resource leaks, abuses, etc.
- Simplify audio filter mechanism. The encoding/channels/frequency
conversions are completely handled in the upper layer. So the hard-
ware driver only converts its hardware encoding (if necessary).
- audio_hw_if changes:
- Obsoletes query_encoding and add query_format instead.
- Obsoletes set_params and add set_format instead.
- Remove drain, setfd, mappage.
- The call sequences are changed.
- ioctl AUDIO_GETFD/SETFD, AUDIO_GETCHAN/SETCHAN are obsoleted.
- ioctl AUDIO_{QUERY,GET,SET}FORMAT are introduced.
- cleanup config attributes: au*conv and mulaw.
- All hardware drivers should follow it (I've done as much as possible).

Some file paths are changed:
- dev/audio.c -> dev/audio/audio.c (rewritten)
- dev/audiovar.h -> dev/audio/audiovar.h
- dev/audio_dai.h -> dev/audio/audio_dai.h
- dev/audio_if.h -> dev/audio/audio_if.h
- dev/audiobell.c -> dev/audio/audiobell.c
- dev/audiobellvar.h -> dev/audio/audiobellvar.h
- dev/mulaw.[ch] -> dev/audio/mulaw.[ch] + dev/audio/alaw.c
 1.27 22-Nov-2011  jakllsch branches: 1.27.50; 1.27.54;
Set "mode" to 2 at the correct time.
Fixes recording on some isapnp(4) wss(4) chips.
 1.26 02-Jun-2011  tsutsui branches: 1.26.2;
Split device_t/softc of all ad1848 variants properly. Compile test only.

Please check all attribute users in all files.* on device_t/softc split.

XXX: not sure if gus(4) needs device_t in ad1848_isa_softc
 1.25 12-May-2009  cegger branches: 1.25.4; 1.25.6; 1.25.10;
struct device * -> device_t, no functional changes intended.
 1.24 12-May-2009  cegger struct cfdata * -> cfdata_t, no functional changes intended.
 1.23 28-Apr-2008  martin branches: 1.23.14;
Remove clause 3 and 4 from TNF licenses
 1.22 08-Apr-2008  cegger branches: 1.22.2; 1.22.4;
use aprint_*_dev and device_xname
 1.21 19-Oct-2007  ad branches: 1.21.16;
machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
 1.20 16-Nov-2006  christos branches: 1.20.8; 1.20.22; 1.20.24; 1.20.28;
__unused removal on arguments; approved by core.
 1.19 12-Oct-2006  christos - sprinkle __unused on function decls.
- fix a couple of unused bugs
- no more -Wno-unused for i386
 1.18 29-Mar-2006  thorpej branches: 1.18.8; 1.18.10;
Use device_private().
 1.17 11-Dec-2005  christos branches: 1.17.4; 1.17.6; 1.17.8; 1.17.10; 1.17.12;
merge ktrace-lwp.
 1.16 13-Jan-2005  kent branches: 1.16.10;
ansify and KNF
 1.15 04-Dec-2003  keihan netbsd.org -> NetBSD.org

This was the last commit of this kind to src/sys, which is now totally
"NetBSD.org clean". Thanks for the patiance, and sorry for all the commits.
 1.14 02-Oct-2002  thorpej branches: 1.14.6;
Add trailing ; to CFATTACH_DECL.
 1.13 30-Sep-2002  thorpej Use CFATTACH_DECL().
 1.12 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.11 13-Nov-2001  lukem add RCSID
 1.10 06-Sep-1999  rh branches: 1.10.14; 1.10.16;
Add opl at wss for isapnp devices w/o MAD chip.
 1.9 22-Mar-1999  mycroft Nuke sc_iooffs from orbit. This is exactly what bus_space_subregion() is for.
 1.8 22-Mar-1999  mycroft Reject variant numbers which are too large (so that a new version of isapnpdevs
with an old driver will not lose mysteriously).
 1.7 22-Mar-1999  mycroft Add support for switching Aztech chips into WSS mode.
 1.6 23-Feb-1999  nathanw Update for recent changes in wssvar.h.
 1.5 25-Nov-1998  augustss Make the copyright header conform to the NetBSD template.
 1.4 25-Aug-1998  pk Adjust for ad1848.c split.
 1.3 28-Jul-1998  augustss Improve chances of success and make it compile again.
 1.2 23-Jul-1998  christos Create a master list of pnp logical and compatibility device codes instead
of hard-coding it into each driver and use a centralized probe function.
 1.1 30-Jun-1998  augustss Add WSS attachment for ISAPnP. Not tested yet.
 1.10.16.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.10.16.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.10.14.2 18-Oct-2002  nathanw Catch up to -current.
 1.10.14.1 14-Nov-2001  nathanw Catch up to -current.
 1.14.6.4 17-Jan-2005  skrll Sync with HEAD.
 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.16.10.3 27-Oct-2007  yamt sync with head.
 1.16.10.2 30-Dec-2006  yamt sync with head.
 1.16.10.1 21-Jun-2006  yamt sync with head.
 1.17.12.1 31-Mar-2006  tron Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
 1.17.10.1 19-Apr-2006  elad sync with head.
 1.17.8.1 01-Apr-2006  yamt sync with head.
 1.17.6.1 22-Apr-2006  simonb Sync with head.
 1.17.4.1 09-Sep-2006  rpaulo sync with head
 1.18.10.2 10-Dec-2006  yamt sync with head.
 1.18.10.1 22-Oct-2006  yamt sync with head
 1.18.8.1 18-Nov-2006  ad Sync with head.
 1.20.28.1 25-Oct-2007  bouyer Sync with HEAD.
 1.20.24.1 06-Nov-2007  matt sync with HEAD
 1.20.22.1 26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.20.8.1 23-Oct-2007  ad Sync with head.
 1.21.16.1 02-Jun-2008  mjf Sync with HEAD.
 1.22.4.2 16-May-2009  yamt sync with head
 1.22.4.1 16-May-2008  yamt sync with head.
 1.22.2.1 18-May-2008  yamt sync with head.
 1.23.14.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.25.10.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.25.6.1 06-Jun-2011  jruoho Sync with HEAD.
 1.25.4.1 12-Jun-2011  rmind sync with head
 1.26.2.1 17-Apr-2012  yamt sync with head
 1.27.54.1 04-May-2019  isaki Move dev/audio_if.h -> dev/audio/audio_if.h
 1.27.50.1 10-Jun-2019  christos Sync with HEAD
 1.28.12.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.26 08-May-2019  isaki Merge isaki-audio2 branch, the overhaul of audio subsystem.
- Interrupt-oriented system rather than thread-oriented.
- Improve stability, quality and performance.
- Split playback and record cleanly. Improve halfduplex support.
- Many bugs are fixed including deadlocks, resource leaks, abuses, etc.
- Simplify audio filter mechanism. The encoding/channels/frequency
conversions are completely handled in the upper layer. So the hard-
ware driver only converts its hardware encoding (if necessary).
- audio_hw_if changes:
- Obsoletes query_encoding and add query_format instead.
- Obsoletes set_params and add set_format instead.
- Remove drain, setfd, mappage.
- The call sequences are changed.
- ioctl AUDIO_GETFD/SETFD, AUDIO_GETCHAN/SETCHAN are obsoleted.
- ioctl AUDIO_{QUERY,GET,SET}FORMAT are introduced.
- cleanup config attributes: au*conv and mulaw.
- All hardware drivers should follow it (I've done as much as possible).

Some file paths are changed:
- dev/audio.c -> dev/audio/audio.c (rewritten)
- dev/audiovar.h -> dev/audio/audiovar.h
- dev/audio_dai.h -> dev/audio/audio_dai.h
- dev/audio_if.h -> dev/audio/audio_if.h
- dev/audiobell.c -> dev/audio/audiobell.c
- dev/audiobellvar.h -> dev/audio/audiobellvar.h
- dev/mulaw.[ch] -> dev/audio/mulaw.[ch] + dev/audio/alaw.c
 1.25 02-Jun-2011  tsutsui branches: 1.25.54; 1.25.58;
Split device_t/softc of all ad1848 variants properly. Compile test only.

Please check all attribute users in all files.* on device_t/softc split.

XXX: not sure if gus(4) needs device_t in ad1848_isa_softc
 1.24 12-May-2009  cegger branches: 1.24.4; 1.24.6; 1.24.10;
struct device * -> device_t, no functional changes intended.
 1.23 12-May-2009  cegger struct cfdata * -> cfdata_t, no functional changes intended.
 1.22 08-Apr-2008  cegger branches: 1.22.4; 1.22.18;
use aprint_*_dev and device_xname
 1.21 16-Nov-2006  christos branches: 1.21.48;
__unused removal on arguments; approved by core.
 1.20 12-Oct-2006  christos - sprinkle __unused on function decls.
- fix a couple of unused bugs
- no more -Wno-unused for i386
 1.19 29-Mar-2006  thorpej branches: 1.19.8; 1.19.10;
Use device_private().
 1.18 11-Dec-2005  christos branches: 1.18.4; 1.18.6; 1.18.8; 1.18.10; 1.18.12;
merge ktrace-lwp.
 1.17 13-Jan-2005  kent branches: 1.17.10;
ansify and KNF
 1.16 02-Oct-2002  thorpej branches: 1.16.6;
Add trailing ; to CFATTACH_DECL.
 1.15 30-Sep-2002  thorpej Use CFATTACH_DECL().
 1.14 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.13 10-Mar-2002  itohy Add explicit support of OPL3-SA2 (YMF711).
Not well tested....
 1.12 13-Nov-2001  lukem add RCSID
 1.11 05-Oct-1999  itohy branches: 1.11.12; 1.11.14; 1.11.16;
Add support for "opl at ym" and "mpu at ym" attachment.
 1.10 22-Mar-1999  mycroft One minor change to previous.
 1.9 22-Mar-1999  mycroft Nuke sc_iooffs from orbit. This is exactly what bus_space_subregion() is for.
 1.8 22-Mar-1999  mycroft Reject variant numbers which are too large (so that a new version of isapnpdevs
with an old driver will not lose mysteriously).
 1.7 22-Mar-1999  mycroft Update callers of isapnp_devmatch().
 1.6 23-Feb-1999  nathanw Update for minor changes in the ad1848 back end.
 1.5 25-Aug-1998  pk Adjust for ad1848.c split.
 1.4 23-Jul-1998  christos Create a master list of pnp logical and compatibility device codes instead
of hard-coding it into each driver and use a centralized probe function.
 1.3 09-Jun-1998  thorpej Adjust for the changes to the ISA DMA API.
 1.2 21-May-1998  augustss Add missing call to isapnp_config.
Set chip_name.
KNF.
 1.1 20-May-1998  augustss Add a Yamaha OPL3-SA3 driver and clean up all AD1848 drivers.
Submitted by Constantine Sapuntzakis <csapuntz@reeducation-labor.lcs.mit.edu>
and originally written for OpenBSD.
 1.11.16.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.11.16.2 16-Mar-2002  jdolecek Catch up with -current.
 1.11.16.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.11.14.3 18-Oct-2002  nathanw Catch up to -current.
 1.11.14.2 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.11.14.1 14-Nov-2001  nathanw Catch up to -current.
 1.11.12.1 27-Mar-2002  he Pull up revisions 1.12-1.13 (requested by itohy):
Several changes to wss-compatible audio devices:
o Fix ADPCM playback/recording
o Add explicit support for OPL3-SA2 (YMF711), fixes PR#14819
o Add AD1845 support
o other minor bugfixes and cleanups
 1.16.6.1 17-Jan-2005  skrll Sync with HEAD.
 1.17.10.2 30-Dec-2006  yamt sync with head.
 1.17.10.1 21-Jun-2006  yamt sync with head.
 1.18.12.1 31-Mar-2006  tron Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
 1.18.10.1 19-Apr-2006  elad sync with head.
 1.18.8.1 01-Apr-2006  yamt sync with head.
 1.18.6.1 22-Apr-2006  simonb Sync with head.
 1.18.4.1 09-Sep-2006  rpaulo sync with head
 1.19.10.2 10-Dec-2006  yamt sync with head.
 1.19.10.1 22-Oct-2006  yamt sync with head
 1.19.8.1 18-Nov-2006  ad Sync with head.
 1.21.48.1 02-Jun-2008  mjf Sync with HEAD.
 1.22.18.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.22.4.1 16-May-2009  yamt sync with head
 1.24.10.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.24.6.1 06-Jun-2011  jruoho Sync with HEAD.
 1.24.4.1 12-Jun-2011  rmind sync with head
 1.25.58.1 04-May-2019  isaki Move dev/audio_if.h -> dev/audio/audio_if.h
 1.25.54.1 10-Jun-2019  christos Sync with HEAD

RSS XML Feed