Jun Sun wrote: > > Has anybody succssfully used pci_assign_unassigned_resources() in latest 2.4? > It was badly broken in early 2.4 kernels while pci_auto was the only > option. In fact, I have used pci_assign_unassigned_resources() from early 2.4 days. The only code I had to supply was fixup of PCI-PCI bridge spaces which was done in pcibios_fixup_bus, something like if(!bus->self) /* Primary busses */ bus->resource[0] = &ioport_resource; bus->resource[1] = &iomem_resource; else /* busses behind PCI-PCI bridges */ for IO, MEM, and PREFETCH spaces: bus->resource[i] = &bus->self->resource[PCI_BRIDGE_RESOURCES+i]; bus->resource[i]->start = bus->parent->resource[i]->start; bus->resource[i]->end = bus->parent->resource[i]->end; bus->resource[i]->flags = bus->parent->resource[i]->flags; bus->resource[i]->name = bus->name; Ah, I had to disable ISA mapping in 2.4.25. After that, pci_assign_unassigned_resources() assigns all resources properly. If for some reason, you have to preserve PBAR's values assigned by a BIOS, setup pci_dev.resource[].parent before invoking pci_assign_unassigned_resources. > > So at most you can only say "pci_assign_unassigned_resources() can > finally does what pci_auto does". :) Exactly. Regards, Gleb.