sh: fix ioreadN_rep and iowriteN_rep
authorMagnus Damm <magnus.damm@gmail.com>
Thu, 14 Feb 2008 04:59:02 +0000 (13:59 +0900)
committerPaul Mundt <lethal@linux-sh.org>
Thu, 14 Feb 2008 05:25:37 +0000 (14:25 +0900)
commitc0ca41a27ef40fbe6d5fe343b61d63d7e1b93d28
tree74a2f477952051693e80ea5f66a15ac6c52204a5
parente036eaa681a17f71b64f6d9040fe605555623919
sh: fix ioreadN_rep and iowriteN_rep

This patch is a fix to make sure readsN/writesN are used over insN/outsN for
ioreadN_rep/iowriteN_rep.

The current state of the sh io code is that mmio operations like readN/writeN
and ioreadN/iowriteN are unaffected by the value of generic_io_base. This is
different fom port based io like inN/outN which gets adjusted using the value
in generic_io_base.

Without this patch ioreadN_rep/iowriteN_rep get their addresses adjusted.
The address for mmio access is adjusted using generic_io_base. This is wrong.
The ata core code currently crashes if generic_io_base is set.

This patch changes ioreadN_rep/iowriteN_rep to follow the same rules as the
rest of the mmio operations, ie don't adjust using generic_io_base.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Acked-by: Katsuya MATSUBARA <matsu@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
include/asm-sh/io.h