summaryrefslogtreecommitdiff
path: root/arch/mips/include/asm/global_data.h
diff options
context:
space:
mode:
authorPaul Burton <paul.burton@imgtec.com>2016-01-29 13:54:52 +0000
committerDaniel Schwierzeck <daniel.schwierzeck@gmail.com>2016-02-01 22:13:25 +0100
commit05e342554e51767830d7e60f2dab09192fd2a0e1 (patch)
treecabb4ea65f984769ddf00424672ac08bdaf1c161 /arch/mips/include/asm/global_data.h
parent8ac493cd65ea2af5f9b79f7f71edf543b46da112 (diff)
MIPS: Support dynamic I/O port base address
The existing mips_io_port_base variable isn't suitable for use early during boot since it will be stored in the .data section which may not be writable pre-relocation. Fix this by moving the I/O port base address into struct arch_global_data. In order to avoid adding this field for all targets, make this dependant upon a new Kconfig entry CONFIG_DYNAMIC_IO_PORT_BASE. Malta is the only board which sets a non-zero I/O port base, so select this option only for Malta. Signed-off-by: Paul Burton <paul.burton@imgtec.com>
Diffstat (limited to 'arch/mips/include/asm/global_data.h')
-rw-r--r--arch/mips/include/asm/global_data.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/mips/include/asm/global_data.h b/arch/mips/include/asm/global_data.h
index 2d9a0c9e75..a1ca257db5 100644
--- a/arch/mips/include/asm/global_data.h
+++ b/arch/mips/include/asm/global_data.h
@@ -12,6 +12,9 @@
/* Architecture-specific global data */
struct arch_global_data {
+#ifdef CONFIG_DYNAMIC_IO_PORT_BASE
+ unsigned long io_port_base;
+#endif
#ifdef CONFIG_JZSOC
/* There are other clocks in the jz4740 */
unsigned long per_clk; /* Peripheral bus clock */