clk: qcom: clk-rpm: convert to parent_data API
authorChristian Marangi <ansuelsmth@gmail.com>
Wed, 6 Jul 2022 22:53:20 +0000 (00:53 +0200)
committerBjorn Andersson <bjorn.andersson@linaro.org>
Tue, 19 Jul 2022 00:13:27 +0000 (19:13 -0500)
Convert clk-rpm driver to parent_data API.
We keep the old pxo/cxo_board parent naming to keep compatibility with
old DT and we use the new pxo/cxo for new implementation where these
clock are defined in DTS.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Link: https://lore.kernel.org/r/20220706225321.26215-4-ansuelsmth@gmail.com
drivers/clk/qcom/clk-rpm.c

index a18811c38018794e2bcf75566c9d5f3df53c9dbc..747c473b0b5ed4acdba1a73d539781546e9ab7f3 100644 (file)
 #define QCOM_RPM_SCALING_ENABLE_ID                     0x2
 #define QCOM_RPM_XO_MODE_ON                            0x2
 
+static const struct clk_parent_data gcc_pxo[] = {
+       { .fw_name = "pxo", .name = "pxo_board" },
+};
+
+static const struct clk_parent_data gcc_cxo[] = {
+       { .fw_name = "cxo", .name = "cxo_board" },
+};
+
 #define DEFINE_CLK_RPM(_platform, _name, _active, r_id)                              \
        static struct clk_rpm _platform##_##_active;                          \
        static struct clk_rpm _platform##_##_name = {                         \
@@ -32,8 +40,8 @@
                .hw.init = &(struct clk_init_data){                           \
                        .ops = &clk_rpm_ops,                                  \
                        .name = #_name,                                       \
-                       .parent_names = (const char *[]){ "pxo_board" },      \
-                       .num_parents = 1,                                     \
+                       .parent_data = gcc_pxo,                               \
+                       .num_parents = ARRAY_SIZE(gcc_pxo),                   \
                },                                                            \
        };                                                                    \
        static struct clk_rpm _platform##_##_active = {                       \
@@ -44,8 +52,8 @@
                .hw.init = &(struct clk_init_data){                           \
                        .ops = &clk_rpm_ops,                                  \
                        .name = #_active,                                     \
-                       .parent_names = (const char *[]){ "pxo_board" },      \
-                       .num_parents = 1,                                     \
+                       .parent_data = gcc_pxo,                               \
+                       .num_parents = ARRAY_SIZE(gcc_pxo),                   \
                },                                                            \
        }
 
@@ -56,8 +64,8 @@
                .hw.init = &(struct clk_init_data){                           \
                        .ops = &clk_rpm_xo_ops,                       \
                        .name = #_name,                                       \
-                       .parent_names = (const char *[]){ "cxo_board" },      \
-                       .num_parents = 1,                                     \
+                       .parent_data = gcc_cxo,                               \
+                       .num_parents = ARRAY_SIZE(gcc_cxo),                   \
                },                                                            \
        }
 
@@ -68,8 +76,8 @@
                .hw.init = &(struct clk_init_data){                           \
                        .ops = &clk_rpm_fixed_ops,                            \
                        .name = #_name,                                       \
-                       .parent_names = (const char *[]){ "pxo" },            \
-                       .num_parents = 1,                                     \
+                       .parent_data = gcc_pxo,                               \
+                       .num_parents = ARRAY_SIZE(gcc_pxo),                   \
                },                                                            \
        }