asm-generic/io.h: Fix ioport_map() for !CONFIG_GENERIC_IOMAP
The !CONFIG_GENERIC_IOMAP version of ioport_map() is wrong. It returns a mapped, i.e., virtual, address that can start from zero and completely ignores the PCI_IOBASE and IO_SPACE_LIMIT that most architectures that use !CONFIG_GENERIC_MAP define. Tested-by: Tanmay Inamdar <tinamdar@apm.com> Signed-off-by: Liviu Dudau <Liviu.Dudau@arm.com> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Reviewed-by: Catalin Marinas <catalin.marinas@arm.com> Acked-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
parent
52addcf9d6
commit
112eeaa7f8
|
@ -331,7 +331,7 @@ static inline void iounmap(void __iomem *addr)
|
||||||
#ifndef CONFIG_GENERIC_IOMAP
|
#ifndef CONFIG_GENERIC_IOMAP
|
||||||
static inline void __iomem *ioport_map(unsigned long port, unsigned int nr)
|
static inline void __iomem *ioport_map(unsigned long port, unsigned int nr)
|
||||||
{
|
{
|
||||||
return (void __iomem *) port;
|
return PCI_IOBASE + (port & IO_SPACE_LIMIT);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void ioport_unmap(void __iomem *p)
|
static inline void ioport_unmap(void __iomem *p)
|
||||||
|
|
Loading…
Reference in a new issue