Jim Paris wrote:
> How so? See the memory map I just sent in my other mail. Should I be
> adding isa_slot_offset to calls to check/request/release_mem_region?
> Or should I make a isa_{check,request,release}_mem_region that adds
> this in? In which case, doesn't that turn /proc/iomem into a general
> memory map rather than an I/O memory map?
>
My understanding is that it is from PCI memory space perspective. System ram
is mapped at lower range.
> > > 4) it can use ioremap, and then read[bwl] and write[bwl] with the result
> > > - this fails with the current ioremap; neither ioremap nor
> > > read/write[bwl]
> > > take isa_slot_offset into account
> >
> > And that's right because isa_slot_offset is used by the
> > isa_{read,write}[bwl]
> > functions which do not require ioremap having been called before. You're
> > (fortunately ...) using PCI and PCI drivers are required to use ioremap.
>
> No, I'm not using PCI, but it's calling ioremap anyway. So, yes, I
> suppose I could change the driver to not call ioremap and use
> isa_{read,write}[bwl] (since doing both adds KSEG1 twice).
> But why shouldn't ioremap + {read,write}[bwl] also work?
> If it did, I wouldn't have to touch the driver.
It seems like the driver assumes the ISA device is accessed through a PCI bus,
in which case the code would work.
Jun
|