Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 09 Mar 2015 12:01:43 -0400
From:      John Baldwin <jhb@freebsd.org>
To:        freebsd-drivers@freebsd.org
Cc:        =?ISO-8859-1?Q?Mat=EDas?= Perret Cantoni <perretcantonim@gmail.com>
Subject:   Re: load a driver during autoconfiguration
Message-ID:  <5070289.9Ox4kP5ZdP@ralph.baldwin.cx>
In-Reply-To: <CADLKG03WSkbPPWwDkxd3NPa1q0cVP8C0JvA0T=Jwy2=wGv_tiA@mail.gmail.com>

index | next in thread | previous in thread | raw e-mail

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


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5070289.9Ox4kP5ZdP>