Home | History | Annotate | Download | only in ic
History log of /src/sys/dev/ic/lpt.c
RevisionDateAuthorComments
 1.82  03-Sep-2018  riastradh Rename min/max -> uimin/uimax for better honesty.

These functions are defined on unsigned int. The generic name
min/max should not silently truncate to 32 bits on 64-bit systems.
This is purely a name change -- no functional change intended.

HOWEVER! Some subsystems have

#define min(a, b) ((a) < (b) ? (a) : (b))
#define max(a, b) ((a) > (b) ? (a) : (b))

even though our standard name for that is MIN/MAX. Although these
may invite multiple evaluation bugs, these do _not_ cause integer
truncation.

To avoid `fixing' these cases, I first changed the name in libkern,
and then compile-tested every file where min/max occurred in order to
confirm that it failed -- and thus confirm that nothing shadowed
min/max -- before changing it.

I have left a handful of bootloaders that are too annoying to
compile-test, and some dead code:

cobalt ews4800mips hp300 hppa ia64 luna68k vax
acorn32/if_ie.c (not included in any kernels)
macppc/if_gm.c (superseded by gem(4))

It should be easy to fix the fallout once identified -- this way of
doing things fails safe, and the goal here, after all, is to _avoid_
silent integer truncations, not introduce them.

Maybe one day we can reintroduce min/max as type-generic things that
never silently truncate. But we should avoid doing that for a while,
so that existing code has a chance to be detected by the compiler for
conversion to uimin/uimax without changing the semantics until we can
properly audit it all. (Who knows, maybe in some cases integer
truncation is actually intended!)
 1.81  28-Oct-2017  riastradh branches: 1.81.2; 1.81.4;
Kill some more extern struct cfdriver declarations.

Down with externs in .c!
 1.80  25-Jul-2014  dholland Add d_discard to all struct cdevsw instances I could find.

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

I have not built every extant kernel so I have probably broken at
least one build; however I've also found and fixed some wrong
cdevsw/bdevsw entries so even if so I think we come out ahead.
 1.78  25-Nov-2009  rmind branches: 1.78.12; 1.78.22; 1.78.26;
Remove IPL_LPT and IPL_IPI aliases, use the actual IPLs.
Fix some broken comments.
 1.77  23-Nov-2009  rmind Remove some unecessary includes sys/user.h header.
 1.76  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.75  10-Jun-2008  cegger branches: 1.75.4; 1.75.10;
device_private(device_lookup()) -> device_lookup_private()
ok cube@
 1.74  07-Mar-2008  cube branches: 1.74.2; 1.74.4; 1.74.6; 1.74.8;
Split the softc from the device_t for all lpt(4) variants and attachments
except the ppbus stuff (which doesn't compile) and ulpt(4) which is
unrelated and can be dealt with separately.

As usual, it comes with related cosmetic changes.
 1.73  22-Feb-2008  dyoung Add methods to detach lpt at isa.
 1.72  19-Oct-2007  ad branches: 1.72.12; 1.72.16;
machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
 1.71  09-Oct-2007  ad branches: 1.71.2;
Defer wakeup() to a soft interrupt, since lptintr() can be called above
IPL_SCHED.
 1.70  09-Jul-2007  ad branches: 1.70.6; 1.70.8; 1.70.10;
Merge some of the less invasive changes from the vmlocking branch:

- kthread, callout, devsw API changes
- select()/poll() improvements
- miscellaneous MT safety improvements
 1.69  04-Mar-2007  christos branches: 1.69.2; 1.69.4;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.68  16-Nov-2006  christos branches: 1.68.4;
__unused removal on arguments; approved by core.
 1.67  12-Oct-2006  christos - sprinkle __unused on function decls.
- fix a couple of unused bugs
- no more -Wno-unused for i386
 1.66  02-Sep-2006  christos branches: 1.66.2; 1.66.4;
Add missing initializer
 1.65  11-Dec-2005  christos branches: 1.65.4; 1.65.8;
merge ktrace-lwp.
 1.64  27-Feb-2005  perry branches: 1.64.4;
nuke trailing whitespace
 1.63  29-Jun-2003  fvdl branches: 1.63.2; 1.63.10; 1.63.12;
Back out the lwp/ktrace changes. They contained a lot of colateral damage,
and need to be examined and discussed more.
 1.62  28-Jun-2003  darrenr Pass lwp pointers throughtout the kernel, as required, so that the lwpid can
be inserted into ktrace records. The general change has been to replace
"struct proc *" with "struct lwp *" in various function prototypes, pass
the lwp through and use l_proc to get the process pointer when needed.

Bump the kernel rev up to 1.6V
 1.61  10-Dec-2002  rafal Make this work on fast platforms by making sure signals are held for at
least 1us. Documentation I've found for the simple (SPP) parallel port
mode says that data should be stable 500ns before STROBE, STROBE should
be pulsed for no less than 500ns, and that data should be stable another
500ns after STROBE has been de-asserted.

Makes lpt@ebus on my Sun Ultra5 work with my HP DeskJet 712C, at least in
polled mode. Thanks to Martin for astutely noting it was probably a bug
with STROBE being pulsed too quickly.
 1.60  23-Oct-2002  jdolecek merge kqueue branch into -current

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

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

based on work done by Jonathan Lemon for FreeBSD
initial NetBSD port done by Luke Mewburn and Jason Thorpe
 1.59  06-Sep-2002  gehenna Merge the gehenna-devsw branch into the trunk.

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

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

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

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

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

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

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

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

- In compile time, device major numbers list is packed into the kernel and
the LKM framework will refer it to assign device major number dynamically.
 1.58  13-Nov-2001  lukem branches: 1.58.8;
add/cleanup RCSID
 1.57  06-Jul-2000  thorpej branches: 1.57.2; 1.57.4; 1.57.6;
Use device_lookup().
 1.56  23-Mar-2000  thorpej New callout mechanism with two major improvements over the old
timeout()/untimeout() API:
- Clients supply callout handle storage, thus eliminating problems of
resource allocation.
- Insertion and removal of callouts is constant time, important as
this facility is used quite a lot in the kernel.

The old timeout()/untimeout() API has been removed from the kernel.
 1.55  29-Mar-1999  perry branches: 1.55.8;
Replace the #ifdef'ed variable DELAYs with a pair of non-ifdefed
DELAY(1)'s. This should fix interrupt driven lpt driver hang and
reboot problems for the group of users who have experienced them, and
shouldn't hurt anyone else.
 1.54  25-Mar-1999  perry Add two #ifdef BROKEN_LPT_DELAY's in to the central write byte
& strobe cycle. These bracket DELAY()'s of BROKEN_LPT_DELAY
microseconds. This can be used to kludge around mysterious hangs and
reboots some users experience. The cause of these failures is still
not known, but is conjectured to be hardware bug originated failures
in the bus cycle.
 1.53  12-Feb-1999  thorpej Fix printf format problems on Alpha.
 1.52  14-Oct-1998  perry Stop spurious lpt messages from being printed -- approved by fvdl.
 1.51  15-Aug-1998  mycroft Make copyright notices with my name consistent.
 1.50  18-Jul-1998  is Switching dev/ic/lpt.c to use spllpt() instead of spltty(). It doesn't use
tty structures, and on some machines (namely the DraCo internal lpt, and some
multi-i/o boards for Amigas and DraCos), tying spltty to the pretty high printer
interupt level would hurt serial performance.

On all affected ports but Amiga, spllpt() has been defined in machine/intr.h
to be spltty(), thus preserving old behaviour. Portmasters are encouraged to
change is, if they feel something else is better (e.g., one of its own were
possible).
 1.49  02-Feb-1998  cgd Implement a flag to indicate that the driver attached correctly.
This is useful in the case where an attachment's probe routine
verifies that there is indeed hardware present but something goes
"wrong" in the attach causing the device to be unusable. (Without
keeping track of this, in that case incorrect ports could be
accessed or uninitted pointers could be deferenced on open or at
other times.)
 1.48  12-Jan-1998  thorpej Adjust for config changes.
 1.47  07-Dec-1997  thorpej Use malloc()/free(), not geteblk()/brelse(), for the device buffer.
 1.46  14-Oct-1997  is branches: 1.46.2;
Finalize the isa/lpt.c split:
The isa attachment code is in isa/lpt_isa.c now, which attaches to the
already created ic/lpt* files.
You don't need to change your config files, but you need to re-"config" if
using lpt at isa.
XXX The "lpt" device definition should be in sys/conf/files instead, but to
my knowledge, there are some ports which have private copies of lpt, and would
choke on that. No need to make people unhappy 7 days before release branching.
 1.45  27-Sep-1997  is branches: 1.45.2;
First part of splitting lpt.c, and the NetBSD/Amiga "supio" frontend. Needs
a bit more work to allow an ISA frontend.
 1.44  02-Sep-1997  mikel add missing argument to LPRINTF() declaration; from Geoff Wing in PR 4072.
I also made inclusion of LPRINTF() dependent solely on the symbol
LPTDEBUG, initialized lptdebug variable to 0 instead of 1, and
matched arguments to format strings in LPRINTF() calls.
 1.43  05-Dec-1996  cgd branches: 1.43.10;
update these so they compile whether or not __BROKEN_INDIRECT_CONFIG
is defined.
 1.42  21-Oct-1996  thorpej New bus.h implementation/interface:
- No more distinction between i/o-mapped and memory-mapped
devices. It's all "bus space" now, and space tags
differentiate the space with finer grain than the
bus chipset tag.
- Add memory barrier methods.
- Implement space alloc/free methods.
- Implement region read/write methods (like memcpy to/from
bus space).
This interface provides a better abstraction for dealing with
machine-independent chipset drivers.
 1.41  13-Oct-1996  christos backout kprintf changes
 1.40  10-Oct-1996  christos printf -> kprintf, sprintf -> ksprintf
 1.39  12-May-1996  mycroft Use intr.h.
 1.38  29-Apr-1996  christos - Fix gcc -Wall warnings
- BUG: if (error = ...() == EWOULDBLOCK)
 1.37  11-Apr-1996  cgd update for addition of a machine-dependent cookie as the first argument
to isa_intr_{,dis}establish().
 1.36  10-Apr-1996  mycroft Add explicit return types.
 1.35  18-Mar-1996  cgd since this driver tries to block its interrupt with spltty(), it must
attach that interrupt with IPL_TTY.
 1.34  17-Mar-1996  cgd clean up <machine/bus.h> changes a bit; no real functional change.
prototype lpt_port_test().
 1.33  17-Mar-1996  thorpej New device attachment scheme:

- split softc size and match/attach out from cfdriver into
a new struct cfattach.

- new "attach" directive for files.*. May specify the name of
the cfattach structure, so that devices may be easily attached
to parents with different autoconfiguration semantics.
 1.32  08-Mar-1996  cgd convert to use I/O mapping/access macros in <machine/bus.h>.
Mostly mechanical changes, except for probe/attach, which have
to map (and, in the case of probe, unmap) the I/O space that the
chip will use.
 1.31  24-Dec-1995  mycroft The IST_* and IPL_* constants are not bus-specific; don't treat them as such.
Change splimp -> splnet in Ethernet, ARCnet, and FDDI drivers.
 1.30  17-Apr-1995  cgd clean up several ISA device interfaces: autoconfiguration, header
inclusion, and interrupt configuration. more work still needs to be done,
but it's getting better...
 1.29  29-Jan-1995  cgd lip service to making ISA support machine-independent. This is the first
round: moving the drivers into a machine-independent directory.
Some drivers (e.g. fd.c) not moved because they use other pc features (e.g.
CMOS settings), and none of the non-driver files moved, because they're
still pretty much PC specific. eventually (when other ports with ISA
busses really start using this code), more 'high-level' ISA support will
live here.
 1.28  26-Jan-1995  mycroft Don't check the control port at all; too unreliable.
 1.27  22-Jan-1995  mycroft Rearrange tests so `offline' has higher priority than `out of paper'.
 1.26  03-Jan-1995  mycroft Add interrupt sharing types.
 1.25  18-Nov-1994  mycroft Convert port, IRQ, and DRQ numbers to ints.
 1.24  30-Oct-1994  cgd be more careful with types, also pull in headers where necessary.
 1.23  27-Oct-1994  cgd new RCS ID format.
 1.22  16-Jun-1994  mycroft branches: 1.22.2;
