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 +
|