2020-03-04 00:43:52

by afzal mohammed

[permalink] [raw]
Subject: [PATCH v3] c6x: replace setup_irq() by request_irq()

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 Mark Salter,

i believe you are the maintainer of c6x, if you are okay w/ this change,
please consider taking it thr' your tree, else please let me know.

Regards
afzal

Link to v2 & v1,
[v2] https://lkml.kernel.org/r/[email protected]
[v1] https://lkml.kernel.org/r/[email protected]

v3:
* Split out from tree wide series, as Thomas suggested to get it thr'
respective maintainers
* Modify pr_err displayed in case of error
* Re-arrange code & choose pr_err args 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/c6x/platforms/timer64.c | 11 +++--------
1 file changed, 3 insertions(+), 8 deletions(-)

diff --git a/arch/c6x/platforms/timer64.c b/arch/c6x/platforms/timer64.c
index d98d94303498..661f4c7c6ef6 100644
--- a/arch/c6x/platforms/timer64.c
+++ b/arch/c6x/platforms/timer64.c
@@ -165,13 +165,6 @@ static irqreturn_t timer_interrupt(int irq, void *dev_id)
return IRQ_HANDLED;
}

-static struct irqaction timer_iact = {
- .name = "timer",
- .flags = IRQF_TIMER,
- .handler = timer_interrupt,
- .dev_id = &t64_clockevent_device,
-};
-
void __init timer64_init(void)
{
struct clock_event_device *cd = &t64_clockevent_device;
@@ -238,7 +231,9 @@ void __init timer64_init(void)
cd->cpumask = cpumask_of(smp_processor_id());

clockevents_register_device(cd);
- setup_irq(cd->irq, &timer_iact);
+ if (request_irq(cd->irq, timer_interrupt, IRQF_TIMER, "timer",
+ &t64_clockevent_device))
+ pr_err("Failed to request irq %d (timer)\n", cd->irq);

out:
of_node_put(np);
--
2.25.1


2020-03-13 12:22:06

by afzal mohammed

[permalink] [raw]
Subject: Re: [PATCH v3] c6x: replace setup_irq() by request_irq()

Hi Mark Salter,

On Wed, Mar 04, 2020 at 06:11:43AM +0530, afzal mohammed wrote:

> Hi Mark Salter,
>
> i believe you are the maintainer of c6x, if you are okay w/ this change,
> please consider taking it thr' your tree, else please let me know.

i am seeing the last signoff by you in arch/c6x around 2 years back, so
seems nowadays you are not sending pull request for c6x.

If you are planning to send this patch upstream, let me know or if you
are preferring to ack this so that this can be routed via tglx, please
do so (you had acked v1, since there were minor changes, i removed it
on newer versions).

Regards
afzal