summaryrefslogtreecommitdiffstats
path: root/include/linux/irqdomain.h
diff options
context:
space:
mode:
authorGrant Likely <grant.likely@linaro.org>2013-06-06 12:10:24 +0100
committerGrant Likely <grant.likely@linaro.org>2013-06-10 11:52:09 +0100
commit9bbf877d3b6b8c5991000296f40a3f0fe66fa89b (patch)
tree0bad73ca231bbdff6b989482a3c8c375c631c90f /include/linux/irqdomain.h
parent5e1cda5b8ae93f5f02e8c5a30390ac9b4d2c20e6 (diff)
downloadlinux-9bbf877d3b6b8c5991000296f40a3f0fe66fa89b.tar.gz
linux-9bbf877d3b6b8c5991000296f40a3f0fe66fa89b.tar.bz2
linux-9bbf877d3b6b8c5991000296f40a3f0fe66fa89b.zip
irqdomain: Replace LEGACY mapping with LINEAR
The LEGACY mapping unnecessarily complicates the irqdomain code and can easily be implemented with a linear mapping. By ripping it out and replacing it with the LINEAR mapping the object size of irqdomain.c shrinks by about 330 bytes (ARMv7) which offsets the additional allocation required by the linear map. It also makes it possible for current LEGACY map users to pre-allocate irq_descs for a subset of the hwirqs and dynamically allocate the rest as needed. Signed-off-by: Grant Likely <grant.likely@linaro.org> Cc: Paul Mundt <lethal@linux-sh.org> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Rob Herring <rob.herring@calxeda.com>
Diffstat (limited to 'include/linux/irqdomain.h')
-rw-r--r--include/linux/irqdomain.h7
1 files changed, 0 insertions, 7 deletions
diff --git a/include/linux/irqdomain.h b/include/linux/irqdomain.h
index ba2c708adcff..6f062416e5bf 100644
--- a/include/linux/irqdomain.h
+++ b/include/linux/irqdomain.h
@@ -95,11 +95,6 @@ struct irq_domain {
union {
struct {
unsigned int size;
- unsigned int first_irq;
- irq_hw_number_t first_hwirq;
- } legacy;
- struct {
- unsigned int size;
unsigned int *revmap;
} linear;
struct {
@@ -117,8 +112,6 @@ struct irq_domain {
struct irq_domain_chip_generic *gc;
};
-#define IRQ_DOMAIN_MAP_LEGACY 0 /* driver allocated fixed range of irqs.
- * ie. legacy 8259, gets irqs 1..15 */
#define IRQ_DOMAIN_MAP_NOMAP 1 /* no fast reverse mapping */
#define IRQ_DOMAIN_MAP_LINEAR 2 /* linear map of interrupts */
#define IRQ_DOMAIN_MAP_TREE 3 /* radix tree */