Reprobing of devices after module load?

Paul B. Mahol onemda at gmail.com
Mon Nov 21 18:42:12 UTC 2011


On 11/21/11, John Baldwin <jhb at freebsd.org> wrote:
> On Friday, November 18, 2011 11:48:20 am Paul B. Mahol wrote:
>> Hi,
>>
>> Is there nice way in FreeBSD to force reprobe of devices for specific
>> driver like it is done when kernel module is loaded (via
>> DRIVER_MODULE(...) stuff)?
>
> Note that those probes happen for specific buses rather than for specific
> drivers.  The routine that does this currently is static
> (devclass_driver_added() in sys/kern/subr_bus.c).  What specific problem are
> you trying to solve?  You might be able to use BUS_DRIVER_ADDED() or
> device_probe_and_attach() to achieve what you are trying to do.

I have changed NDISulator to load 3rd party *.SYS from userspace
via ioctl on /dev/ndis.

For now i can do reprobe by reloading if_ndis.ko module.
Loading if_ndis.ko ideally should not cause reprobe but reprobe
should be done after ioctl on /dev/ndis.

Perhaps devclass_add_driver from sys/kern/subr_bus can do this?


More information about the freebsd-current mailing list