Gleb O. Raiko wrote:
Could somebody, please, explain me what arch/mips/pci* stuff is for? My
understanding is drivers/pci code shall setup everything except proper
placing in PCI MEM/IO spaces and irqs. The code in arch/mips/pci*
contains much more.
Anyway, drivers/pci code provides enough fixup interface, doesn't it ?
BTW, if the code in arch/mips/pci* is really required how about
fine-grained placing, like in sparc64?
I assume you're talking about the new arch/mips/kernel/pci* code? Yes, there's
is duplication in arch/mips/kernel/pci.c and what's in drivers/pci. However,
there wasn't a single complete function for mips that would get the job done.
The result was that every single board with pci support did its own thing and it
was getting ugly very quickly. Just search through all the embedded boards
directories and you'll see what I'm talking about. The other important new file
is arch/mips/kernel/pci_auto.c. If you enable pci auto in config.in, the pci
resources will be assigned by pci_auto.c. Thus, you don't need to rely on boot
code to do that anymore, which I think is a good thing.