|
@@ -65,15 +65,20 @@ int meson_aoclkc_probe(struct platform_device *pdev)
|
|
|
return ret;
|
|
return ret;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- /*
|
|
|
|
|
- * Populate regmap and register all clks
|
|
|
|
|
- */
|
|
|
|
|
- for (clkid = 0; clkid < data->num_clks; clkid++) {
|
|
|
|
|
|
|
+ /* Populate regmap */
|
|
|
|
|
+ for (clkid = 0; clkid < data->num_clks; clkid++)
|
|
|
data->clks[clkid]->map = regmap;
|
|
data->clks[clkid]->map = regmap;
|
|
|
|
|
|
|
|
|
|
+ /* Register all clks */
|
|
|
|
|
+ for (clkid = 0; clkid < data->hw_data->num; clkid++) {
|
|
|
|
|
+ if (!data->hw_data->hws[clkid])
|
|
|
|
|
+ continue;
|
|
|
|
|
+
|
|
|
ret = devm_clk_hw_register(dev, data->hw_data->hws[clkid]);
|
|
ret = devm_clk_hw_register(dev, data->hw_data->hws[clkid]);
|
|
|
- if (ret)
|
|
|
|
|
|
|
+ if (ret) {
|
|
|
|
|
+ dev_err(dev, "Clock registration failed\n");
|
|
|
return ret;
|
|
return ret;
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
return devm_of_clk_add_hw_provider(dev, of_clk_hw_onecell_get,
|
|
return devm_of_clk_add_hw_provider(dev, of_clk_hw_onecell_get,
|