Skip to contentSkip to conversation

mfd/db8500-prcmu: use the irq_domain_add_simple()

PATCH New Linus Walleij 2 participants 2 messages Oct 18, 2012 – Nov 5, 2012

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 7/8 mfd/db8500-prcmu: use the irq_domain_add_simple()

From: Linus Walleij <[email protected]>

To be able to use SPARSE_IRQ while yet not using device tree, we need to use irq_domain_add_simple() that will allocate descriptors for the IRQs in the non-DT case, and fall back to using the linear irqdomain in the DT case.

Cc Lee Jones <[email protected]>
Cc Samuel Ortiz <[email protected]>

---
Sam, requesting you ACK on this patch so we can merge them all together.
Lee, requesting your testing with Device Tree to see that this actually can fly as I wanted it.

---
 drivers/mfd/db8500-prcmu.c | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)
drivers/mfd/db8500-prcmu.c +9 -3
index 00b8b0f..cea29ba 100644
@@ -2697,9 +2697,15 @@ static struct irq_domain_ops db8500_irq_ops = {
 
 static int db8500_irq_init(struct device_node *np)
 {
-	db8500_irq_domain = irq_domain_add_legacy(
-		np, NUM_PRCMU_WAKEUPS, IRQ_PRCMU_BASE,
-		0, &db8500_irq_ops, NULL);
+	int irq_base = -1;
+
+	/* In the device tree case, just take some IRQs */
+	if (!np)
+		irq_base = IRQ_PRCMU_BASE;
+
+	db8500_irq_domain = irq_domain_add_simple(
+		np, NUM_PRCMU_WAKEUPS, irq_base,
+		&db8500_irq_ops, NULL);
 
 	if (!db8500_irq_domain) {
 		pr_err("Failed to create irqdomain\n");
Signature · 1 line
1.7.11.3
#1 lore raw

PATCH 7/8 mfd/db8500-prcmu: use the irq_domain_add_simple()

Hi Linus,

Quoted 10 lines · Linus Walleij

From: Linus Walleij <[email protected]>

To be able to use SPARSE_IRQ while yet not using device tree, we need to use irq_domain_add_simple() that will allocate descriptors for the IRQs in the non-DT case, and fall back to using the linear irqdomain in the DT case.

Cc Lee Jones <[email protected]>
Cc Samuel Ortiz <[email protected]>

Cheers,
Samuel.

Signature · 2 lines
Intel Open Source Technology Centre
http://oss.intel.com/