On Sun, 10 Oct 2004, Geert Uytterhoeven wrote:
Ralf, or anyone else, any suggestions on how to get a patch like the one below accepted in 2.6? It's needed due to the 36 bit address of the pcmcia controller on the Au1x CPUs.
Perhaps you can ask the PPC people? Book E PPC has 36-bit I/O as well.
Using 36-bit pointers for PCMCIA seems questionable to me -- does the bus
support such wide addresses?
Sort of. The internal CPU bus has a 36 bit chip select. You never see the 36 bit phys address on the bus, but the PCI, external LCD, and pcmcia addresses are 36 bit. That's the reason for the 36 bit I/O address patch I sent last night.
If not, why not use a data type that covers
valid offsets only when passing addresses to bus access functions?
The attribute and memory pcmcia addresses are just stored in these variables, and then the upper pcmcia stack layer calls ioremap on these addresses. Thus, you need the 36 bit I/O address patch, as well as the tiny pcmcia patch.
The pcmcia I/O address is ioremapped at the socket driver level. If that was the case with the mem and attribute addresses, I wouldn't need this 64 bit pcmcia patch. But since it's the upper pcmcia layer that ioremaps these addresses, I need to store tham in 64 bit types.
Pete