diff options
author | Andrew Lunn <andrew@lunn.ch> | 2012-06-22 20:57:57 +0200 |
---|---|---|
committer | Olof Johansson <olof@lixom.net> | 2012-06-23 16:18:17 -0700 |
commit | b5e12229a4850ae9b19ee5252508749da8844b3c (patch) | |
tree | 0f50e883e363ed48056543ab6a4a1b398fae38ac /arch/arm/mach-orion5x | |
parent | a34a3b7264fdb40c8d4be8bebb38fd56dc48d162 (diff) | |
download | op-kernel-dev-b5e12229a4850ae9b19ee5252508749da8844b3c.zip op-kernel-dev-b5e12229a4850ae9b19ee5252508749da8844b3c.tar.gz |
ARM: Orion5x - Restore parts of io.h, with rework
Commit 4d5fc58dbe34b78157c05b319669bb3e064ba8bd (ARM: remove bunch of
now unused mach/io.h files) removed the orion5x io.h. Unfortunately,
this is still needed for the definition of IO_SPACE_LIMIT which
overrides the default 64K. All Orion based systems have 1Mbyte of IO
space per PCI[e] bus, and try to request_resource() this size. Orion5x
has two such PCI buses.
It is likely that the original, removed version, was broken. This
version might be less broken. However, it has not been tested on
hardware with a PCI card, let alone hardware with a PCI card with IO
capabilities.
Signed-off-by: Andrew Lunn <andrew@lunn.ch>
Acked-by: Rob Herring <rob.herring@calxeda.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
Diffstat (limited to 'arch/arm/mach-orion5x')
-rw-r--r-- | arch/arm/mach-orion5x/include/mach/io.h | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/arch/arm/mach-orion5x/include/mach/io.h b/arch/arm/mach-orion5x/include/mach/io.h new file mode 100644 index 0000000..1aa5d0a --- /dev/null +++ b/arch/arm/mach-orion5x/include/mach/io.h @@ -0,0 +1,22 @@ +/* + * arch/arm/mach-orion5x/include/mach/io.h + * + * This file is licensed under the terms of the GNU General Public + * License version 2. This program is licensed "as is" without any + * warranty of any kind, whether express or implied. + */ + +#ifndef __ASM_ARCH_IO_H +#define __ASM_ARCH_IO_H + +#include <mach/orion5x.h> +#include <asm/sizes.h> + +#define IO_SPACE_LIMIT SZ_2M +static inline void __iomem *__io(unsigned long addr) +{ + return (void __iomem *)(addr + ORION5X_PCIE_IO_VIRT_BASE); +} + +#define __io(a) __io(a) +#endif |