aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2013-03-12 12:00:03 -0400
committerArnd Bergmann <arnd@arndb.de>2013-03-12 12:39:02 -0400
commit5447521094b2948ee96aa61e110e3955ad88057c (patch)
tree414b7007790694cabedc23d6a7cd9dca39471a2d
parent17dd1094e49199c1b681e0dcd337547dbb2e3270 (diff)
ARM: spear: unify mach/generic.h and mach/irqs.h
These are indeed easy to combine, as there are no conflicting definitions in generic.h, and irqs.h will be obsolete once we enable SPARSE_IRQ. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
-rw-r--r--arch/arm/mach-spear13xx/include/mach/generic.h21
-rw-r--r--arch/arm/mach-spear13xx/include/mach/irqs.h23
-rw-r--r--arch/arm/mach-spear3xx/include/mach/generic.h42
-rw-r--r--arch/arm/mach-spear3xx/include/mach/irqs.h24
-rw-r--r--arch/arm/mach-spear3xx/spear320.c1
-rw-r--r--arch/arm/mach-spear3xx/spear3xx.c4
-rw-r--r--arch/arm/mach-spear6xx/include/mach/generic.h47
-rw-r--r--arch/arm/mach-spear6xx/include/mach/irqs.h22
8 files changed, 146 insertions, 38 deletions
diff --git a/arch/arm/mach-spear13xx/include/mach/generic.h b/arch/arm/mach-spear13xx/include/mach/generic.h
index 633e678e01a3..af47d9b0d83d 100644
--- a/arch/arm/mach-spear13xx/include/mach/generic.h
+++ b/arch/arm/mach-spear13xx/include/mach/generic.h
@@ -1,9 +1,8 @@
1/* 1/*
2 * arch/arm/mach-spear13xx/include/mach/generic.h 2 * spear machine family generic header file
3 * 3 *
4 * spear13xx machine family generic header file 4 * Copyright (C) 2009-2012 ST Microelectronics
5 * 5 * Rajeev Kumar <rajeev-dlh.kumar@st.com>
6 * Copyright (C) 2012 ST Microelectronics
7 * Viresh Kumar <viresh.linux@gmail.com> 6 * Viresh Kumar <viresh.linux@gmail.com>
8 * 7 *
9 * This file is licensed under the terms of the GNU General Public 8 * This file is licensed under the terms of the GNU General Public
@@ -15,22 +14,30 @@
15#define __MACH_GENERIC_H 14#define __MACH_GENERIC_H
16 15
17#include <linux/dmaengine.h> 16#include <linux/dmaengine.h>
17#include <linux/amba/pl08x.h>
18#include <linux/init.h>
18#include <asm/mach/time.h> 19#include <asm/mach/time.h>
19 20
20/* Add spear13xx structure declarations here */
21extern void spear13xx_timer_init(void); 21extern void spear13xx_timer_init(void);
22extern void spear3xx_timer_init(void);
22extern struct pl022_ssp_controller pl022_plat_data; 23extern struct pl022_ssp_controller pl022_plat_data;
24extern struct pl08x_platform_data pl080_plat_data;
23extern struct dw_dma_platform_data dmac_plat_data; 25extern struct dw_dma_platform_data dmac_plat_data;
24extern struct dw_dma_slave cf_dma_priv; 26extern struct dw_dma_slave cf_dma_priv;
25extern struct dw_dma_slave nand_read_dma_priv; 27extern struct dw_dma_slave nand_read_dma_priv;
26extern struct dw_dma_slave nand_write_dma_priv; 28extern struct dw_dma_slave nand_write_dma_priv;
29bool dw_dma_filter(struct dma_chan *chan, void *slave);
27 30
28/* Add spear13xx family function declarations here */
29void __init spear_setup_of_timer(void); 31void __init spear_setup_of_timer(void);
32void __init spear3xx_clk_init(void);
33void __init spear3xx_map_io(void);
34void __init spear3xx_dt_init_irq(void);
35void __init spear6xx_clk_init(void);
30void __init spear13xx_map_io(void); 36void __init spear13xx_map_io(void);
31void __init spear13xx_l2x0_init(void); 37void __init spear13xx_l2x0_init(void);
32bool dw_dma_filter(struct dma_chan *chan, void *slave); 38
33void spear_restart(char, const char *); 39void spear_restart(char, const char *);
40
34void spear13xx_secondary_startup(void); 41void spear13xx_secondary_startup(void);
35void __cpuinit spear13xx_cpu_die(unsigned int cpu); 42void __cpuinit spear13xx_cpu_die(unsigned int cpu);
36 43
diff --git a/arch/arm/mach-spear13xx/include/mach/irqs.h b/arch/arm/mach-spear13xx/include/mach/irqs.h
index 271a62b4cd31..92da0a8c6bce 100644
--- a/arch/arm/mach-spear13xx/include/mach/irqs.h
+++ b/arch/arm/mach-spear13xx/include/mach/irqs.h
@@ -1,9 +1,8 @@
1/* 1/*
2 * arch/arm/mach-spear13xx/include/mach/irqs.h 2 * IRQ helper macros for spear machine family
3 * 3 *
4 * IRQ helper macros for spear13xx machine family 4 * Copyright (C) 2009-2012 ST Microelectronics
5 * 5 * Rajeev Kumar <rajeev-dlh.kumar@st.com>
6 * Copyright (C) 2012 ST Microelectronics
7 * Viresh Kumar <viresh.linux@gmail.com> 6 * Viresh Kumar <viresh.linux@gmail.com>
8 * 7 *
9 * This file is licensed under the terms of the GNU General Public 8 * This file is licensed under the terms of the GNU General Public
@@ -14,7 +13,23 @@
14#ifndef __MACH_IRQS_H 13#ifndef __MACH_IRQS_H
15#define __MACH_IRQS_H 14#define __MACH_IRQS_H
16 15
16#ifdef CONFIG_ARCH_SPEAR3XX
17#define NR_IRQS 256
18#endif
19
20#ifdef CONFIG_ARCH_SPEAR6XX
21/* IRQ definitions */
22/* VIC 1 */
23#define IRQ_VIC_END 64
24
25/* GPIO pins virtual irqs */
26#define VIRTUAL_IRQS 24
27#define NR_IRQS (IRQ_VIC_END + VIRTUAL_IRQS)
28#endif
29
30#ifdef CONFIG_ARCH_SPEAR13XX
17#define IRQ_GIC_END 160 31#define IRQ_GIC_END 160
18#define NR_IRQS IRQ_GIC_END 32#define NR_IRQS IRQ_GIC_END
33#endif
19 34
20#endif /* __MACH_IRQS_H */ 35#endif /* __MACH_IRQS_H */
diff --git a/arch/arm/mach-spear3xx/include/mach/generic.h b/arch/arm/mach-spear3xx/include/mach/generic.h
index df310799e416..af47d9b0d83d 100644
--- a/arch/arm/mach-spear3xx/include/mach/generic.h
+++ b/arch/arm/mach-spear3xx/include/mach/generic.h
@@ -1,10 +1,9 @@
1/* 1/*
2 * arch/arm/mach-spear3xx/generic.h 2 * spear machine family generic header file
3 * 3 *
4 * SPEAr3XX machine family generic header file 4 * Copyright (C) 2009-2012 ST Microelectronics
5 * 5 * Rajeev Kumar <rajeev-dlh.kumar@st.com>
6 * Copyright (C) 2009 ST Microelectronics 6 * Viresh Kumar <viresh.linux@gmail.com>
7 * Viresh Kumar<viresh.linux@gmail.com>
8 * 7 *
9 * This file is licensed under the terms of the GNU General Public 8 * This file is licensed under the terms of the GNU General Public
10 * License version 2. This program is licensed "as is" without any 9 * License version 2. This program is licensed "as is" without any
@@ -14,23 +13,46 @@
14#ifndef __MACH_GENERIC_H 13#ifndef __MACH_GENERIC_H
15#define __MACH_GENERIC_H 14#define __MACH_GENERIC_H
16 15
16#include <linux/dmaengine.h>
17#include <linux/amba/pl08x.h> 17#include <linux/amba/pl08x.h>
18#include <linux/init.h> 18#include <linux/init.h>
19#include <linux/platform_device.h>
20#include <linux/amba/bus.h>
21#include <asm/mach/time.h> 19#include <asm/mach/time.h>
22#include <asm/mach/map.h>
23 20
24/* Add spear3xx family device structure declarations here */ 21extern void spear13xx_timer_init(void);
25extern void spear3xx_timer_init(void); 22extern void spear3xx_timer_init(void);
26extern struct pl022_ssp_controller pl022_plat_data; 23extern struct pl022_ssp_controller pl022_plat_data;
27extern struct pl08x_platform_data pl080_plat_data; 24extern struct pl08x_platform_data pl080_plat_data;
25extern struct dw_dma_platform_data dmac_plat_data;
26extern struct dw_dma_slave cf_dma_priv;
27extern struct dw_dma_slave nand_read_dma_priv;
28extern struct dw_dma_slave nand_write_dma_priv;
29bool dw_dma_filter(struct dma_chan *chan, void *slave);
28 30
29/* Add spear3xx family function declarations here */
30void __init spear_setup_of_timer(void); 31void __init spear_setup_of_timer(void);
31void __init spear3xx_clk_init(void); 32void __init spear3xx_clk_init(void);
32void __init spear3xx_map_io(void); 33void __init spear3xx_map_io(void);
34void __init spear3xx_dt_init_irq(void);
35void __init spear6xx_clk_init(void);
36void __init spear13xx_map_io(void);
37void __init spear13xx_l2x0_init(void);
33 38
34void spear_restart(char, const char *); 39void spear_restart(char, const char *);
35 40
41void spear13xx_secondary_startup(void);
42void __cpuinit spear13xx_cpu_die(unsigned int cpu);
43
44extern struct smp_operations spear13xx_smp_ops;
45
46#ifdef CONFIG_MACH_SPEAR1310
47void __init spear1310_clk_init(void);
48#else
49static inline void spear1310_clk_init(void) {}
50#endif
51
52#ifdef CONFIG_MACH_SPEAR1340
53void __init spear1340_clk_init(void);
54#else
55static inline void spear1340_clk_init(void) {}
56#endif
57
36#endif /* __MACH_GENERIC_H */ 58#endif /* __MACH_GENERIC_H */
diff --git a/arch/arm/mach-spear3xx/include/mach/irqs.h b/arch/arm/mach-spear3xx/include/mach/irqs.h
index f95e5b2b6686..92da0a8c6bce 100644
--- a/arch/arm/mach-spear3xx/include/mach/irqs.h
+++ b/arch/arm/mach-spear3xx/include/mach/irqs.h
@@ -1,9 +1,8 @@
1/* 1/*
2 * arch/arm/mach-spear3xx/include/mach/irqs.h 2 * IRQ helper macros for spear machine family
3 * 3 *
4 * IRQ helper macros for SPEAr3xx machine family 4 * Copyright (C) 2009-2012 ST Microelectronics
5 * 5 * Rajeev Kumar <rajeev-dlh.kumar@st.com>
6 * Copyright (C) 2009 ST Microelectronics
7 * Viresh Kumar <viresh.linux@gmail.com> 6 * Viresh Kumar <viresh.linux@gmail.com>
8 * 7 *
9 * This file is licensed under the terms of the GNU General Public 8 * This file is licensed under the terms of the GNU General Public
@@ -14,6 +13,23 @@
14#ifndef __MACH_IRQS_H 13#ifndef __MACH_IRQS_H
15#define __MACH_IRQS_H 14#define __MACH_IRQS_H
16 15
16#ifdef CONFIG_ARCH_SPEAR3XX
17#define NR_IRQS 256 17#define NR_IRQS 256
18#endif
19
20#ifdef CONFIG_ARCH_SPEAR6XX
21/* IRQ definitions */
22/* VIC 1 */
23#define IRQ_VIC_END 64
24
25/* GPIO pins virtual irqs */
26#define VIRTUAL_IRQS 24
27#define NR_IRQS (IRQ_VIC_END + VIRTUAL_IRQS)
28#endif
29
30#ifdef CONFIG_ARCH_SPEAR13XX
31#define IRQ_GIC_END 160
32#define NR_IRQS IRQ_GIC_END
33#endif
18 34
19#endif /* __MACH_IRQS_H */ 35#endif /* __MACH_IRQS_H */
diff --git a/arch/arm/mach-spear3xx/spear320.c b/arch/arm/mach-spear3xx/spear320.c
index e1c77079a3e5..f671a0ad5217 100644
--- a/arch/arm/mach-spear3xx/spear320.c
+++ b/arch/arm/mach-spear3xx/spear320.c
@@ -19,6 +19,7 @@
19#include <linux/irqchip.h> 19#include <linux/irqchip.h>
20#include <linux/of_platform.h> 20#include <linux/of_platform.h>
21#include <asm/mach/arch.h> 21#include <asm/mach/arch.h>
22#include <asm/mach/map.h>
22#include <mach/generic.h> 23#include <mach/generic.h>
23#include <mach/spear.h> 24#include <mach/spear.h>
24 25
diff --git a/arch/arm/mach-spear3xx/spear3xx.c b/arch/arm/mach-spear3xx/spear3xx.c
index f9d754f90c59..72e3ae7d463a 100644
--- a/arch/arm/mach-spear3xx/spear3xx.c
+++ b/arch/arm/mach-spear3xx/spear3xx.c
@@ -14,8 +14,10 @@
14#define pr_fmt(fmt) "SPEAr3xx: " fmt 14#define pr_fmt(fmt) "SPEAr3xx: " fmt
15 15
16#include <linux/amba/pl022.h> 16#include <linux/amba/pl022.h>
17#include <linux/amba/pl08x.h> 17#include <linux/amba/pl080.h>
18#include <linux/clk.h>
18#include <linux/io.h> 19#include <linux/io.h>
20#include <asm/mach/map.h>
19#include <plat/pl080.h> 21#include <plat/pl080.h>
20#include <mach/generic.h> 22#include <mach/generic.h>
21#include <mach/spear.h> 23#include <mach/spear.h>
diff --git a/arch/arm/mach-spear6xx/include/mach/generic.h b/arch/arm/mach-spear6xx/include/mach/generic.h
index 65514b159370..af47d9b0d83d 100644
--- a/arch/arm/mach-spear6xx/include/mach/generic.h
+++ b/arch/arm/mach-spear6xx/include/mach/generic.h
@@ -1,10 +1,9 @@
1/* 1/*
2 * arch/arm/mach-spear6xx/include/mach/generic.h 2 * spear machine family generic header file
3 * 3 *
4 * SPEAr6XX machine family specific generic header file 4 * Copyright (C) 2009-2012 ST Microelectronics
5 * 5 * Rajeev Kumar <rajeev-dlh.kumar@st.com>
6 * Copyright (C) 2009 ST Microelectronics 6 * Viresh Kumar <viresh.linux@gmail.com>
7 * Rajeev Kumar<rajeev-dlh.kumar@st.com>
8 * 7 *
9 * This file is licensed under the terms of the GNU General Public 8 * This file is licensed under the terms of the GNU General Public
10 * License version 2. This program is licensed "as is" without any 9 * License version 2. This program is licensed "as is" without any
@@ -14,10 +13,46 @@
14#ifndef __MACH_GENERIC_H 13#ifndef __MACH_GENERIC_H
15#define __MACH_GENERIC_H 14#define __MACH_GENERIC_H
16 15
16#include <linux/dmaengine.h>
17#include <linux/amba/pl08x.h>
17#include <linux/init.h> 18#include <linux/init.h>
19#include <asm/mach/time.h>
20
21extern void spear13xx_timer_init(void);
22extern void spear3xx_timer_init(void);
23extern struct pl022_ssp_controller pl022_plat_data;
24extern struct pl08x_platform_data pl080_plat_data;
25extern struct dw_dma_platform_data dmac_plat_data;
26extern struct dw_dma_slave cf_dma_priv;
27extern struct dw_dma_slave nand_read_dma_priv;
28extern struct dw_dma_slave nand_write_dma_priv;
29bool dw_dma_filter(struct dma_chan *chan, void *slave);
18 30
19void __init spear_setup_of_timer(void); 31void __init spear_setup_of_timer(void);
20void spear_restart(char, const char *); 32void __init spear3xx_clk_init(void);
33void __init spear3xx_map_io(void);
34void __init spear3xx_dt_init_irq(void);
21void __init spear6xx_clk_init(void); 35void __init spear6xx_clk_init(void);
36void __init spear13xx_map_io(void);
37void __init spear13xx_l2x0_init(void);
38
39void spear_restart(char, const char *);
40
41void spear13xx_secondary_startup(void);
42void __cpuinit spear13xx_cpu_die(unsigned int cpu);
43
44extern struct smp_operations spear13xx_smp_ops;
45
46#ifdef CONFIG_MACH_SPEAR1310
47void __init spear1310_clk_init(void);
48#else
49static inline void spear1310_clk_init(void) {}
50#endif
51
52#ifdef CONFIG_MACH_SPEAR1340
53void __init spear1340_clk_init(void);
54#else
55static inline void spear1340_clk_init(void) {}
56#endif
22 57
23#endif /* __MACH_GENERIC_H */ 58#endif /* __MACH_GENERIC_H */
diff --git a/arch/arm/mach-spear6xx/include/mach/irqs.h b/arch/arm/mach-spear6xx/include/mach/irqs.h
index 37a5c411a866..92da0a8c6bce 100644
--- a/arch/arm/mach-spear6xx/include/mach/irqs.h
+++ b/arch/arm/mach-spear6xx/include/mach/irqs.h
@@ -1,10 +1,9 @@
1/* 1/*
2 * arch/arm/mach-spear6xx/include/mach/irqs.h 2 * IRQ helper macros for spear machine family
3 * 3 *
4 * IRQ helper macros for SPEAr6xx machine family 4 * Copyright (C) 2009-2012 ST Microelectronics
5 * 5 * Rajeev Kumar <rajeev-dlh.kumar@st.com>
6 * Copyright (C) 2009 ST Microelectronics 6 * Viresh Kumar <viresh.linux@gmail.com>
7 * Rajeev Kumar<rajeev-dlh.kumar@st.com>
8 * 7 *
9 * This file is licensed under the terms of the GNU General Public 8 * This file is licensed under the terms of the GNU General Public
10 * License version 2. This program is licensed "as is" without any 9 * License version 2. This program is licensed "as is" without any
@@ -14,6 +13,11 @@
14#ifndef __MACH_IRQS_H 13#ifndef __MACH_IRQS_H
15#define __MACH_IRQS_H 14#define __MACH_IRQS_H
16 15
16#ifdef CONFIG_ARCH_SPEAR3XX
17#define NR_IRQS 256
18#endif
19
20#ifdef CONFIG_ARCH_SPEAR6XX
17/* IRQ definitions */ 21/* IRQ definitions */
18/* VIC 1 */ 22/* VIC 1 */
19#define IRQ_VIC_END 64 23#define IRQ_VIC_END 64
@@ -21,5 +25,11 @@
21/* GPIO pins virtual irqs */ 25/* GPIO pins virtual irqs */
22#define VIRTUAL_IRQS 24 26#define VIRTUAL_IRQS 24
23#define NR_IRQS (IRQ_VIC_END + VIRTUAL_IRQS) 27#define NR_IRQS (IRQ_VIC_END + VIRTUAL_IRQS)
28#endif
29
30#ifdef CONFIG_ARCH_SPEAR13XX
31#define IRQ_GIC_END 160
32#define NR_IRQS IRQ_GIC_END
33#endif
24 34
25#endif /* __MACH_IRQS_H */ 35#endif /* __MACH_IRQS_H */