How to "detach" a foreign driver from a device so my driver can attach?

Andre Albsmeier Andre.Albsmeier at siemens.com
Tue Dec 16 15:20:35 PST 2008


Hello all,

I am writing a driver which attaches to the Host-PCI bridge. When
compiled into the kernel or loaded by the loader everything works
and the driver gets attached. This is due to the fact that I return
BUS_PROBE_SPECIFIC in my probe routine which gains over the -10000
returned by pci_hostb_probe() in i386/pci/pci_bus.c.

However, when I want to load my driver via kldload this fails since
the hostb device has already been attached during kernel load (when
my driver was not present):

hostb0 at pci0:0:0:    class=0x060000 card=0x11d510cf chip=0x35808086 rev=0x02 hdr=0x00

What can I do to make my driver load via kldload?
Is there a way to detach the hostb0 from the Host-PCI bridge?
I have been digging around in the sources but didn't find
something similar.

In case of any hints, please CC me since I am currently travelling
and can't easily read the lists at home...

Thanks,

	-Andre


More information about the freebsd-hackers mailing list