diff options
author | Chander Kashyap <chander.kashyap@linaro.org> | 2013-10-20 17:01:40 -0400 |
---|---|---|
committer | Kukjin Kim <kgene.kim@samsung.com> | 2013-12-01 17:15:51 -0500 |
commit | 9403ac88220d79f8822e22c875ad1ebd7ffbea6f (patch) | |
tree | 0c545e9d0bea66cabcd49a54ea771a9e339bde9d /drivers/irqchip/exynos-combiner.c | |
parent | 6ce4eac1f600b34f2f7f58f9cd8f0503d79e42ae (diff) |
irqchip: exynos-combiner: remove hard-coded irq_base value
Replace irq_domain_add_simple with "irq_domain_add_linear" in order to use
linear irq domain, and to remove hardcoded irq_base_value.
Signed-off-by: Chander Kashyap <chander.kashyap@linaro.org>
Reviewed-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
Diffstat (limited to 'drivers/irqchip/exynos-combiner.c')
-rw-r--r-- | drivers/irqchip/exynos-combiner.c | 15 |
1 files changed, 3 insertions, 12 deletions
diff --git a/drivers/irqchip/exynos-combiner.c b/drivers/irqchip/exynos-combiner.c index 868ed40cb6bf..40e6440348ff 100644 --- a/drivers/irqchip/exynos-combiner.c +++ b/drivers/irqchip/exynos-combiner.c | |||
@@ -171,8 +171,7 @@ static struct irq_domain_ops combiner_irq_domain_ops = { | |||
171 | 171 | ||
172 | static void __init combiner_init(void __iomem *combiner_base, | 172 | static void __init combiner_init(void __iomem *combiner_base, |
173 | struct device_node *np, | 173 | struct device_node *np, |
174 | unsigned int max_nr, | 174 | unsigned int max_nr) |
175 | int irq_base) | ||
176 | { | 175 | { |
177 | int i, irq; | 176 | int i, irq; |
178 | unsigned int nr_irq; | 177 | unsigned int nr_irq; |
@@ -186,7 +185,7 @@ static void __init combiner_init(void __iomem *combiner_base, | |||
186 | return; | 185 | return; |
187 | } | 186 | } |
188 | 187 | ||
189 | combiner_irq_domain = irq_domain_add_simple(np, nr_irq, irq_base, | 188 | combiner_irq_domain = irq_domain_add_linear(np, nr_irq, |
190 | &combiner_irq_domain_ops, combiner_data); | 189 | &combiner_irq_domain_ops, combiner_data); |
191 | if (WARN_ON(!combiner_irq_domain)) { | 190 | if (WARN_ON(!combiner_irq_domain)) { |
192 | pr_warning("%s: irq domain init failed\n", __func__); | 191 | pr_warning("%s: irq domain init failed\n", __func__); |
@@ -207,7 +206,6 @@ static int __init combiner_of_init(struct device_node *np, | |||
207 | { | 206 | { |
208 | void __iomem *combiner_base; | 207 | void __iomem *combiner_base; |
209 | unsigned int max_nr = 20; | 208 | unsigned int max_nr = 20; |
210 | int irq_base = -1; | ||
211 | 209 | ||
212 | combiner_base = of_iomap(np, 0); | 210 | combiner_base = of_iomap(np, 0); |
213 | if (!combiner_base) { | 211 | if (!combiner_base) { |
@@ -221,14 +219,7 @@ static int __init combiner_of_init(struct device_node *np, | |||
221 | __func__, max_nr); | 219 | __func__, max_nr); |
222 | } | 220 | } |
223 | 221 | ||
224 | /* | 222 | combiner_init(combiner_base, np, max_nr); |
225 | * FIXME: This is a hardwired COMBINER_IRQ(0,0). Once all devices | ||
226 | * get their IRQ from DT, remove this in order to get dynamic | ||
227 | * allocation. | ||
228 | */ | ||
229 | irq_base = 160; | ||
230 | |||
231 | combiner_init(combiner_base, np, max_nr, irq_base); | ||
232 | 223 | ||
233 | return 0; | 224 | return 0; |
234 | } | 225 | } |