diff --git a/sbin/devd/devmatch.conf b/sbin/devd/devmatch.conf index 085338eabca4..a7c27857c0bd 100644 --- a/sbin/devd/devmatch.conf +++ b/sbin/devd/devmatch.conf @@ -1,14 +1,32 @@ -# -# +# Implement the run-time component of devmatch by reacting to nomatch events. # -# Example devd configuration file for automatically -# loading what modules we can based on nomatch -# events. +# Ignore those devices that can't possibly match. When there's neither a +# location, nor a pnpinfo string, we know that there's nothing devmatch can +# match on. When it's only a location, it'd debateable, but for nomatch +# events, we can't disambiguate between the two reliably. +# +nomatch 101 { + match "_" " +at +on .*"; +}; + +# +# Ignore ACPI devices whose _HID is none. These cannot tell us what to load, +# since 'none' is not a valid id. There's no need to call devvmatch for these either. +# +nomatch 101 { + match "_HID" "none"; + match "bus" "acpi[0-9]+"; +}; + # # Generic NOMATCH event +# +# Note: It would be better to have some internal-to-devd action that will do +# what devmatch does without re-parsing loader.hints for each invocation +# nomatch 100 { - action "service devmatch quietstart '?'$_"; + action "service devmatch quietstart $*"; }; # Add the following to devd.conf to prevent this from running: