NetBSD/sys/dev
thorpej 2685996b0e 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?).
2021-04-24 23:36:23 +00:00
..
acpi Merge thorpej-cfargs branch: 2021-04-24 23:36:23 +00:00
adb Merge thorpej-cfargs branch: 2021-04-24 23:36:23 +00:00
altmem
apm Use sel{record,remove}_knote(). 2020-12-19 01:18:58 +00:00
arcbios
ata Merge thorpej-cfargs branch: 2021-04-24 23:36:23 +00:00
audio Merge thorpej-cfargs branch: 2021-04-24 23:36:23 +00:00
bi Merge thorpej-cfargs branch: 2021-04-24 23:36:23 +00:00
bluetooth Merge thorpej-cfargs branch: 2021-04-24 23:36:23 +00:00
bus_dma Fix some more uvm.h cleanup fallout. 2020-09-06 15:27:22 +00:00
cadence Use prop_data_value (not prop_data_data_nocopy) 2020-06-28 12:43:00 +00:00
cardbus Merge thorpej-cfargs branch: 2021-04-24 23:36:23 +00:00
clk
dec Merge thorpej-cfargs branch: 2021-04-24 23:36:23 +00:00
dkwedge Misc style fixes. No binary changes. 2021-02-20 09:51:20 +00:00
dm Adapt to proplib API chanages. 2020-07-08 15:07:13 +00:00
dmover
drm
dtv
ebus
eisa Merge thorpej-cfargs branch: 2021-04-24 23:36:23 +00:00
fdt Merge thorpej-cfargs branch: 2021-04-24 23:36:23 +00:00
flash Merge thorpej-cfargs branch: 2021-04-24 23:36:23 +00:00
gpib Merge thorpej-cfargs branch: 2021-04-24 23:36:23 +00:00
gpio Merge thorpej-cfargs branch: 2021-04-24 23:36:23 +00:00
hdaudio Merge thorpej-cfargs branch: 2021-04-24 23:36:23 +00:00
hdmicec
hid Merge thorpej-cfargs branch: 2021-04-24 23:36:23 +00:00
hil Merge thorpej-cfargs branch: 2021-04-24 23:36:23 +00:00
hpc Merge thorpej-cfargs branch: 2021-04-24 23:36:23 +00:00
hyperv Merge thorpej-cfargs branch: 2021-04-24 23:36:23 +00:00
i2c Merge thorpej-cfargs branch: 2021-04-24 23:36:23 +00:00
i2o Merge thorpej-cfargs branch: 2021-04-24 23:36:23 +00:00
ic Merge thorpej-cfargs branch: 2021-04-24 23:36:23 +00:00
ieee1394 Merge thorpej-cfargs branch: 2021-04-24 23:36:23 +00:00
ir Use sel{record,remove}_knote(). 2020-12-19 01:18:58 +00:00
isa Merge thorpej-cfargs branch: 2021-04-24 23:36:23 +00:00
isapnp Merge thorpej-cfargs branch: 2021-04-24 23:36:23 +00:00
iscsi Merge thorpej-cfargs branch: 2021-04-24 23:36:23 +00:00
marvell Merge thorpej-cfargs branch: 2021-04-24 23:36:23 +00:00
mca Merge thorpej-cfargs branch: 2021-04-24 23:36:23 +00:00
microcode No longer depend on libl. 2020-06-29 06:39:38 +00:00
mii Merge thorpej-cfargs branch: 2021-04-24 23:36:23 +00:00
mscp Merge thorpej-cfargs branch: 2021-04-24 23:36:23 +00:00
mvme Merge thorpej-cfargs branch: 2021-04-24 23:36:23 +00:00
nand Merge thorpej-cfargs branch: 2021-04-24 23:36:23 +00:00
news
nor Merge thorpej-cfargs branch: 2021-04-24 23:36:23 +00:00
nvmm be sure to only access vcpu if it was initialised. 2021-04-12 09:22:58 +00:00
ofisa Merge thorpej-cfargs branch: 2021-04-24 23:36:23 +00:00
ofw Merge thorpej-cfargs branch: 2021-04-24 23:36:23 +00:00
onewire Merge thorpej-cfargs branch: 2021-04-24 23:36:23 +00:00
pad
pci Merge thorpej-cfargs branch: 2021-04-24 23:36:23 +00:00
pckbport Merge thorpej-cfargs branch: 2021-04-24 23:36:23 +00:00
pcmcia Merge thorpej-cfargs branch: 2021-04-24 23:36:23 +00:00
podulebus Merge thorpej-cfargs branch: 2021-04-24 23:36:23 +00:00
ppbus Merge thorpej-cfargs branch: 2021-04-24 23:36:23 +00:00
pud
putter Use sel{record,remove}_knote(). 2020-12-18 02:54:34 +00:00
pwm
qbus Merge thorpej-cfargs branch: 2021-04-24 23:36:23 +00:00
raidframe mark an extremely uncommon, but sometimes seen, log message 2021-04-11 01:41:12 +00:00
rasops Remove pointless cast; dp is already uint32_t *. 2020-07-02 07:49:44 +00:00
rcons s/depreciated/deprecated/g 2021-03-24 05:00:24 +00:00
sbus Merge thorpej-cfargs branch: 2021-04-24 23:36:23 +00:00
scsipi Merge thorpej-cfargs branch: 2021-04-24 23:36:23 +00:00
sdmmc Merge thorpej-cfargs branch: 2021-04-24 23:36:23 +00:00
smbus
spi Merge thorpej-cfargs branch: 2021-04-24 23:36:23 +00:00
splash
stbi
std Merge thorpej-cfargs branch: 2021-04-24 23:36:23 +00:00
sun Merge thorpej-cfargs branch: 2021-04-24 23:36:23 +00:00
sysmon Use sel{remove,record}_knote(). 2020-12-18 01:46:39 +00:00
tc Merge thorpej-cfargs branch: 2021-04-24 23:36:23 +00:00
tprof tprof: Use percpu rather than a MAXCPUS-element array. 2020-11-27 20:10:25 +00:00
usb Merge thorpej-cfargs branch: 2021-04-24 23:36:23 +00:00
videomode
virtio Add virtio mmio probe function 2021-02-05 21:25:36 +00:00
vme Merge thorpej-cfargs branch: 2021-04-24 23:36:23 +00:00
vmt Removed little endian dependencies. 2021-03-27 21:23:14 +00:00
wscons add an ioctl() to get a list of fonts currently available via wsfont 2021-04-24 00:15:37 +00:00
wsfb Merge thorpej-cfargs branch: 2021-04-24 23:36:23 +00:00
wsfont add an ioctl() to get a list of fonts currently available via wsfont 2021-04-24 00:15:37 +00:00
xmi Merge thorpej-cfargs branch: 2021-04-24 23:36:23 +00:00
bio.c malloc(9) -> kmem(9) 2020-12-19 01:12:21 +00:00
biovar.h
ccd.c Fix ioctl locking. Add dkdriver. 2020-10-06 18:45:23 +00:00
ccdvar.h
cgd_crypto.c Split aes_cbc_* and aes_xts_* into their own header files. 2020-07-25 22:14:35 +00:00
cgd_crypto.h cgd(4): Align IVs on the stack. 2020-06-29 23:36:06 +00:00
cgd.c Fix whitespace. 2020-08-01 02:15:49 +00:00
cgdvar.h Constify. 2020-06-13 22:15:57 +00:00
clock_subr.c
clock_subr.h
clockctl.c
cninit.c cninit - don't reset cn_tab on entry. 2020-07-29 01:55:58 +00:00
cons.c
cons.h
dev_verbose.c
dev_verbose.h DEV_VERBOSE_DEFINE - use MODULE_CLASS_DRIVER to match the definition. 2020-08-11 12:10:10 +00:00
devlist2h.awk
DEVNAMES add rge 2021-03-01 18:18:39 +00:00
dksubr.c dk_start(): retry device-dependent start() routine later, also when it 2021-04-15 00:32:50 +00:00
dkvar.h
files.audio
files.dev
firmload.c
firmload.h
fss.c Check the return value of device_lookup_private against NULL. 2020-12-26 14:50:50 +00:00
fssvar.h
ipmi.c ipmi(4): Fixed a bug that incorrect condition is notified. 2020-08-17 08:34:36 +00:00
ipmivar.h
keylock.c
keylock.h
kloader.c Round of uvm.h cleanup. 2020-09-05 16:30:10 +00:00
kloader.h
kttcp.c
kttcpio.h
ld.c Remove unnecessary wait in ldbegindetach. 2020-08-02 01:17:56 +00:00
ldvar.h Remove unnecessary wait in ldbegindetach. 2020-08-02 01:17:56 +00:00
led.c
led.h
lockstat.c
lockstat.h
Makefile Use HAVE_NVMM for nvmm headers 2020-09-27 11:57:28 +00:00
md_root.c
md.c
md.h
midi_if.h
midi.c Merge thorpej-cfargs branch: 2021-04-24 23:36:23 +00:00
midictl.c
midictl.h
midisyn.c
midisynvar.h
midivar.h
mm.c
mm.h
nullcons_subr.c
radio_if.h
radio.c Merge thorpej-cfargs branch: 2021-04-24 23:36:23 +00:00
random.c /dev/random: Fix nonblocking read. 2021-01-13 23:54:21 +00:00
sequencer.c Use sel{record,remove}_knote(). 2020-12-19 01:18:58 +00:00
sequencervar.h
spkr_audio.c Rework about the rest note in speaker(4). 2021-04-03 04:10:30 +00:00
spkr.c Merge thorpej-cfargs branch: 2021-04-24 23:36:23 +00:00
spkrio.h
spkrvar.h Rework about the rest note in speaker(4). 2021-04-03 04:10:30 +00:00
veriexec.c
veriexec.config
video_if.h
video.c Merge thorpej-cfargs branch: 2021-04-24 23:36:23 +00:00
vnd.c Provide a default preferred I/O size. 2021-04-11 18:18:39 +00:00
vndvar.h