On Tue, 18 Dec 2001, Jun Sun wrote: > Overall, I still feel using isa_xxx() macros in the driver seems like a > cleaner solution. That essentially treats ISA memory space as a separate It depends on what you want to do. For one isa_xxx() functions/macros do not permit to control caching. > space. The ioremap/readb/writeb approach tries to lump ISA memory and PCI > memory space together but in fact we still have treat them differently (based > on whether the address is greater than 16MB, which is a little hackish.) The problem is a lone address doesn't really tell us what bus is it expected to come from. And practically there are few systems having unrelated I/O buses implemented. I don't know if any of them is supported by Linux. PCI and ISA are historically related, i.e. ISA is usually accessed via a PCI-ISA bridge with a hardwired address mapping. I don't know any system doing it differently -- even Alphas do it this way. The *_resource() functions might help as you may refer to particular resources with them, but I don't think a generic way for a multi-bus system was defined. Maybe the problem needs to be discussed at linux-kernel. It's generic after all. -- + Maciej W. Rozycki, Technical University of Gdansk, Poland + +--------------------------------------------------------------+ + e-mail: macro@ds2.pg.gda.pl, PGP key available +