NetBSD/sys/rump/dev/lib
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
..
libaudio
libaudio_ac97
libbpf
libcgd
libdisk
libdm
libdrvctl
libfss
libhdaudio_hdafg
libmd
libmiiphy
libopencrypto
libpad
libpci Merge thorpej-cfargs branch: 2021-04-24 23:36:23 +00:00
libpci_auich
libpci_eap
libpci_hdaudio
libpci_if_iwn
libpci_if_pcn
libpci_if_wm
libpci_usbhc PR/55789: Ruslan Nikolaev: New rump drivers 2020-11-06 15:35:33 +00:00
libpci_virtio
libpud
libputter
libraidframe
librnd
libscsipi
libsysmon
libualea
libubt
libucom
libugenhc Merge thorpej-cfargs branch: 2021-04-24 23:36:23 +00:00
libulpt
libumass
libusb PR/55789: Ruslan Nikolaev: New rump drivers 2020-11-06 15:35:33 +00:00
libvirtio_if_vioif
libvirtio_ld
libvirtio_viornd
libvirtio_vioscsi
libvnd
libwscons
Makefile
Makefile.inc
component_simple.c