Skip to content

Commit

Permalink
ARM: spear: unify mach/generic.h and mach/irqs.h
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Arnd Bergmann committed Mar 12, 2013
1 parent 17dd109 commit 5447521
Show file tree
Hide file tree
Showing 8 changed files with 146 additions and 38 deletions.
21 changes: 14 additions & 7 deletions arch/arm/mach-spear13xx/include/mach/generic.h
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
/*
* arch/arm/mach-spear13xx/include/mach/generic.h
* spear machine family generic header file
*
* spear13xx machine family generic header file
*
* Copyright (C) 2012 ST Microelectronics
* Copyright (C) 2009-2012 ST Microelectronics
* Rajeev Kumar <rajeev-dlh.kumar@st.com>
* Viresh Kumar <viresh.linux@gmail.com>
*
* This file is licensed under the terms of the GNU General Public
Expand All @@ -15,22 +14,30 @@
#define __MACH_GENERIC_H

#include <linux/dmaengine.h>
#include <linux/amba/pl08x.h>
#include <linux/init.h>
#include <asm/mach/time.h>

/* Add spear13xx structure declarations here */
extern void spear13xx_timer_init(void);
extern void spear3xx_timer_init(void);
extern struct pl022_ssp_controller pl022_plat_data;
extern struct pl08x_platform_data pl080_plat_data;
extern struct dw_dma_platform_data dmac_plat_data;
extern struct dw_dma_slave cf_dma_priv;
extern struct dw_dma_slave nand_read_dma_priv;
extern struct dw_dma_slave nand_write_dma_priv;
bool dw_dma_filter(struct dma_chan *chan, void *slave);

/* Add spear13xx family function declarations here */
void __init spear_setup_of_timer(void);
void __init spear3xx_clk_init(void);
void __init spear3xx_map_io(void);
void __init spear3xx_dt_init_irq(void);
void __init spear6xx_clk_init(void);
void __init spear13xx_map_io(void);
void __init spear13xx_l2x0_init(void);
bool dw_dma_filter(struct dma_chan *chan, void *slave);

void spear_restart(char, const char *);

void spear13xx_secondary_startup(void);
void __cpuinit spear13xx_cpu_die(unsigned int cpu);

Expand Down
23 changes: 19 additions & 4 deletions arch/arm/mach-spear13xx/include/mach/irqs.h
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
/*
* arch/arm/mach-spear13xx/include/mach/irqs.h
* IRQ helper macros for spear machine family
*
* IRQ helper macros for spear13xx machine family
*
* Copyright (C) 2012 ST Microelectronics
* Copyright (C) 2009-2012 ST Microelectronics
* Rajeev Kumar <rajeev-dlh.kumar@st.com>
* Viresh Kumar <viresh.linux@gmail.com>
*
* This file is licensed under the terms of the GNU General Public
Expand All @@ -14,7 +13,23 @@
#ifndef __MACH_IRQS_H
#define __MACH_IRQS_H

#ifdef CONFIG_ARCH_SPEAR3XX
#define NR_IRQS 256
#endif

#ifdef CONFIG_ARCH_SPEAR6XX
/* IRQ definitions */
/* VIC 1 */
#define IRQ_VIC_END 64

/* GPIO pins virtual irqs */
#define VIRTUAL_IRQS 24
#define NR_IRQS (IRQ_VIC_END + VIRTUAL_IRQS)
#endif

#ifdef CONFIG_ARCH_SPEAR13XX
#define IRQ_GIC_END 160
#define NR_IRQS IRQ_GIC_END
#endif

