[PATCH 4/6] mips: Move IP27 timer to request_percpu_irq()

From: Marc Zyngier

Date: Wed Dec 10 2025 - 03:24:04 EST


Teach the SGI IP27 timer about request_percpu_irq(), which ultimately
will allow for the removal of the antiquated setup_percpu_irq() API.

Signed-off-by: Marc Zyngier <maz@xxxxxxxxxx>
---
arch/mips/sgi-ip27/ip27-timer.c | 10 ++--------
1 file changed, 2 insertions(+), 8 deletions(-)

diff --git a/arch/mips/sgi-ip27/ip27-timer.c b/arch/mips/sgi-ip27/ip27-timer.c
index 444b5e0e935f7..5f4da05cb2c9d 100644
--- a/arch/mips/sgi-ip27/ip27-timer.c
+++ b/arch/mips/sgi-ip27/ip27-timer.c
@@ -58,13 +58,6 @@ static irqreturn_t hub_rt_counter_handler(int irq, void *dev_id)
return IRQ_HANDLED;
}

-struct irqaction hub_rt_irqaction = {
- .handler = hub_rt_counter_handler,
- .percpu_dev_id = &hub_rt_clockevent,
- .flags = IRQF_PERCPU | IRQF_TIMER,
- .name = "hub-rt",
-};
-
/*
* This is a hack; we really need to figure these values out dynamically
*
@@ -103,7 +96,8 @@ static void __init hub_rt_clock_event_global_init(void)
{
irq_set_handler(IP27_RT_TIMER_IRQ, handle_percpu_devid_irq);
irq_set_percpu_devid(IP27_RT_TIMER_IRQ);
- setup_percpu_irq(IP27_RT_TIMER_IRQ, &hub_rt_irqaction);
+ WARN_ON(request_percpu_irq(IP27_RT_TIMER_IRQ, hub_rt_counter_handler,
+ "hub-rt", &hub_rt_clockevent));
}

static u64 hub_rt_read(struct clocksource *cs)
--
2.47.3