diff options
author | Paul Mundt <lethal@linux-sh.org> | 2010-10-27 02:38:59 -0400 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2010-10-27 02:38:59 -0400 |
commit | 815db1477a2ce44d248a4ff853a2bef3616c7478 (patch) | |
tree | 98634d1bd7be9a794ee6e67e29fc699583b6087f /arch/sh/kernel | |
parent | 31b37c73c56b4129ff22436af97b77719a4db852 (diff) |
sh64: irq_data conversion.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/kernel')
-rw-r--r-- | arch/sh/kernel/cpu/irq/intc-sh5.c | 49 |
1 files changed, 9 insertions, 40 deletions
diff --git a/arch/sh/kernel/cpu/irq/intc-sh5.c b/arch/sh/kernel/cpu/irq/intc-sh5.c index 96a239583948..5af48f8357e5 100644 --- a/arch/sh/kernel/cpu/irq/intc-sh5.c +++ b/arch/sh/kernel/cpu/irq/intc-sh5.c | |||
@@ -76,39 +76,11 @@ int intc_evt_to_irq[(0xE20/0x20)+1] = { | |||
76 | }; | 76 | }; |
77 | 77 | ||
78 | static unsigned long intc_virt; | 78 | static unsigned long intc_virt; |
79 | |||
80 | static unsigned int startup_intc_irq(unsigned int irq); | ||
81 | static void shutdown_intc_irq(unsigned int irq); | ||
82 | static void enable_intc_irq(unsigned int irq); | ||
83 | static void disable_intc_irq(unsigned int irq); | ||
84 | static void mask_and_ack_intc(unsigned int); | ||
85 | static void end_intc_irq(unsigned int irq); | ||
86 | |||
87 | static struct irq_chip intc_irq_type = { | ||
88 | .name = "INTC", | ||
89 | .startup = startup_intc_irq, | ||
90 | .shutdown = shutdown_intc_irq, | ||
91 | .enable = enable_intc_irq, | ||
92 | .disable = disable_intc_irq, | ||
93 | .ack = mask_and_ack_intc, | ||
94 | .end = end_intc_irq | ||
95 | }; | ||
96 | |||
97 | static int irlm; /* IRL mode */ | 79 | static int irlm; /* IRL mode */ |
98 | 80 | ||
99 | static unsigned int startup_intc_irq(unsigned int irq) | 81 | static void enable_intc_irq(struct irq_data *data) |
100 | { | ||
101 | enable_intc_irq(irq); | ||
102 | return 0; /* never anything pending */ | ||
103 | } | ||
104 | |||
105 | static void shutdown_intc_irq(unsigned int irq) | ||
106 | { | ||
107 | disable_intc_irq(irq); | ||
108 | } | ||
109 | |||
110 | static void enable_intc_irq(unsigned int irq) | ||
111 | { | 82 | { |
83 | unsigned int irq = data->irq; | ||
112 | unsigned long reg; | 84 | unsigned long reg; |
113 | unsigned long bitmask; | 85 | unsigned long bitmask; |
114 | 86 | ||
@@ -126,8 +98,9 @@ static void enable_intc_irq(unsigned int irq) | |||
126 | __raw_writel(bitmask, reg); | 98 | __raw_writel(bitmask, reg); |
127 | } | 99 | } |
128 | 100 | ||
129 | static void disable_intc_irq(unsigned int irq) | 101 | static void disable_intc_irq(struct irq_data *data) |
130 | { | 102 | { |
103 | unsigned int irq = data->irq; | ||
131 | unsigned long reg; | 104 | unsigned long reg; |
132 | unsigned long bitmask; | 105 | unsigned long bitmask; |
133 | 106 | ||
@@ -142,15 +115,11 @@ static void disable_intc_irq(unsigned int irq) | |||
142 | __raw_writel(bitmask, reg); | 115 | __raw_writel(bitmask, reg); |
143 | } | 116 | } |
144 | 117 | ||
145 | static void mask_and_ack_intc(unsigned int irq) | 118 | static struct irq_chip intc_irq_type = { |
146 | { | 119 | .name = "INTC", |
147 | disable_intc_irq(irq); | 120 | .irq_enable = enable_intc_irq, |
148 | } | 121 | .irq_disable = disable_intc_irq, |
149 | 122 | }; | |
150 | static void end_intc_irq(unsigned int irq) | ||
151 | { | ||
152 | enable_intc_irq(irq); | ||
153 | } | ||
154 | 123 | ||
155 | void __init plat_irq_setup(void) | 124 | void __init plat_irq_setup(void) |
156 | { | 125 | { |