Thread (29 messages) 29 messages, 2 authors, 2019-08-13

Re: [PATCH v6 02/14] crypto: caam - simplfy clock initialization

flat view

From: Andrey Smirnov <hidden>
Date: 2019-08-12 17:56:26
Also in: lkml

On Tue, Jul 23, 2019 at 7:17 AM Horia Geanta [off-list ref] wrote:
On 7/17/2019 6:25 PM, Andrey Smirnov wrote:
quoted
Simplify clock initialization code by converting it to use clk-bulk,
devres and soc_device_match() match table. No functional change
intended.
Thanks.
Two nitpicks below.
quoted
+static int init_clocks(struct device *dev,
+                    struct caam_drv_private *ctrlpriv,
+                    const struct caam_imx_data *data)
+{
+     int ret;
+
+     ctrlpriv->num_clks = data->num_clks;
+     ctrlpriv->clks = devm_kmemdup(dev, data->clks,
+                                   data->num_clks * sizeof(data->clks[0]),
+                                   GFP_KERNEL);
+     if (!ctrlpriv->clks)
+             return -ENOMEM;
+
+     ret = devm_clk_bulk_get(dev, ctrlpriv->num_clks, ctrlpriv->clks);
+     if (ret) {
+             dev_err(dev,
+                     "Failed to request all necessary clocks\n");
+             return ret;
+     }
+
+     ret = clk_bulk_prepare_enable(ctrlpriv->num_clks, ctrlpriv->clks);
+     if (ret) {
+             dev_err(dev,
+                     "Failed to prepare/enable all necessary clocks\n");
+             return ret;
+     }
+
+     ret = devm_add_action_or_reset(dev, disable_clocks, ctrlpriv);
+     if (ret)
+             return ret;
+
+     return 0;
Or directly:
        return devm_add_action_or_reset(dev, disable_clocks, ctrlpriv);
quoted
+     imx_soc_match = soc_device_match(caam_imx_soc_table);
+     if (imx_soc_match) {
+             if (!imx_soc_match->data) {
+                     dev_err(dev, "No clock data provided for i.MX SoC");
+                     return -EINVAL;
[...]
quoted
+             ret = init_clocks(dev, ctrlpriv, imx_soc_match->data);
ctrlpriv can be retrieved using dev_get_drvdata(dev), thus there's no need
to pass it as parameter.
Will fix in v7.

Thanks,
Andrey Smirnov
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help