b_un.b_addr -> b_data
 1.21  27-May-1994  mycroft Only print the blasted messages *once* per error.
 1.20  23-May-1994  cgd turn off spontaneous printing of messages when DEBUG turned on
 1.19  05-May-1994  mycroft Remove now-bogus cast.
 1.18  05-May-1994  cgd lots of changes: prototype migration, move lots of variables, definitions,
and structure elements around. kill some unnecessary type and macro
definitions. standardize clock handling. More changes than you'd want.
 1.17  22-Apr-1994  mycroft Don't need isa.h.
 1.16  07-Apr-1994  mycroft Implement dynamic IRQ configuration and IRQ sharing. Inline spl*() calls.
Reorganize and clean up the relevant code.
 1.15  29-Mar-1994  mycroft Updates for new autoconfig.
 1.14  06-Mar-1994  mycroft DELAY() --> delay(). This is not a macro.
 1.13  19-Feb-1994  mycroft Speed it up a little...
 1.12  19-Feb-1994  mycroft Minor tweak of no importance.
 1.11  18-Feb-1994  mycroft Combined version from magnum branch. Somewhat faster and less buggy.
 1.10  09-Feb-1994  mycroft All ioctl routines take a struct proc * now.
 1.9  20-Dec-1993  mycroft Canonicalize all #includes, and add pio.h where appropriate.
 1.8  28-Sep-1993  cgd get rid of stray printfs (turn them into "lprintf"s)
 1.7  17-Jul-1993  mycroft branches: 1.7.4;
