Jeff Garzik [mailto:jgarzik@mandrakesoft.com] wrote:> > If there is something incorrect in what I wrote, please let > me know. I am> > not sure that the lines about> > check_region()/request_region()/release_region() are > correct, there don't> > seem to be any PCI drivers doing this. I included it > because Jeff Garzik and> > Martin Mares both said it was needed.> > I don't know what the general intent of pci.txt is, only Martin can> answer that. Your addition IMHO seems like it belongs in a new> 'drivers.txt' not specifically pci.txt, because a lot of the text> applies to all architectures.

I don't know how much may apply to other systems.

> Martin already added a pointer to IO-mapping.txt in recent kernels.> > And, small error in your text, there is no base_address[] in 2.3.x> kernels.

Damn it! The name appears to have changed between 2.2 and 2.3.

In pci.h the struct in 2.2.13 (and I would assume later) had

unsigned long base_address[6]

which cooresponded to the various PCI Base Address Registers.

Looking in the 2.3.24, I see that the name has changed. I assume that theequivilent is somewhere buried in struct resource resource[].

I have no clue as to why this would have changed. It never came up duringany of the discussion (subject: Specifying properly the PCI driver model onall linux ...) where I collected most of this information.

Why did this change, and what was wrong with the old base_address[] array?Since every PCI driver is supposed to get the address from this field, Ithink this is a legitimate question.