}
}
- - *hw = clk_hw_register_composite(dev, data->name, data->parent_names,
- - data->num_parents, mux_hw,
- - mux_ops, rate_hw, rate_ops,
- - gate_hw, gate_ops, CLK_IGNORE_UNUSED);
+++ if (data->muxrate_hw) {
+++ struct clk_pm_cpu *pmcpu_clk;
+++ struct clk_hw *muxrate_hw = data->muxrate_hw;
+++ struct regmap *map;
+
- - if (IS_ERR(*hw))
- - return PTR_ERR(*hw);
+++ pmcpu_clk = to_clk_pm_cpu(muxrate_hw);
+++ pmcpu_clk->reg_mux = reg + (u64)pmcpu_clk->reg_mux;
+++ pmcpu_clk->reg_div = reg + (u64)pmcpu_clk->reg_div;
+
- - return 0;
+++ mux_hw = muxrate_hw;
+++ rate_hw = muxrate_hw;
+++ mux_ops = muxrate_hw->init->ops;
+++ rate_ops = muxrate_hw->init->ops;
+++
+++ map = syscon_regmap_lookup_by_compatible(
+++ "marvell,armada-3700-nb-pm");
+++ pmcpu_clk->nb_pm_base = map;
+++ }
+++
+ + *hw = clk_hw_register_composite(dev, data->name, data->parent_names,
- data->num_parents, mux_hw,
- mux_ops, rate_hw, rate_ops,
- gate_hw, gate_ops, CLK_IGNORE_UNUSED);
+++ data->num_parents, mux_hw,
+++ mux_ops, rate_hw, rate_ops,
+++ gate_hw, gate_ops, CLK_IGNORE_UNUSED);
+ +
- if (IS_ERR(*hw))
- return PTR_ERR(*hw);
-
- return 0;
++ + return PTR_ERR_OR_ZERO(*hw);
}
static int armada_3700_periph_clock_probe(struct platform_device *pdev)
obj-$(CONFIG_MSM_MMCC_8960) += mmcc-msm8960.o
obj-$(CONFIG_MSM_MMCC_8974) += mmcc-msm8974.o
obj-$(CONFIG_MSM_MMCC_8996) += mmcc-msm8996.o
+++ obj-$(CONFIG_QCOM_A53PLL) += a53-pll.o
+++ obj-$(CONFIG_QCOM_CLK_APCS_MSM8916) += apcs-msm8916.o
obj-$(CONFIG_QCOM_CLK_RPM) += clk-rpm.o
obj-$(CONFIG_QCOM_CLK_SMD_RPM) += clk-smd-rpm.o
+++obj-$(CONFIG_SPMI_PMIC_CLKDIV) += clk-spmi-pmic-div.o