Skip to content

Commit eb811c7

Browse files
Ezequiel Garciaralfbaechle
authored andcommitted
CLOCKSOURCE: mips-gic: Enable the clock before using it
For the clock to be used (e.g. get its rate through clk_get_rate) it should be prepared and enabled first. Also, while the clock is enabled the driver must hold a reference to it, so let's remove the call to clk_put. Reviewed-by: Andrew Bresticker <abrestic@chromium.org> Signed-off-by: Ezequiel Garcia <ezequiel.garcia@imgtec.com> Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org> Cc: linux-kernel@vger.kernel.org Cc: linux-mips@linux-mips.org Cc: devicetree@vger.kernel.org Cc: Thomas Gleixner <tglx@linutronix.de> Cc: James Hartley <James.Hartley@imgtec.com> Cc: Govindraj Raja <Govindraj.Raja@imgtec.com> Cc: Damien Horsley <Damien.Horsley@imgtec.com> Cc: James Hogan <James.Hogan@imgtec.com> Cc: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar> Patchwork: https://patchwork.linux-mips.org/patch/10779/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
1 parent 1a3d595 commit eb811c7

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

drivers/clocksource/mips-gic-timer.c

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -158,8 +158,13 @@ static void __init gic_clocksource_of_init(struct device_node *node)
158158

159159
clk = of_clk_get(node, 0);
160160
if (!IS_ERR(clk)) {
161+
if (clk_prepare_enable(clk) < 0) {
162+
pr_err("GIC failed to enable clock\n");
163+
clk_put(clk);
164+
return;
165+
}
166+
161167
gic_frequency = clk_get_rate(clk);
162-
clk_put(clk);
163168
} else if (of_property_read_u32(node, "clock-frequency",
164169
&gic_frequency)) {
165170
pr_err("GIC frequency not specified.\n");

0 commit comments

Comments
 (0)