diff options
author | Paul Mundt <lethal@linux-sh.org> | 2012-05-24 06:10:45 -0400 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2012-05-24 06:10:45 -0400 |
commit | be9c00295b34760ea2f9667929049f094116b5a8 (patch) | |
tree | 19f54b377acc717d1e6657849c0bcc2559f55600 /drivers/sh/intc | |
parent | 197b58e6651426bec8b2582013258b52cd15a444 (diff) |
sh: intc: Kill off deprecated dynamic IRQ API.
Now that all of the users have been converted away, kill off the remnants
of the old API.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'drivers/sh/intc')
-rw-r--r-- | drivers/sh/intc/Makefile | 2 | ||||
-rw-r--r-- | drivers/sh/intc/dynamic.c | 65 |
2 files changed, 1 insertions, 66 deletions
diff --git a/drivers/sh/intc/Makefile b/drivers/sh/intc/Makefile index bb5df868d77a..44f006d09471 100644 --- a/drivers/sh/intc/Makefile +++ b/drivers/sh/intc/Makefile | |||
@@ -1,4 +1,4 @@ | |||
1 | obj-y := access.o chip.o core.o dynamic.o handle.o virq.o | 1 | obj-y := access.o chip.o core.o handle.o virq.o |
2 | 2 | ||
3 | obj-$(CONFIG_INTC_BALANCING) += balancing.o | 3 | obj-$(CONFIG_INTC_BALANCING) += balancing.o |
4 | obj-$(CONFIG_INTC_USERIMASK) += userimask.o | 4 | obj-$(CONFIG_INTC_USERIMASK) += userimask.o |
diff --git a/drivers/sh/intc/dynamic.c b/drivers/sh/intc/dynamic.c deleted file mode 100644 index 5fea1ee8799a..000000000000 --- a/drivers/sh/intc/dynamic.c +++ /dev/null | |||
@@ -1,65 +0,0 @@ | |||
1 | /* | ||
2 | * Dynamic IRQ management | ||
3 | * | ||
4 | * Copyright (C) 2010 Paul Mundt | ||
5 | * | ||
6 | * Modelled after arch/x86/kernel/apic/io_apic.c | ||
7 | * | ||
8 | * This file is subject to the terms and conditions of the GNU General Public | ||
9 | * License. See the file "COPYING" in the main directory of this archive | ||
10 | * for more details. | ||
11 | */ | ||
12 | #define pr_fmt(fmt) "intc: " fmt | ||
13 | |||
14 | #include <linux/irq.h> | ||
15 | #include <linux/bitmap.h> | ||
16 | #include <linux/spinlock.h> | ||
17 | #include <linux/module.h> | ||
18 | #include "internals.h" /* only for activate_irq() damage.. */ | ||
19 | |||
20 | /* | ||
21 | * The IRQ bitmap provides a global map of bound IRQ vectors for a | ||
22 | * given platform. Allocation of IRQs are either static through the CPU | ||
23 | * vector map, or dynamic in the case of board mux vectors or MSI. | ||
24 | * | ||
25 | * As this is a central point for all IRQ controllers on the system, | ||
26 | * each of the available sources are mapped out here. This combined with | ||
27 | * sparseirq makes it quite trivial to keep the vector map tightly packed | ||
28 | * when dynamically creating IRQs, as well as tying in to otherwise | ||
29 | * unused irq_desc positions in the sparse array. | ||
30 | */ | ||
31 | |||
32 | /* | ||
33 | * Dynamic IRQ allocation and deallocation | ||
34 | */ | ||
35 | unsigned int create_irq_nr(unsigned int irq_want, int node) | ||
36 | { | ||
37 | int irq = irq_alloc_desc_at(irq_want, node); | ||
38 | if (irq < 0) | ||
39 | return 0; | ||
40 | |||
41 | activate_irq(irq); | ||
42 | return irq; | ||
43 | } | ||
44 | |||
45 | int create_irq(void) | ||
46 | { | ||
47 | int irq = irq_alloc_desc(numa_node_id()); | ||
48 | if (irq >= 0) | ||
49 | activate_irq(irq); | ||
50 | |||
51 | return irq; | ||
52 | } | ||
53 | |||
54 | void destroy_irq(unsigned int irq) | ||
55 | { | ||
56 | irq_free_desc(irq); | ||
57 | } | ||
58 | |||
59 | void reserve_intc_vectors(struct intc_vect *vectors, unsigned int nr_vecs) | ||
60 | { | ||
61 | int i; | ||
62 | |||
63 | for (i = 0; i < nr_vecs; i++) | ||
64 | irq_reserve_irq(evt2irq(vectors[i].vect)); | ||
65 | } | ||