forked from ~ljy/RK356X_SDK_RELEASE

hc
2023-12-09 95099d4622f8cb224d94e314c7a8e0df60b13f87
kernel/arch/arm/mach-ep93xx/timer-ep93xx.c
....@@ -117,15 +117,11 @@
117117 return IRQ_HANDLED;
118118 }
119119
120
-static struct irqaction ep93xx_timer_irq = {
121
- .name = "ep93xx timer",
122
- .flags = IRQF_TIMER | IRQF_IRQPOLL,
123
- .handler = ep93xx_timer_interrupt,
124
- .dev_id = &ep93xx_clockevent,
125
-};
126
-
127120 void __init ep93xx_timer_init(void)
128121 {
122
+ int irq = IRQ_EP93XX_TIMER3;
123
+ unsigned long flags = IRQF_TIMER | IRQF_IRQPOLL;
124
+
129125 /* Enable and register clocksource and sched_clock on timer 4 */
130126 writel(EP93XX_TIMER4_VALUE_HIGH_ENABLE,
131127 EP93XX_TIMER4_VALUE_HIGH);
....@@ -136,7 +132,9 @@
136132 EP93XX_TIMER4_RATE);
137133
138134 /* Set up clockevent on timer 3 */
139
- setup_irq(IRQ_EP93XX_TIMER3, &ep93xx_timer_irq);
135
+ if (request_irq(irq, ep93xx_timer_interrupt, flags, "ep93xx timer",
136
+ &ep93xx_clockevent))
137
+ pr_err("Failed to request irq %d (ep93xx timer)\n", irq);
140138 clockevents_config_and_register(&ep93xx_clockevent,
141139 EP93XX_TIMER123_RATE,
142140 1,