Alchemy PCMCIA IO lies outside the 32bit address space and needs to be ioremapped to be accessible. The resulting address is then fed as IO-port base to all PCMCIA client drivers attached to a particular socket. pata_pcmcia does devm_ioport_map() on the port address, which returns errors because MIPS' ioport_map() implementation rejects incoming port addresses which are not within the 0..64k window. Other embedded architectures don't bother with a check like this; this patch brings MIPS in line and in turn makes pata_pcmcia work on all my Alchemy systems (and doesn't break PCI). Signed-off-by: Manuel Lauss <manuel.lauss@xxxxxxxxxxxxxx> --- arch/mips/lib/iomap.c | 3 --- 1 files changed, 0 insertions(+), 3 deletions(-) diff --git a/arch/mips/lib/iomap.c b/arch/mips/lib/iomap.c index e3acb2d..5139fa6 100644 --- a/arch/mips/lib/iomap.c +++ b/arch/mips/lib/iomap.c @@ -210,9 +210,6 @@ static void __iomem *ioport_map_legacy(unsigned long port, unsigned int nr) void __iomem *ioport_map(unsigned long port, unsigned int nr) { - if (port > PIO_MASK) - return NULL; - return ioport_map_legacy(port, nr); } -- 1.7.7.1