Ah. Others are working on providing a fix for this too, but it is being
done in the drivers themselves, not in the pci core. Look in the
linux-pci mailing list archives for those patches (I don't think they
every went into mainline for some reason, but I might be wrong...)
I suggest you work with those developers, as they have the same issue
that you are trying to solve here.
I have seen some patches that make the drivers I/O port free here:
http://lkml.org/lkml/2006/2/26/261
I checked and they still aren't in the mainline.
I don't know that it matters though because I see all the disks attached
to the system regardless of whether or not the adapters get I/O space.
The real issue I have is with all the error messages I get at boot. I
see 40+ messages that say "PCI: Failed to allocate I/O
resource..." (from setup-res.c) when the kernel tries to allocate the
I/O space and can't. The modules load fine. I see all the disks just
fine. But that many error messages tends to raise concerns and causes
support calls from customers.