The clk-spmi-pmic-div driver gets the parent name from the first (and the only) clock parent. So, use parent data, index 0 to setup the clock. Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx> --- drivers/clk/qcom/clk-spmi-pmic-div.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/drivers/clk/qcom/clk-spmi-pmic-div.c b/drivers/clk/qcom/clk-spmi-pmic-div.c index f2cf55cee2fd..aa015c51ab4f 100644 --- a/drivers/clk/qcom/clk-spmi-pmic-div.c +++ b/drivers/clk/qcom/clk-spmi-pmic-div.c @@ -175,6 +175,10 @@ static const struct clk_ops clk_spmi_pmic_div_ops = { .round_rate = clk_spmi_pmic_div_round_rate, }; +static const struct clk_parent_data clk_spmi_pmic_parent_data = { + .index = 0, +}; + struct spmi_pmic_div_clk_cc { int nclks; struct clkdiv clks[]; @@ -204,7 +208,6 @@ static int spmi_pmic_clkdiv_probe(struct platform_device *pdev) struct regmap *regmap; struct device *dev = &pdev->dev; struct device_node *of_node = dev->of_node; - const char *parent_name; int nclks, i, ret, cxo_hz; char name[20]; u32 start; @@ -246,14 +249,8 @@ static int spmi_pmic_clkdiv_probe(struct platform_device *pdev) cxo_hz = clk_get_rate(cxo); clk_put(cxo); - parent_name = of_clk_get_parent_name(of_node, 0); - if (!parent_name) { - dev_err(dev, "missing parent clock\n"); - return -ENODEV; - } - init.name = name; - init.parent_names = &parent_name; + init.parent_data = &clk_spmi_pmic_parent_data; init.num_parents = 1; init.ops = &clk_spmi_pmic_div_ops; -- 2.30.2