Maciej W. Rozycki wrote:
On Sun, 10 Oct 2004, Pete Popov wrote:
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.
OK, but then phys_t should be used for ioaddr_t universally, shouldn't
it? Any architecture can have the controller seen in a 64-bit memory
space, after all.
Perhaps, but when I tried that in 2.4, I got rejected. Matt had an idea
that works for both, mips and ppc, since the 36 bit fixup_bigphys_addr
routine is very similar. I think I'll pursue that instead, since we
already have that routine as part of the pci address support. Thus, I
won't have to make pcmcia changes to common files, and no more
64bit_pcmcia.patch hanging around in my directory.