hc
2024-05-10 37f49e37ab4cb5d0bc4c60eb5c6d4dd57db767bb
kernel/arch/m68k/coldfire/pit.c
....@@ -111,14 +111,6 @@
111111
112112 /***************************************************************************/
113113
114
-static struct irqaction pit_irq = {
115
- .name = "timer",
116
- .flags = IRQF_TIMER,
117
- .handler = pit_tick,
118
-};
119
-
120
-/***************************************************************************/
121
-
122114 static u64 pit_read_clk(struct clocksource *cs)
123115 {
124116 unsigned long flags;
....@@ -146,6 +138,8 @@
146138
147139 void hw_timer_init(irq_handler_t handler)
148140 {
141
+ int ret;
142
+
149143 cf_pit_clockevent.cpumask = cpumask_of(smp_processor_id());
150144 cf_pit_clockevent.mult = div_sc(FREQ, NSEC_PER_SEC, 32);
151145 cf_pit_clockevent.max_delta_ns =
....@@ -156,7 +150,11 @@
156150 cf_pit_clockevent.min_delta_ticks = 0x3f;
157151 clockevents_register_device(&cf_pit_clockevent);
158152
159
- setup_irq(MCF_IRQ_PIT1, &pit_irq);
153
+ ret = request_irq(MCF_IRQ_PIT1, pit_tick, IRQF_TIMER, "timer", NULL);
154
+ if (ret) {
155
+ pr_err("Failed to request irq %d (timer): %pe\n", MCF_IRQ_PIT1,
156
+ ERR_PTR(ret));
157
+ }
160158
161159 clocksource_register_hz(&pit_clk, FREQ);
162160 }