[PATCH] No need to call irq_domain_legacy_revmap() for twice

From: Mike Qiu
Date: Mon Sep 24 2012 - 05:37:56 EST


Function irq_create_mapping() calls irq_find_mapping(). The later
function has checked if the indicated IRQ domain has hw IRQ mapped to
virtual IRQ through legacy mode or not and return the value of the
legacy irq number by call irq_domain_legacy_revmap(). We needn't
to call irq_domain_legacy_revmap() to do same check in
irq_create_mapping() again.

The patch removes the duplicate call.

Signed-off-by: Mike Qiu <qiudayu@xxxxxxxxxxxxxxxxxx>
---
kernel/irq/irqdomain.c | 7 +++++--
1 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/kernel/irq/irqdomain.c b/kernel/irq/irqdomain.c
index 49a7772..286d672 100644
--- a/kernel/irq/irqdomain.c
+++ b/kernel/irq/irqdomain.c
@@ -547,9 +547,12 @@ unsigned int irq_create_mapping(struct irq_domain *domain,
return virq;
}

- /* Get a virtual interrupt number */
+ /*
+ * For IRQ domain with type of IRQ_DOMAIN_MAP_LEGACY, we needn't
+ * create the IRQ mapping for non-existing one, so just return 0.
+ */
if (domain->revmap_type == IRQ_DOMAIN_MAP_LEGACY)
- return irq_domain_legacy_revmap(domain, hwirq);
+ return 0;

/* Allocate a virtual interrupt number */
hint = hwirq % nr_irqs;
--
1.7.7.6

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/