On Fri, Mar 03, 2006 at 11:42:03AM -0600, Kumar Gala wrote:I was wondering what the proper way to assign and setup a single PCI
device that comes into existence after the system has booted. I have
an FPGA that we load from user space at which time it shows up on the
PCI bus.
Idealy your BIOS would set up this information :)
It has a single BAR and I need to assign it at a fixed address in PCI
MMIO space.
All of the exported interfaces I see have to do with having the
kernel assign the BAR automatically for me.
the following looks like what I want to do:
bus = pci_find_bus(0, 3);
dev = pci_scan_single_device(bus, devfn);
pci_bus_alloc_resource(...);
pci_update_resource(dev, dev->resource[0], 0);
pci_bus_add_devices(bus);
However, pci_update_resource() is not an exported symbol, so I could
replace that code with the need updates to the actual BAR.
Is this the "right" way to go about this or is there a better
mechanism to do this.
Take a look at how the compat pci hotplug driver does this, you probably
just need to do the same as it.