mck is needed to get the PIT working. Explicitly prepare_enable it instead of assuming it is enabled.
This solves an issue where the system is freezing when the ETM/ETB drivers are enabled. Reported-by: Olivier Schonken <[email protected]> Reviewed-by: Boris Brezillon <[email protected]> Acked-by: Nicolas Ferre <[email protected]> Signed-off-by: Alexandre Belloni <[email protected]> --- drivers/clocksource/timer-atmel-pit.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/clocksource/timer-atmel-pit.c b/drivers/clocksource/timer-atmel-pit.c index 1ffac0cb0cb7..db839fc99a8e 100644 --- a/drivers/clocksource/timer-atmel-pit.c +++ b/drivers/clocksource/timer-atmel-pit.c @@ -261,6 +261,9 @@ static int __init at91sam926x_pit_dt_init(struct device_node *node) return PTR_ERR(data->mck); } + if (clk_prepare_enable(data->mck)) + panic(pr_fmt("Unable to enable mck\n")); + /* Get the interrupts property */ data->irq = irq_of_parse_and_map(node, 0); if (!data->irq) { -- 2.8.1

