On Tue, 18 Dec 2001, Jim Paris wrote: > So I should modify ioremap to return (addr+isa_slot_offset) when > CONFIG_ISA is defined and the given I/O address is in the 16 MB ISA > range. That will make things work according to Linus' description of > how they should. Yep. > Okay, point. So the i82365 driver is at fault when it calls > check_mem_region(ISA_address). How should I fix that? Should it > call check_mem_region(ioremap(ISA_address)) instead? Hmm, it looks no ISA device driver bothers to handle iomem resources. I believe check_mem_region(virt_to_phys(ioremap(ISA_address)), ...) should work, but I haven't checked. Note that you should probably look at the *_resource() functions (as declared in <linux/ioport.h>) as *_region() ones seem to be doomed obsolete. > Or should /proc/iomap contain physical addresses, which the i82365 > driver has no way of knowing without breaking abstractions? (And if > that's the case, how should I do it? Create isa_check_mem_region?) /proc/iomem (I suppose it is what you meant) does contain physical addresses. -- + Maciej W. Rozycki, Technical University of Gdansk, Poland + +--------------------------------------------------------------+ + e-mail: macro@ds2.pg.gda.pl, PGP key available +