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 <[email protected]>
---
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(-)
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);
--
2.25.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
On Sun, Mar 08, 2020 at 08:23:48PM +0530, afzal mohammed wrote:
> 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.
Olof,
I'm wondering if you could include this in arm-soc?
The patch is here, if you don't have the rest of the thread:
https://lore.kernel.org/lkml/[email protected]/
It has been
Acked-by: Lubomir Rintel <[email protected]>
Tested-by: Lubomir Rintel <[email protected]>
(afzal; I believe I've responded with the Tested-by before; please don't
forget collect those when resubmitting patches in future. Thanks!)
Thank you,
Lubo
>
> Regards
> afzal
Hi Lubo,
On Sun, Mar 08, 2020 at 05:19:03PM +0100, Lubomir Rintel wrote:
> It has been
> Acked-by: Lubomir Rintel <[email protected]>
> Tested-by: Lubomir Rintel <[email protected]>
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