Even if they were exported, you couldn't.
lib/iomap.c is _not_ generic code. It's a library function for
architectures that don't do it some other way. But various architectures
can choose to not use lib/iomap.c at all - for example, they may have MMIO
and PIO in the same address space, so they don't need the conditionals at
all (because all the work was done at mapping time, not at runtime).
So if you actually have different models of operation for PIO and MMIO,
then yes, you need to handle that in the driver itself.
Linus
--