Skip to content

Commit

Permalink
clocksource/drivers/fttmr010: Pass around less pointers
Browse files Browse the repository at this point in the history
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
  • Loading branch information
Linus Walleij authored and Daniel Lezcano committed Aug 14, 2021
1 parent ce95706 commit 3a95de5
Showing 1 changed file with 16 additions and 16 deletions.
32 changes: 16 additions & 16 deletions drivers/clocksource/timer-fttmr010.c
Original file line number Diff line number Diff line change
Expand Up @@ -271,9 +271,7 @@ static irqreturn_t ast2600_timer_interrupt(int irq, void *dev_id)
}

static int __init fttmr010_common_init(struct device_node *np,
bool is_aspeed,
int (*timer_shutdown)(struct clock_event_device *),
irq_handler_t irq_handler)
bool is_aspeed, bool is_ast2600)
{
struct fttmr010 *fttmr010;
int irq;
Expand Down Expand Up @@ -374,17 +372,25 @@ static int __init fttmr010_common_init(struct device_node *np,
fttmr010->tick_rate);
}

fttmr010->timer_shutdown = timer_shutdown;

/*
* Setup clockevent timer (interrupt-driven) on timer 1.
*/
writel(0, fttmr010->base + TIMER1_COUNT);
writel(0, fttmr010->base + TIMER1_LOAD);
writel(0, fttmr010->base + TIMER1_MATCH1);
writel(0, fttmr010->base + TIMER1_MATCH2);
ret = request_irq(irq, irq_handler, IRQF_TIMER,
"FTTMR010-TIMER1", &fttmr010->clkevt);

if (is_ast2600) {
fttmr010->timer_shutdown = ast2600_timer_shutdown;
ret = request_irq(irq, ast2600_timer_interrupt,
IRQF_TIMER, "FTTMR010-TIMER1",
&fttmr010->clkevt);
} else {
fttmr010->timer_shutdown = fttmr010_timer_shutdown;
ret = request_irq(irq, fttmr010_timer_interrupt,
IRQF_TIMER, "FTTMR010-TIMER1",
&fttmr010->clkevt);
}
if (ret) {
pr_err("FTTMR010-TIMER1 no IRQ\n");
goto out_unmap;
Expand Down Expand Up @@ -432,23 +438,17 @@ static int __init fttmr010_common_init(struct device_node *np,

static __init int ast2600_timer_init(struct device_node *np)
{
return fttmr010_common_init(np, true,
ast2600_timer_shutdown,
ast2600_timer_interrupt);
return fttmr010_common_init(np, true, true);
}

static __init int aspeed_timer_init(struct device_node *np)
{
return fttmr010_common_init(np, true,
fttmr010_timer_shutdown,
fttmr010_timer_interrupt);
return fttmr010_common_init(np, true, false);
}

static __init int fttmr010_timer_init(struct device_node *np)
{
return fttmr010_common_init(np, false,
fttmr010_timer_shutdown,
fttmr010_timer_interrupt);
return fttmr010_common_init(np, false, false);
}

TIMER_OF_DECLARE(fttmr010, "faraday,fttmr010", fttmr010_timer_init);
Expand Down

0 comments on commit 3a95de5

Please sign in to comment.