aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh/boards/se
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2006-11-05 02:48:42 -0500
committerPaul Mundt <lethal@linux-sh.org>2006-12-05 20:45:37 -0500
commit710ee0cc45d095f7697821b330a3f8280205c2be (patch)
tree8bce794be73a6961d118d485c097232628812e94 /arch/sh/boards/se
parentf36af3fd377081d3ac2ff6b63a60f8db8b3bf531 (diff)
sh: SE7206 build fixes.
A number of API changes happened underneath the 7206 patches, update for everything that broke. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/boards/se')
-rw-r--r--arch/sh/boards/se/7206/irq.c44
-rw-r--r--arch/sh/boards/se/7206/setup.c3
2 files changed, 12 insertions, 35 deletions
diff --git a/arch/sh/boards/se/7206/irq.c b/arch/sh/boards/se/7206/irq.c
index 8d5b278a124d..3fb0c5f5b23a 100644
--- a/arch/sh/boards/se/7206/irq.c
+++ b/arch/sh/boards/se/7206/irq.c
@@ -6,12 +6,10 @@
6 * Hitachi SolutionEngine Support. 6 * Hitachi SolutionEngine Support.
7 * 7 *
8 */ 8 */
9
10#include <linux/config.h>
11#include <linux/init.h> 9#include <linux/init.h>
12#include <linux/irq.h> 10#include <linux/irq.h>
13#include <asm/irq.h> 11#include <linux/io.h>
14#include <asm/io.h> 12#include <linux/irq.h>
15#include <asm/se7206.h> 13#include <asm/se7206.h>
16 14
17#define INTSTS0 0x31800000 15#define INTSTS0 0x31800000
@@ -20,9 +18,6 @@
20#define INTMSK1 0x31800006 18#define INTMSK1 0x31800006
21#define INTSEL 0x31800008 19#define INTSEL 0x31800008
22 20
23/* shutdown is same as "disable" */
24#define shutdown_se7206_irq disable_se7206_irq
25
26static void disable_se7206_irq(unsigned int irq) 21static void disable_se7206_irq(unsigned int irq)
27{ 22{
28 unsigned short val; 23 unsigned short val;
@@ -84,18 +79,7 @@ static void enable_se7206_irq(unsigned int irq)
84 ctrl_outw(msk1, INTMSK1); 79 ctrl_outw(msk1, INTMSK1);
85} 80}
86 81
87static unsigned int startup_se7206_irq(unsigned int irq) 82static void eoi_se7206_irq(unsigned int irq)
88{
89 enable_se7206_irq(irq);
90 return 0; /* never anything pending */
91}
92
93static void ack_se7206_irq(unsigned int irq)
94{
95 disable_se7206_irq(irq);
96}
97
98static void end_se7206_irq(unsigned int irq)
99{ 83{
100 unsigned short sts0,sts1; 84 unsigned short sts0,sts1;
101 85
@@ -121,20 +105,19 @@ static void end_se7206_irq(unsigned int irq)
121 ctrl_outw(sts1, INTSTS1); 105 ctrl_outw(sts1, INTSTS1);
122} 106}
123 107
124static struct hw_interrupt_type se7206_irq_type = { 108static struct irq_chip se7206_irq_chip __read_mostly = {
125 .typename = "SE7206 FPGA-IRQ", 109 .name = "SE7206-FPGA-IRQ",
126 .startup = startup_se7206_irq, 110 .mask = disable_se7206_irq,
127 .shutdown = shutdown_se7206_irq, 111 .unmask = enable_se7206_irq,
128 .enable = enable_se7206_irq, 112 .mask_ack = disable_se7206_irq,
129 .disable = disable_se7206_irq, 113 .eoi = eoi_se7206_irq,
130 .ack = ack_se7206_irq,
131 .end = end_se7206_irq,
132}; 114};
133 115
134static void make_se7206_irq(unsigned int irq) 116static void make_se7206_irq(unsigned int irq)
135{ 117{
136 disable_irq_nosync(irq); 118 disable_irq_nosync(irq);
137 irq_desc[irq].handler = &se7206_irq_type; 119 set_irq_chip_and_handler_name(irq, &se7206_irq_chip,
120 handle_level_irq, "level");
138 disable_se7206_irq(irq); 121 disable_se7206_irq(irq);
139} 122}
140 123
@@ -154,8 +137,3 @@ void __init init_se7206_IRQ(void)
154 /* IRQ0=LAN, IRQ1=ATA, IRQ3=SLT,PCM */ 137 /* IRQ0=LAN, IRQ1=ATA, IRQ3=SLT,PCM */
155 ctrl_outw(0x0001,INTSEL); 138 ctrl_outw(0x0001,INTSEL);
156} 139}
157
158int se7206_irq_demux(int irq)
159{
160 return irq;
161}
diff --git a/arch/sh/boards/se/7206/setup.c b/arch/sh/boards/se/7206/setup.c
index e543e3980c08..0f42e91a3238 100644
--- a/arch/sh/boards/se/7206/setup.c
+++ b/arch/sh/boards/se/7206/setup.c
@@ -10,8 +10,8 @@
10 10
11#include <linux/init.h> 11#include <linux/init.h>
12#include <linux/platform_device.h> 12#include <linux/platform_device.h>
13#include <asm/io.h>
14#include <asm/se7206.h> 13#include <asm/se7206.h>
14#include <asm/io.h>
15#include <asm/machvec.h> 15#include <asm/machvec.h>
16 16
17static struct resource smc91x_resources[] = { 17static struct resource smc91x_resources[] = {
@@ -72,7 +72,6 @@ struct sh_machine_vector mv_se __initmv = {
72 .mv_outsl = se7206_outsl, 72 .mv_outsl = se7206_outsl,
73 73
74 .mv_init_irq = init_se7206_IRQ, 74 .mv_init_irq = init_se7206_IRQ,
75 .mv_irq_demux = se7206_irq_demux,
76#ifdef CONFIG_HEARTBEAT 75#ifdef CONFIG_HEARTBEAT
77 .mv_heartbeat = heartbeat_se, 76 .mv_heartbeat = heartbeat_se,
78#endif 77#endif