Make these files GCC 2 happy.
 1.6  15-Jun-1993  mycroft Ignore interrupts if the device isn't open. This prevents stray interrupts
from hosing the works. What a stupid architecture.
 1.5  05-Jun-1993  cgd patch from rgrimes to add delay to let data port stabilize, also
make "lpflag" unique to each driver
 1.4  22-May-1993  cgd add include of select.h if necessary for protos, or delete if extraneous
 1.3  18-May-1993  cgd make kernel select interface be one-stop shopping & clean it all up.
 1.2  07-May-1993  cgd fix lpt driver and add lpa driver. from 386bsd pk patch 133
 1.1  21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1  21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.7.4.18  16-Feb-1994  mycroft Avoid two minor race conditions; no real differences.
 1.7.4.17  29-Oct-1993  mycroft Force the printer closed even if the final pushbytes() fails.
 1.7.4.16  29-Oct-1993  mycroft Make sure pushbytes() returns 0 on success.
 1.7.4.15  29-Oct-1993  mycroft Ignore the bottom 3 bits when checking for printer ready.
 1.7.4.14  29-Oct-1993  mycroft Make some debugging code in the probe routines #ifdef DEBUG.
 1.7.4.13  27-Oct-1993  mycroft Add lptforceintr(), but disabled for now. Add some debugging code.
 1.7.4.12  18-Oct-1993  mycroft We can't determine lpt interrupts dynamically.
 1.7.4.11  17-Oct-1993  mycroft When an error occurs, at least say what it is before hanging.
 1.7.4.10  16-Oct-1993  mycroft Add missing dv_class entry to cfdrivers, and use dv_xname where appropriate.
 1.7.4.9  12-Oct-1993  mycroft Minor cleanup.
 1.7.4.8  11-Oct-1993  mycroft #include pio.h where needed, and remove cpufunc.h.
 1.7.4.7  07-Oct-1993  mycroft Don't #include isa.h.
 1.7.4.6  06-Oct-1993  mycroft Finish reformatting. Turn interrupt on or off as appropriate in lptopen().
 1.7.4.5  01-Oct-1993  mycroft #include "machine/cpu.h"
 1.7.4.4  30-Sep-1993  mycroft Change some uses of IRQUNK to IRQNONE. #include isa.h and icu.h.
 1.7.4.3  30-Sep-1993  mycroft clock.c: Remove unnecessary casts.
