load a driver during autoconfiguration
John Baldwin
jhb at freebsd.org
Mon Mar 9 17:24:21 UTC 2015
On Friday, March 06, 2015 04:15:22 PM Matías Perret Cantoni wrote:
> Hello!
>
> I just wrote a simple newbus driver that works just fine when I load it
> manually with kldload(8).
>
> Now I'd like the system to load it automatically at boot time. I've already
> added the corresponding node on the dts file.
>
> So my questions are:
>
> Can I just place the driver under some directory so that the system can
> probe it during auto-configuration?
>
> Or do I need to re-compile the whole kernel for this? In that case where
> should I place my sources before compiling?
One option is to always load the driver using an entry in loader.conf or in
the kld_list variable in /etc/rc.conf. Another option to do on-demand loading
is to write a custom devd handler. You can find some examples in
/etc/devd/usb.conf (note that that file is auto-generated). I'm not sure what
is output for a nomatch entry for an fdt bus. For devices that appear at
runtime you can run 'cat /var/run/devd.pipe' in a window to see event details
to use to write your match rule. However, for boot time events I think you
will need to resort to looking at the code to decipher what variables are
passed that you want to match on.
--
John Baldwin
More information about the freebsd-drivers
mailing list