[v3] ARM: mmp: replace setup_irq() by request_irq()
diff mbox series

Message ID 20200301122243.4129-1-afzal.mohd.ma@gmail.com
State Mainlined
Commit 2fcf53350810d0e2af9ef57a57957c6c739c5647
Headers show
Series
  • [v3] ARM: mmp: replace setup_irq() by request_irq()
Related show

Commit Message

afzal mohammed March 1, 2020, 12:22 p.m. UTC
request_irq() is preferred over setup_irq(). Invocations of setup_irq()
occur after memory allocators are ready.

Per tglx[1], setup_irq() existed in olden days when allocators were not
ready by the time early interrupts were initialized.

Hence replace setup_irq() by request_irq().

[1] https://lkml.kernel.org/r/alpine.DEB.2.20.1710191609480.1971@nanos

Signed-off-by: afzal mohammed <afzal.mohd.ma@gmail.com>
---
Hi sub-arch maintainers,

If the patch is okay, please take it thr' your tree.

Regards
afzal

v3:
 * Split out from series, also split out from ARM patch to subarch level
	as Thomas suggested to take it thr' respective maintainers
 * Modify string displayed in case of error as suggested by Thomas
 * Re-arrange code as required to improve readability
 * Remove irrelevant parts from commit message & improve
 
v2:
 * Replace pr_err("request_irq() on %s failed" by
           pr_err("%s: request_irq() failed"
 * Commit message massage

 arch/arm/mach-mmp/time.c | 11 +++--------
 1 file changed, 3 insertions(+), 8 deletions(-)

Comments

afzal mohammed March 8, 2020, 2:53 p.m. UTC | #1
Hi Lubomir,

On Sun, Mar 01, 2020 at 05:52:41PM +0530, afzal mohammed wrote:

> Hi sub-arch maintainers,
> 
> If the patch is okay, please take it thr' your tree.

get_maintainers doesn't show any maintainers for mmp, but it specifies
you as the sole reviewer, please let me know the route upstream for this
patch.

Regards
afzal
afzal mohammed March 9, 2020, 12:19 p.m. UTC | #2
Hi Lubo,

On Sun, Mar 08, 2020 at 05:19:03PM +0100, Lubomir Rintel wrote:

> It has been
> Acked-by: Lubomir Rintel <lkundrak@v3.sk>
> Tested-by: Lubomir Rintel <lkundrak@v3.sk>

Thanks

> (afzal; I believe I've responded with the Tested-by before; please don't
> forget collect those when resubmitting patches in future. Thanks!)

The reason was a few minor changes in v3 vs v2, as that was the case i
was unsure whether to keep it or not, so went conservative & removed it.

Regards
afzal

Patch
diff mbox series

diff --git a/arch/arm/mach-mmp/time.c b/arch/arm/mach-mmp/time.c
index c65cfc1ad99b..049a65f47b42 100644
--- a/arch/arm/mach-mmp/time.c
+++ b/arch/arm/mach-mmp/time.c
@@ -175,13 +175,6 @@  static void __init timer_config(void)
 	__raw_writel(0x2, mmp_timer_base + TMR_CER);
 }
 
-static struct irqaction timer_irq = {
-	.name		= "timer",
-	.flags		= IRQF_TIMER | IRQF_IRQPOLL,
-	.handler	= timer_interrupt,
-	.dev_id		= &ckevt,
-};
-
 void __init mmp_timer_init(int irq, unsigned long rate)
 {
 	timer_config();
@@ -190,7 +183,9 @@  void __init mmp_timer_init(int irq, unsigned long rate)
 
 	ckevt.cpumask = cpumask_of(0);
 
-	setup_irq(irq, &timer_irq);
+	if (request_irq(irq, timer_interrupt, IRQF_TIMER | IRQF_IRQPOLL,
+			"timer", &ckevt))
+		pr_err("Failed to request irq %d (timer)\n", irq);
 
 	clocksource_register_hz(&cksrc, rate);
 	clockevents_config_and_register(&ckevt, rate, MIN_DELTA, MAX_DELTA);