com.c: Update for new config. Add bis() and bic() macros like BSDI's.
Add comspeed() and tiocm_xxx2mcr() from BSDI.
comreg.h: Add COM_FREQ, COM_TOLERANCE, and COM_NPORTS.
fd.c: Remove casts and clean up fdioctl().
[lm]ms.c: Add necessary gunk to [lm]ms_softc and remove casts.
 1.7.4.2  29-Sep-1993  mycroft lms.c: Update for new config.
lpa.c: Defunct.
lpt.c: Update for new config. Fix handling of interrupted writes. Merge code
from lpa driver. Make all operations interruptible. Remove a few other
bogons.
lptreg.h: Add LPT_NPORTS.
pccons.c: Merge changes from trunk.
 1.7.4.1  14-Sep-1993  mycroft New i386 code.
 1.22.2.1  23-Nov-1994  cgd make sure to do an untimeout. for patch_04
 1.43.10.1  04-Sep-1997  thorpej Update marc-pcmcia branch from trunk.
 1.45.2.3  15-Oct-1997  thorpej Update marc-pcmcia branch from trunk.
 1.45.2.2  14-Oct-1997  thorpej Update marc-pcmcia branch from trunk.
 1.45.2.1  27-Sep-1997  thorpej file lpt.c was added on branch marc-pcmcia on 1997-10-14 10:22:47 +0000
 1.46.2.1  07-Dec-1997  thorpej Pull up from trunk: Use malloc()/free(), not geteblk()/brelse().
 1.55.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.57.6.2  26-Sep-2001  fvdl * add a VCLONED vnode flag that indicates a vnode representing a cloned
