aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/irqchip
diff options
context:
space:
mode:
authorKevin Hilman <khilman@linaro.org>2013-08-22 11:10:52 -0400
committerKevin Hilman <khilman@linaro.org>2013-08-22 11:11:41 -0400
commit8a75f0a07c7aa1e4454c077042ab2b56b72299b9 (patch)
tree3dc4153b8abb78e324168f46a47d5df99d1b1ec3 /drivers/irqchip
parent30f9c3bdcec9c810f5bd05b177367c7eeab24d90 (diff)
parent8c3736e20ee387acefffdfcac560ea23ee6fd4d8 (diff)
Merge tag 'samsung-cleanup-1' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/cleanup
From Kukjin Kim: samsung cleanup for v3.12 - cleanup non-dt stuff in exynos - remove 0x from exynos dt files - remove unused codes * tag 'samsung-cleanup-1' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: ARM: SAMSUNG: Remove unnecessary exynos4_default_sdhci*() ARM: dts: Remove '0x's from Exynos5440 DTS file ARM: dts: Remove '0x's from Exynos5420 DTS file ARM: dts: Remove '0x's from Exynos5250 DTS file ARM: dts: Remove '0x's from Exynos4x12 DTSI file ARM: dts: Remove '0x's from Exynos4210 DTSI file ARM: EXYNOS: Cleanup common.h file irqchip: exynos: cleanup non-DT stuff in exynos-combiner Signed-off-by: Kevin Hilman <khilman@linaro.org>
Diffstat (limited to 'drivers/irqchip')
-rw-r--r--drivers/irqchip/exynos-combiner.c44
1 files changed, 1 insertions, 43 deletions
diff --git a/drivers/irqchip/exynos-combiner.c b/drivers/irqchip/exynos-combiner.c
index 4c6826513901..868ed40cb6bf 100644
--- a/drivers/irqchip/exynos-combiner.c
+++ b/drivers/irqchip/exynos-combiner.c
@@ -19,10 +19,6 @@
19#include <linux/of_irq.h> 19#include <linux/of_irq.h>
20#include <asm/mach/irq.h> 20#include <asm/mach/irq.h>
21 21
22#ifdef CONFIG_EXYNOS_ATAGS
23#include <plat/cpu.h>
24#endif
25
26#include "irqchip.h" 22#include "irqchip.h"
27 23
28#define COMBINER_ENABLE_SET 0x0 24#define COMBINER_ENABLE_SET 0x0
@@ -138,7 +134,6 @@ static void __init combiner_init_one(struct combiner_chip_data *combiner_data,
138 __raw_writel(combiner_data->irq_mask, base + COMBINER_ENABLE_CLEAR); 134 __raw_writel(combiner_data->irq_mask, base + COMBINER_ENABLE_CLEAR);
139} 135}
140 136
141#ifdef CONFIG_OF
142static int combiner_irq_domain_xlate(struct irq_domain *d, 137static int combiner_irq_domain_xlate(struct irq_domain *d,
143 struct device_node *controller, 138 struct device_node *controller,
144 const u32 *intspec, unsigned int intsize, 139 const u32 *intspec, unsigned int intsize,
@@ -156,16 +151,6 @@ static int combiner_irq_domain_xlate(struct irq_domain *d,
156 151
157 return 0; 152 return 0;
158} 153}
159#else
160static int combiner_irq_domain_xlate(struct irq_domain *d,
161 struct device_node *controller,
162 const u32 *intspec, unsigned int intsize,
163 unsigned long *out_hwirq,
164 unsigned int *out_type)
165{
166 return -EINVAL;
167}
168#endif
169 154
170static int combiner_irq_domain_map(struct irq_domain *d, unsigned int irq, 155static int combiner_irq_domain_map(struct irq_domain *d, unsigned int irq,
171 irq_hw_number_t hw) 156 irq_hw_number_t hw)
@@ -184,26 +169,6 @@ static struct irq_domain_ops combiner_irq_domain_ops = {
184 .map = combiner_irq_domain_map, 169 .map = combiner_irq_domain_map,
185}; 170};
186 171
187static unsigned int combiner_lookup_irq(int group)
188{
189#ifdef CONFIG_EXYNOS_ATAGS
190 if (group < EXYNOS4210_MAX_COMBINER_NR || soc_is_exynos5250())
191 return IRQ_SPI(group);
192
193 switch (group) {
194 case 16:
195 return IRQ_SPI(107);
196 case 17:
197 return IRQ_SPI(108);
198 case 18:
199 return IRQ_SPI(48);
200 case 19:
201 return IRQ_SPI(42);
202 }
203#endif
204 return 0;
205}
206
207static void __init combiner_init(void __iomem *combiner_base, 172static void __init combiner_init(void __iomem *combiner_base,
208 struct device_node *np, 173 struct device_node *np,
209 unsigned int max_nr, 174 unsigned int max_nr,
@@ -229,12 +194,7 @@ static void __init combiner_init(void __iomem *combiner_base,
229 } 194 }
230 195
231 for (i = 0; i < max_nr; i++) { 196 for (i = 0; i < max_nr; i++) {
232#ifdef CONFIG_OF 197 irq = irq_of_parse_and_map(np, i);
233 if (np)
234 irq = irq_of_parse_and_map(np, i);
235 else
236#endif
237 irq = combiner_lookup_irq(i);
238 198
239 combiner_init_one(&combiner_data[i], i, 199 combiner_init_one(&combiner_data[i], i,
240 combiner_base + (i >> 2) * 0x10, irq); 200 combiner_base + (i >> 2) * 0x10, irq);
@@ -242,7 +202,6 @@ static void __init combiner_init(void __iomem *combiner_base,
242 } 202 }
243} 203}
244 204
245#ifdef CONFIG_OF
246static int __init combiner_of_init(struct device_node *np, 205static int __init combiner_of_init(struct device_node *np,
247 struct device_node *parent) 206 struct device_node *parent)
248{ 207{
@@ -275,4 +234,3 @@ static int __init combiner_of_init(struct device_node *np,
275} 234}
276IRQCHIP_DECLARE(exynos4210_combiner, "samsung,exynos4210-combiner", 235IRQCHIP_DECLARE(exynos4210_combiner, "samsung,exynos4210-combiner",
277 combiner_of_init); 236 combiner_of_init);
278#endif