#endif /* __MACH_IRQS_H */
42 changes: 32 additions & 10 deletions arch/arm/mach-spear3xx/include/mach/generic.h
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
/*
* arch/arm/mach-spear3xx/generic.h
* spear machine family generic header file
*
* SPEAr3XX machine family generic header file
*
* Copyright (C) 2009 ST Microelectronics
* Viresh Kumar<viresh.linux@gmail.com>
* Copyright (C) 2009-2012 ST Microelectronics
* Rajeev Kumar <rajeev-dlh.kumar@st.com>
* Viresh Kumar <viresh.linux@gmail.com>
*
* This file is licensed under the terms of the GNU General Public
* License version 2. This program is licensed "as is" without any
Expand All @@ -14,23 +13,46 @@
#ifndef __MACH_GENERIC_H
#define __MACH_GENERIC_H

#include <linux/dmaengine.h>
#include <linux/amba/pl08x.h>
#include <linux/init.h>
#include <linux/platform_device.h>
#include <linux/amba/bus.h>
#include <asm/mach/time.h>
#include <asm/mach/map.h>

/* Add spear3xx family device structure declarations here */
extern void spear13xx_timer_init(void);
extern void spear3xx_timer_init(void);
extern struct pl022_ssp_controller pl022_plat_data;
extern struct pl08x_platform_data pl080_plat_data;
extern struct dw_dma_platform_data dmac_plat_data;
extern struct dw_dma_slave cf_dma_priv;
extern struct dw_dma_slave nand_read_dma_priv;
extern struct dw_dma_slave nand_write_dma_priv;
bool dw_dma_filter(struct dma_chan *chan, void *slave);

/* Add spear3xx family function declarations here */
void __init spear_setup_of_timer(void);
void __init spear3xx_clk_init(void);
void __init spear3xx_map_io(void);
void __init spear3xx_dt_init_irq(void);
void __init spear6xx_clk_init(void);
void __init spear13xx_map_io(void);
void __init spear13xx_l2x0_init(void);

void spear_restart(char, const char *);

void spear13xx_secondary_startup(void);
void __cpuinit spear13xx_cpu_die(unsigned int cpu);

extern struct smp_operations spear13xx_smp_ops;

#ifdef CONFIG_MACH_SPEAR1310
void __init spear1310_clk_init(void);
#else
static inline void spear1310_clk_init(void) {}
#endif

#ifdef CONFIG_MACH_SPEAR1340
void __init spear1340_clk_init(void);
#else
static inline void spear1340_clk_init(void) {}
#endif

#endif /* __MACH_GENERIC_H */
24 changes: 20 additions & 4 deletions arch/arm/mach-spear3xx/include/mach/irqs.h
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
/*
* arch/arm/mach-spear3xx/include/mach/irqs.h
* IRQ helper macros for spear machine family
*
* IRQ helper macros for SPEAr3xx machine family
*
* Copyright (C) 2009 ST Microelectronics
* Copyright (C) 2009-2012 ST Microelectronics
* Rajeev Kumar <rajeev-dlh.kumar@st.com>
* Viresh Kumar <viresh.linux@gmail.com>
*
* This file is licensed under the terms of the GNU General Public
Expand All @@ -14,6 +13,23 @@
#ifndef __MACH_IRQS_H
#define __MACH_IRQS_H

#ifdef CONFIG_ARCH_SPEAR3XX
#define NR_IRQS 256
#endif

#ifdef CONFIG_ARCH_SPEAR6XX
/* IRQ definitions */
/* VIC 1 */
#define IRQ_VIC_END 64

/* GPIO pins virtual irqs */
#define VIRTUAL_IRQS 24
#define NR_IRQS (IRQ_VIC_END + VIRTUAL_IRQS)
#endif

#ifdef CONFIG_ARCH_SPEAR13XX
#define IRQ_GIC_END 160
#define NR_IRQS IRQ_GIC_END
#endif

#endif /* __MACH_IRQS_H */
1 change: 1 addition & 0 deletions arch/arm/mach-spear3xx/spear320.c
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
#include <linux/irqchip.h>
#include <linux/of_platform.h>
#include <asm/mach/arch.h>
#include <asm/mach/map.h>
#include <mach/generic.h>
#include <mach/spear.h>

Expand Down
4 changes: 3 additions & 1 deletion arch/arm/mach-spear3xx/spear3xx.c
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,10 @@
#define pr_fmt(fmt) "SPEAr3xx: " fmt

