diff mbox series

[RESEND,v4,7/9] clk: cs2000-cp: make clock skip setting configurable

Message ID 20220125093336.226787-8-daniel@zonque.org (mailing list archive)
State Accepted, archived
Headers show
Series clk: cs2000-cp: add dynamic mode and more features | expand

Commit Message

Daniel Mack Jan. 25, 2022, 9:33 a.m. UTC
The clock skip function of this chip is not necessarily desirable in
all hardware appliances. This patch makes the feature configurable
through a device-tree property.

Signed-off-by: Daniel Mack <daniel@zonque.org>
---
 drivers/clk/clk-cs2000-cp.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

Comments

Stephen Boyd Jan. 25, 2022, 10:30 p.m. UTC | #1
Quoting Daniel Mack (2022-01-25 01:33:34)
> The clock skip function of this chip is not necessarily desirable in
> all hardware appliances. This patch makes the feature configurable
> through a device-tree property.
> 
> Signed-off-by: Daniel Mack <daniel@zonque.org>
> ---

Applied to clk-next
diff mbox series

Patch

diff --git a/drivers/clk/clk-cs2000-cp.c b/drivers/clk/clk-cs2000-cp.c
index bd030e156d65..9f99e39b41f2 100644
--- a/drivers/clk/clk-cs2000-cp.c
+++ b/drivers/clk/clk-cs2000-cp.c
@@ -81,6 +81,7 @@  struct cs2000_priv {
 
 	bool dynamic_mode;
 	bool lf_ratio;
+	bool clk_skip;
 
 	/* suspend/resume */
 	unsigned long saved_rate;
@@ -133,7 +134,7 @@  static int cs2000_enable_dev_config(struct cs2000_priv *priv, bool enable)
 		return ret;
 
 	ret = cs2000_bset(priv, FUNC_CFG1, CLKSKIPEN,
-			  enable ? CLKSKIPEN : 0);
+			  (enable && priv->clk_skip) ? CLKSKIPEN : 0);
 	if (ret < 0)
 		return ret;
 
@@ -464,6 +465,8 @@  static int cs2000_clk_register(struct cs2000_priv *priv)
 	if (ret < 0)
 		return ret;
 
+	priv->clk_skip = of_property_read_bool(np, "cirrus,clock-skip");
+
 	ref_clk_rate = clk_get_rate(priv->ref_clk);
 	ret = cs2000_ref_clk_bound_rate(priv, ref_clk_rate);
 	if (ret < 0)