clk: versatile: Export icst_clk_setup()
authorLinus Walleij <linus.walleij@linaro.org>
Wed, 19 Feb 2020 10:33:25 +0000 (11:33 +0100)
committerStephen Boyd <sboyd@kernel.org>
Sat, 21 Mar 2020 00:55:31 +0000 (17:55 -0700)
Export this clock setup method so we can register the
IM-PD1 clocks with common code in the next step.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://lkml.kernel.org/r/20200219103326.81120-2-linus.walleij@linaro.org
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
drivers/clk/versatile/clk-icst.c
drivers/clk/versatile/clk-icst.h

index fe686f7..692be2f 100644 (file)
 
 #define INTEGRATOR_AP_PCI_25_33_MHZ BIT(8)
 
-/**
- * enum icst_control_type - the type of ICST control register
- */
-enum icst_control_type {
-       ICST_VERSATILE, /* The standard type, all control bits available */
-       ICST_INTEGRATOR_AP_CM, /* Only 8 bits of VDW available */
-       ICST_INTEGRATOR_AP_SYS, /* Only 8 bits of VDW available */
-       ICST_INTEGRATOR_AP_PCI, /* Odd bit pattern storage */
-       ICST_INTEGRATOR_CP_CM_CORE, /* Only 8 bits of VDW and 3 bits of OD */
-       ICST_INTEGRATOR_CP_CM_MEM, /* Only 8 bits of VDW and 3 bits of OD */
-};
-
 /**
  * struct clk_icst - ICST VCO clock wrapper
  * @hw: corresponding clock hardware entry
@@ -344,12 +332,12 @@ static const struct clk_ops icst_ops = {
        .set_rate = icst_set_rate,
 };
 
-static struct clk *icst_clk_setup(struct device *dev,
-                                 const struct clk_icst_desc *desc,
-                                 const char *name,
-                                 const char *parent_name,
-                                 struct regmap *map,
-                                 enum icst_control_type ctype)
+struct clk *icst_clk_setup(struct device *dev,
+                          const struct clk_icst_desc *desc,
+                          const char *name,
+                          const char *parent_name,
+                          struct regmap *map,
+                          enum icst_control_type ctype)
 {
        struct clk *clk;
        struct clk_icst *icst;
@@ -386,6 +374,7 @@ static struct clk *icst_clk_setup(struct device *dev,
 
        return clk;
 }
+EXPORT_SYMBOL_GPL(icst_clk_setup);
 
 struct clk *icst_clk_register(struct device *dev,
                        const struct clk_icst_desc *desc,
index e36ca1a..1206f00 100644 (file)
@@ -1,4 +1,18 @@
 /* SPDX-License-Identifier: GPL-2.0 */
+struct regmap;
+
+/**
+ * enum icst_control_type - the type of ICST control register
+ */
+enum icst_control_type {
+       ICST_VERSATILE, /* The standard type, all control bits available */
+       ICST_INTEGRATOR_AP_CM, /* Only 8 bits of VDW available */
+       ICST_INTEGRATOR_AP_SYS, /* Only 8 bits of VDW available */
+       ICST_INTEGRATOR_AP_PCI, /* Odd bit pattern storage */
+       ICST_INTEGRATOR_CP_CM_CORE, /* Only 8 bits of VDW and 3 bits of OD */
+       ICST_INTEGRATOR_CP_CM_MEM, /* Only 8 bits of VDW and 3 bits of OD */
+};
+
 /**
  * struct clk_icst_desc - descriptor for the ICST VCO
  * @params: ICST parameters
@@ -17,3 +31,10 @@ struct clk *icst_clk_register(struct device *dev,
                              const char *name,
                              const char *parent_name,
                              void __iomem *base);
+
+struct clk *icst_clk_setup(struct device *dev,
+                          const struct clk_icst_desc *desc,
+                          const char *name,
+                          const char *parent_name,
+                          struct regmap *map,
+                          enum icst_control_type ctype);