#include <linux/amba/pl022.h>
#include <linux/amba/pl08x.h>
#include <linux/amba/pl080.h>
#include <linux/clk.h>
#include <linux/io.h>
#include <asm/mach/map.h>
#include <plat/pl080.h>
#include <mach/generic.h>
#include <mach/spear.h>
Expand Down
47 changes: 41 additions & 6 deletions arch/arm/mach-spear6xx/include/mach/generic.h
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
/*
* arch/arm/mach-spear6xx/include/mach/generic.h
* spear machine family generic header file
*
* SPEAr6XX machine family specific generic header file
*
* Copyright (C) 2009 ST Microelectronics
* Rajeev Kumar<rajeev-dlh.kumar@st.com>
* Copyright (C) 2009-2012 ST Microelectronics
* Rajeev Kumar <rajeev-dlh.kumar@st.com>
* Viresh Kumar <viresh.linux@gmail.com>
*
* This file is licensed under the terms of the GNU General Public
* License version 2. This program is licensed "as is" without any
Expand All @@ -14,10 +13,46 @@
#ifndef __MACH_GENERIC_H
#define __MACH_GENERIC_H

#include <linux/dmaengine.h>
#include <linux/amba/pl08x.h>
#include <linux/init.h>
#include <asm/mach/time.h>

extern void spear13xx_timer_init(void);
extern void spear3xx_timer_init(void);
extern struct pl022_ssp_controller pl022_plat_data;
extern struct pl08x_platform_data pl080_plat_data;
extern struct dw_dma_platform_data dmac_plat_data;
extern struct dw_dma_slave cf_dma_priv;
extern struct dw_dma_slave nand_read_dma_priv;
extern struct dw_dma_slave nand_write_dma_priv;
bool dw_dma_filter(struct dma_chan *chan, void *slave);

void __init spear_setup_of_timer(void);
void spear_restart(char, const char *);
void __init spear3xx_clk_init(void);
void __init spear3xx_map_io(void);
void __init spear3xx_dt_init_irq(void);
void __init spear6xx_clk_init(void);
void __init spear13xx_map_io(void);
void __init spear13xx_l2x0_init(void);

void spear_restart(char, const char *);

void spear13xx_secondary_startup(void);
void __cpuinit spear13xx_cpu_die(unsigned int cpu);

extern struct smp_operations spear13xx_smp_ops;

#ifdef CONFIG_MACH_SPEAR1310
void __init spear1310_clk_init(void);
#else
static inline void spear1310_clk_init(void) {}
#endif

#ifdef CONFIG_MACH_SPEAR1340
void __init spear1340_clk_init(void);
#else
static inline void spear1340_clk_init(void) {}
#endif

#endif /* __MACH_GENERIC_H */
22 changes: 16 additions & 6 deletions arch/arm/mach-spear6xx/include/mach/irqs.h
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
/*
* arch/arm/mach-spear6xx/include/mach/irqs.h
* IRQ helper macros for spear machine family
*
* IRQ helper macros for SPEAr6xx machine family
*
* Copyright (C) 2009 ST Microelectronics
* Rajeev Kumar<rajeev-dlh.kumar@st.com>
* Copyright (C) 2009-2012 ST Microelectronics
* Rajeev Kumar <rajeev-dlh.kumar@st.com>
* Viresh Kumar <viresh.linux@gmail.com>
*
* This file is licensed under the terms of the GNU General Public
* License version 2. This program is licensed "as is" without any
Expand All @@ -14,12 +13,23 @@
#ifndef __MACH_IRQS_H
#define __MACH_IRQS_H

#ifdef CONFIG_ARCH_SPEAR3XX
#define NR_IRQS 256
#endif

#ifdef CONFIG_ARCH_SPEAR6XX
/* IRQ definitions */
/* VIC 1 */
#define IRQ_VIC_END 64

/* GPIO pins virtual irqs */
#define VIRTUAL_IRQS 24
#define NR_IRQS (IRQ_VIC_END + VIRTUAL_IRQS)
#endif

#ifdef CONFIG_ARCH_SPEAR13XX
#define IRQ_GIC_END 160
#define NR_IRQS IRQ_GIC_END
#endif

#endif /* __MACH_IRQS_H */
#endif /* __MACH_IRQS_H */

0 comments on commit 5447521

Please sign in to comment.