ARM: Orion5x - Restore parts of io.h, with rework
Andrew Lunn
maintainerPATCH v3 1/1 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.
---
v3: Typo's in commit log fixed
ORION5X_PCIE_IO_VIRT_BASE, since it is first in the IO space.
--- arch/arm/Kconfig | 1 + arch/arm/mach-orion5x/include/mach/io.h | 22 ++++++++++++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 arch/arm/mach-orion5x/include/mach/io.h
arch/arm/Kconfig +1 -0
@@ -588,6 +588,7 @@ config ARCH_ORION5X select PCI select ARCH_REQUIRE_GPIOLIB select GENERIC_CLOCKEVENTS + select NEED_MACH_IO_H select PLAT_ORION help Support for the following Marvell Orion 5x series SoCs:
arch/arm/mach-orion5x/include/mach/io.h new file +22 -0
@@ -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
Signature · 1 line
1.7.10
PATCH v3 1/1 ARM: Orion5x - Restore parts of io.h, with rework
Quoted 7 lines · Andrew Lunn
Commit
4d5fc58dbe34b78157c05b319669bb3e064ba8bd(ARM: remove bunch of now unusedmach/io.hfiles) removed the orion5xio.h. Unfortunately, this is still needed for the definition ofIO_SPACE_LIMITwhich overrides the default 64K. All Orion based systems have 1Mbyte of IO space per PCI[e] bus, and try torequest_resource()this size. Orion5x has two such PCI buses.
Quoted 6 lines
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 <[email protected]>
Quoted 49 lines
---
v3: Typo's in commit log fixed
ORION5X_PCIE_IO_VIRT_BASE, since it is first in the IO space.--- arch/arm/Kconfig | 1 + arch/arm/mach-orion5x/include/mach/io.h | 22 ++++++++++++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 arch/arm/mach-orion5x/include/mach/io.harch/arm/Kconfig +1
-0@@ -588,6 +588,7 @@ config ARCH_ORION5X select PCI select ARCH_REQUIRE_GPIOLIB select GENERIC_CLOCKEVENTS + select NEED_MACH_IO_H select PLAT_ORION help Support for the following Marvell Orion 5x series SoCs:arch/arm/mach-orion5x/include/mach/io.h new file +22
-0@@ -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