Skip to content

Commit b5e1222

Browse files
lunnolofj
authored andcommitted
ARM: Orion5x - Restore parts of io.h, with rework
Commit 4d5fc58 (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 <[email protected]> Acked-by: Rob Herring <[email protected]> Signed-off-by: Olof Johansson <[email protected]>
1 parent a34a3b7 commit b5e1222

File tree

2 files changed

+23
-0
lines changed

2 files changed

+23
-0
lines changed

arch/arm/Kconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -589,6 +589,7 @@ config ARCH_ORION5X
589589
select PCI
590590
select ARCH_REQUIRE_GPIOLIB
591591
select GENERIC_CLOCKEVENTS
592+
select NEED_MACH_IO_H
592593
select PLAT_ORION
593594
help
594595
Support for the following Marvell Orion 5x series SoCs:
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
/*
2+
* arch/arm/mach-orion5x/include/mach/io.h
3+
*
4+
* This file is licensed under the terms of the GNU General Public
5+
* License version 2. This program is licensed "as is" without any
6+
* warranty of any kind, whether express or implied.
7+
*/
8+
9+
#ifndef __ASM_ARCH_IO_H
10+
#define __ASM_ARCH_IO_H
11+
12+
#include <mach/orion5x.h>
13+
#include <asm/sizes.h>
14+
15+
#define IO_SPACE_LIMIT SZ_2M
16+
static inline void __iomem *__io(unsigned long addr)
17+
{
18+
return (void __iomem *)(addr + ORION5X_PCIE_IO_VIRT_BASE);
19+
}
20+
21+
#define __io(a) __io(a)
22+
#endif

0 commit comments

Comments
 (0)