Skip to contentSkip to conversation

mfd: mt6397: Use set_irq_flags only on ARM

PATCH New Sascha Hauer 4 participants 4 messages Mar 4, 2015 – Mar 9, 2015

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

PATCH 1/1 mfd: mt6397: Use set_irq_flags only on ARM

Continue the common pattern in MFD drivers and use set_irq_flags on ARM and irq_set_noprobe on other architectures. This fixes compilation on non ARM architecures.

---

Lee, feel free to squash this into the patch adding mt6397 core support. Alternatively I could also add some Kconfig dependency to compile this on ARM only if you are more comfortable with that.

 drivers/mfd/mt6397-core.c | 4 ++++
 1 file changed, 4 insertions(+)
drivers/mfd/mt6397-core.c +4 -0
index b61c4eb..09bc780 100644
@@ -121,7 +121,11 @@ static int mt6397_irq_domain_map(struct irq_domain *d, unsigned int irq,
 	irq_set_chip_data(irq, mt6397);
 	irq_set_chip_and_handler(irq, &mt6397_irq_chip, handle_level_irq);
 	irq_set_nested_thread(irq, 1);
+#ifdef CONFIG_ARM
 	set_irq_flags(irq, IRQF_VALID);
+#else
+	irq_set_noprobe(irq);
+#endif
 
 	return 0;
 }
Signature · 1 line
2.1.4
#1 lore raw

PATCH 1/1 mfd: mt6397: Use set_irq_flags only on ARM

Hello,

[Cc += tglx, rmk]

Quoted 19 lines · Sascha Hauer

Continue the common pattern in MFD drivers and use set_irq_flags on ARM and irq_set_noprobe on other architectures. This fixes compilation on non ARM architecures.

---

Lee, feel free to squash this into the patch adding mt6397 core support. Alternatively I could also add some Kconfig dependency to compile this on ARM only if you are more comfortable with that.

 drivers/mfd/mt6397-core.c | 4 ++++
 1 file changed, 4 insertions(+)
drivers/mfd/mt6397-core.c +0 -0
index b61c4eb..09bc780 100644

drivers/mfd/mt6397-core.c static int mt6397_irq_domain_map(struct irq_domain *d, unsigned int irq, · line 128

Quoted 8 lines
drivers/mfd/mt6397-core.c +4 -0
@@ -121,7 +121,11 @@ static int mt6397_irq_domain_map(struct irq_domain *d, unsigned int irq,
 	irq_set_chip_data(irq, mt6397);
 	irq_set_chip_and_handler(irq, &mt6397_irq_chip, handle_level_irq);
 	irq_set_nested_thread(irq, 1);
+#ifdef CONFIG_ARM
 	set_irq_flags(irq, IRQF_VALID);
+#else
+	irq_set_noprobe(irq);
+#endif

While this is what everyone does, I wonder why ARM is special here. Has this only historic reasons and needs refurbishment?

Best regards
Uwe

Signature · 2 lines
Pengutronix e.K.                           | Uwe Kleine-K?nig            |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
#2 lore raw

PATCH 1/1 mfd: mt6397: Use set_irq_flags only on ARM

Quoted 2 lines · Uwe Kleine-K?nig

While this is what everyone does, I wonder why ARM is special here. Has this only historic reasons and needs refurbishment?

We have platforms where we need to ensure that certain interrupts can't be requested.

Unfortunately, that was never properly dealt with when genirq came along, and we're pretty much stuck with this situation: going through and working out what the restrictions were is a much bigger problem than it was when genirq first happened. I don't see how we could sanely fix this now.

What we should probably at least do is work out a way that we can kill that ifdef, so we don't have the same hack appearing in many drivers.

Signature · 2 lines
FTTC broadband for 0.8mile line: currently at 10.5Mbps down 400kbps up
according to speedtest.net.
#3 lore raw

PATCH 1/1 mfd: mt6397: Use set_irq_flags only on ARM

In reply to Sascha Hauer
Quoted 10 lines · Sascha Hauer

Continue the common pattern in MFD drivers and use set_irq_flags on ARM and irq_set_noprobe on other architectures. This fixes compilation on non ARM architecures.

---

Lee, feel free to squash this into the patch adding mt6397 core support. Alternatively I could also add some Kconfig dependency to compile this on ARM only if you are more comfortable with that.

This solution is fine. I'm going to squash this patch.

Thanks for fixing.

Quoted 19 lines
 drivers/mfd/mt6397-core.c | 4 ++++
 1 file changed, 4 insertions(+)
drivers/mfd/mt6397-core.c +4 -0
index b61c4eb..09bc780 100644
@@ -121,7 +121,11 @@ static int mt6397_irq_domain_map(struct irq_domain *d, unsigned int irq,
 	irq_set_chip_data(irq, mt6397);
 	irq_set_chip_and_handler(irq, &mt6397_irq_chip, handle_level_irq);
 	irq_set_nested_thread(irq, 1);
+#ifdef CONFIG_ARM
 	set_irq_flags(irq, IRQF_VALID);
+#else
+	irq_set_noprobe(irq);
+#endif
 
 	return 0;
 }
Signature · 4 lines
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org ? Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog