From 207e48f5616fd2b09ce0270ede49d1cde8b836e5 Mon Sep 17 00:00:00 2001 From: Michael Tretter Date: Thu, 24 Jun 2021 17:00:49 +0200 Subject: clk: zynqmp: do not enable already enabled clocks The pmu fw manages the permissions who can enable/disable the clocks. There are a few clocks (TOPSW_LSBUS and LSBUS) which are exposed to Barebox and Barebox assumes that is has to enable the clocks. However, the pmu fw considers the clocks under its control and returns a permission denied for the clock enable request. Assume that clocks that are already enabled don't need to be enable by Barebox to avoid the permission denied errors. Signed-off-by: Michael Tretter Link: https://lore.barebox.org/20210624150054.1205422-3-m.tretter@pengutronix.de Signed-off-by: Sascha Hauer --- drivers/clk/zynqmp/clk-gate-zynqmp.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'drivers') diff --git a/drivers/clk/zynqmp/clk-gate-zynqmp.c b/drivers/clk/zynqmp/clk-gate-zynqmp.c index a3b9ee21e5..493c1dfeaa 100644 --- a/drivers/clk/zynqmp/clk-gate-zynqmp.c +++ b/drivers/clk/zynqmp/clk-gate-zynqmp.c @@ -28,6 +28,9 @@ static int zynqmp_clk_gate_enable(struct clk_hw *hw) { struct zynqmp_clk_gate *gate = to_zynqmp_clk_gate(hw); + if (clk_hw_is_enabled(hw)) + return 0; + return gate->ops->clock_enable(gate->clk_id); } -- cgit v1.2.3