Skip to content

Commit 3a95de5

Browse files
linuswdlezcano
authored andcommitted
clocksource/drivers/fttmr010: Pass around less pointers
Just pass bool flags from the different initcalls and use the flags to set the right pointers. This results in less pointers passed around in init. Cc: Cédric Le Goater <clg@kaod.org> Cc: Joel Stanley <joel@jms.id.au> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org> Link: https://lore.kernel.org/r/20210724224424.2085404-1-linus.walleij@linaro.org
1 parent ce95706 commit 3a95de5

File tree

1 file changed

+16
-16
lines changed

1 file changed

+16
-16
lines changed

drivers/clocksource/timer-fttmr010.c

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -271,9 +271,7 @@ static irqreturn_t ast2600_timer_interrupt(int irq, void *dev_id)
271271
}
272272

273273
static int __init fttmr010_common_init(struct device_node *np,
274-
bool is_aspeed,
275-
int (*timer_shutdown)(struct clock_event_device *),
276-
irq_handler_t irq_handler)
274+
bool is_aspeed, bool is_ast2600)
277275
{
278276
struct fttmr010 *fttmr010;
279277
int irq;
@@ -374,17 +372,25 @@ static int __init fttmr010_common_init(struct device_node *np,
374372
fttmr010->tick_rate);
375373
}
376374

377-
fttmr010->timer_shutdown = timer_shutdown;
378-
379375
/*
380376
* Setup clockevent timer (interrupt-driven) on timer 1.
381377
*/
382378
writel(0, fttmr010->base + TIMER1_COUNT);
383379
writel(0, fttmr010->base + TIMER1_LOAD);
384380
writel(0, fttmr010->base + TIMER1_MATCH1);
385381
writel(0, fttmr010->base + TIMER1_MATCH2);
386-
ret = request_irq(irq, irq_handler, IRQF_TIMER,
387-
"FTTMR010-TIMER1", &fttmr010->clkevt);
382+
383+
if (is_ast2600) {
384+
fttmr010->timer_shutdown = ast2600_timer_shutdown;
385+
ret = request_irq(irq, ast2600_timer_interrupt,
386+
IRQF_TIMER, "FTTMR010-TIMER1",
387+
&fttmr010->clkevt);
388+
} else {
389+
fttmr010->timer_shutdown = fttmr010_timer_shutdown;
390+
ret = request_irq(irq, fttmr010_timer_interrupt,
391+
IRQF_TIMER, "FTTMR010-TIMER1",
392+
&fttmr010->clkevt);
393+
}
388394
if (ret) {
389395
pr_err("FTTMR010-TIMER1 no IRQ\n");
390396
goto out_unmap;
@@ -432,23 +438,17 @@ static int __init fttmr010_common_init(struct device_node *np,
432438

433439
static __init int ast2600_timer_init(struct device_node *np)
434440
{
435-
return fttmr010_common_init(np, true,
436-
ast2600_timer_shutdown,
437-
ast2600_timer_interrupt);
441+
return fttmr010_common_init(np, true, true);
438442
}
439443

440444
static __init int aspeed_timer_init(struct device_node *np)
441445
{
442-
return fttmr010_common_init(np, true,
443-
fttmr010_timer_shutdown,
444-
fttmr010_timer_interrupt);
446+
return fttmr010_common_init(np, true, false);
445447
}
446448

447449
static __init int fttmr010_timer_init(struct device_node *np)
448450
{
449-
return fttmr010_common_init(np, false,
450-
fttmr010_timer_shutdown,
451-
fttmr010_timer_interrupt);
451+
return fttmr010_common_init(np, false, false);
452452
}
453453

454454
TIMER_OF_DECLARE(fttmr010, "faraday,fttmr010", fttmr010_timer_init);

0 commit comments

Comments
 (0)