Message ID | 20200301122243.4129-1-afzal.mohd.ma@gmail.com (mailing list archive) |
---|---|
State | Mainlined |
Commit | 2fcf53350810d0e2af9ef57a57957c6c739c5647 |
Headers | show |
Series | [v3] ARM: mmp: replace setup_irq() by request_irq() | expand |
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
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
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);
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(-)