device.
* rename REVOKEALL to REVOKEALIAS, and add a REVOKECLONE flag, to pass
to VOP_REVOKE
* the revoke system call will revoke all aliases, as before, but not the
clones
* vdevgone is called when detaching a device, so make it use REVOKECLONE
to get rid of all clones as well
* clean up all uses of VOP_OPEN wrt. locking.
* add a few VOPS to spec_vnops that need to do something when it's a
clone vnode (access and getattr)
* add a copy of the vnode vattr structure of the original 'master' vnode
to the specinfo of a cloned vnode. could possibly redirect getattr to
the 'master' vnode, but this has issues with revoke
* add a vdev_reassignvp function that disassociates a vnode from its
original device, and reassociates it with the specified dev_t. to be
used by cloning devices only, in case a new minor is allocated.
* change all direct references in drivers to v_devcookie and v_rdev
to vdev_privdata(vp) and vdev_rdev(vp). for diagnostic purposes
when debugging race conditions that still exist wrt. locking and
revoking vnodes.
* make the locking state of a vnode consistent when passed to
d_open and d_close (unlocked). locked would be better, but has
some deadlock issues
 1.57.6.1  07-Sep-2001  thorpej Commit my "devvp" changes to the thorpej-devvp branch. This
replaces the use of dev_t in most places with a struct vnode *.

This will form the basic infrastructure for real cloning device
support (besides being architecurally cleaner -- it'll be good
to get away from using numbers to represent objects).
 1.57.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.57.4.1  10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.57.2.4  11-Dec-2002  thorpej Sync with HEAD.
 1.57.2.3  11-Nov-2002  nathanw Catch up to -current
 1.57.2.2  17-Sep-2002  nathanw Catch up to -current.
 1.57.2.1  14-Nov-2001  nathanw Catch up to -current.
 1.58.8.1  16-May-2002  gehenna Add the character device switch.
 1.63.12.1  19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.63.10.1  29-Apr-2005  kent sync with -current
 1.63.2.4  04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.63.2.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.63.2.2  18-Sep-2004  skrll Sync with HEAD.
 1.63.2.1  02-Jul-2003  darrenr Apply the aborted ktrace-lwp changes to a specific branch. This is just for
others to review, I'm concerned that patch fuziness may have resulted in some
errant code being generated but I'll look at that later by comparing the diff
from the base to the branch with the file I attempt to apply to it. This will,
at the very least, put the changes in a better context for others to review
them and attempt to tinker with removing passing of 'struct lwp' through
the kernel.
 1.64.4.6  17-Mar-2008  yamt sync with head.
 1.64.4.5  27-Feb-2008  yamt sync with head.
 1.64.4.4  27-Oct-2007  yamt sync with head.
 1.64.4.3  03-Sep-2007  yamt sync with head.
 1.64.4.2  30-Dec-2006  yamt sync with head.
 1.64.4.1  21-Jun-2006  yamt sync with head.
 1.65.8.1  03-Sep-2006  yamt sync with head.
 1.65.4.1  09-Sep-2006  rpaulo sync with head
 1.66.4.2  10-Dec-2006  yamt sync with head.
 1.66.4.1  22-Oct-2006  yamt sync with head
 1.66.2.1  18-Nov-2006  ad Sync with head.
 1.68.4.1  12-Mar-2007  rmind Sync with HEAD.
 1.69.4.1  11-Jul-2007  mjf Sync with head.
 1.69.2.3  23-Oct-2007  ad Sync with head.
 1.69.2.2  12-Oct-2007  ad Sync with head.
 1.69.2.1  01-Jul-2007  ad Adapt to callout API change.
 1.70.10.1  14-Oct-2007  yamt sync with head.
 1.70.8.2  23-Mar-2008  matt sync with HEAD
 1.70.8.1  06-Nov-2007  matt sync with HEAD
 1.70.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.71.2.1  25-Oct-2007  bouyer Sync with HEAD.
 1.72.16.4  29-Jun-2008  mjf Sync with HEAD.
 1.72.16.3  06-Apr-2008  mjf - after some discussion with agc@ i agreed it would be a good idea to move
device_unregister_* to device_deregister_* to be more like the pmf(9)
functions, especially since a lot of the time the function calls are next
to each other.

- add device_register_name() support for dk(4).
 1.72.16.2  05-Apr-2008  mjf - add "file-system DEVFS" and "pseudo-device devfsctl" to conf/std seeing
as these are always needed.

- convert many, many drivers over to the New Devfs World Order. For a
list of device drivers yet to be converted see,
http://www.netbsd.org/~mjf/devfs-todo.html.

- add a new device_unregister_all(device_t) function to remove all device
names associated with a device_t, which saves us having to construct
device names when the driver is detached.

- add a DEV_AUDIO type for devices.
 1.72.16.1  03-Apr-2008  mjf Sync with HEAD.
 1.72.12.1  24-Mar-2008  keiichi sync with head.
 1.74.8.1  18-Jun-2008  simonb Sync with head.
 1.74.6.1  23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.74.4.2  11-Mar-2010  yamt sync with head
 1.74.4.1  04-May-2009  yamt sync with head.
 1.74.2.1  17-Jun-2008  yamt sync with head.
 1.75.10.1  13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.75.4.1  28-Apr-2009  skrll Sync with HEAD.
 1.78.26.1  18-May-2014  rmind sync with head
 1.78.22.2  03-Dec-2017  jdolecek update from HEAD
 1.78.22.1  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.78.12.1  22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.79.2.1  10-Aug-2014  tls Rebase.
 1.81.4.1  10-Jun-2019  christos Sync with HEAD
 1.81.2.1  06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)

RSS XML Feed