clocksource/drivers/timer-atmel-pit: Enable mck clock
authorAlexandre Belloni <alexandre.belloni@free-electrons.com>
Tue, 23 Aug 2016 08:44:02 +0000 (10:44 +0200)
committerDaniel Lezcano <daniel.lezcano@linaro.org>
Fri, 26 Aug 2016 13:55:58 +0000 (15:55 +0200)
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 <olivier.schonken@gmail.com>
Reviewed-by: Boris Brezillon <boris.brezillon@free-electrons.com>
Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
drivers/clocksource/timer-atmel-pit.c

index 1ffac0cb0cb78496d684e987d7b17f3b99a28775..3494bc5a21d556bef082b1b7e44297db93ed98fb 100644 (file)
@@ -261,6 +261,12 @@ static int __init at91sam926x_pit_dt_init(struct device_node *node)
                return PTR_ERR(data->mck);
        }
 
+       ret = clk_prepare_enable(data->mck);
+       if (ret) {
+               pr_err("Unable to enable mck\n");
+               return ret;
+       }
+
        /* Get the interrupts property */
        data->irq = irq_of_parse_and_map(node, 0);
        if (!data->irq) {