lkml.org 
[lkml]   [2018]   [Sep]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v3 4/4] clk: pmc-atom: use devm_kstrdup_const()
    Date
    Use devm_kstrdup_const() in the pmc-atom driver. This mostly serves as
    an example of how to use this new routine to shrink driver code.

    While we're at it: replace a call to kcalloc() with devm_kcalloc().

    Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
    Reviewed-by: Stephen Boyd <sboyd@kernel.org>
    Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
    ---
    drivers/clk/x86/clk-pmc-atom.c | 19 ++++---------------
    1 file changed, 4 insertions(+), 15 deletions(-)

    diff --git a/drivers/clk/x86/clk-pmc-atom.c b/drivers/clk/x86/clk-pmc-atom.c
    index d977193842df..239197799ea3 100644
    --- a/drivers/clk/x86/clk-pmc-atom.c
    +++ b/drivers/clk/x86/clk-pmc-atom.c
    @@ -247,14 +247,6 @@ static void plt_clk_unregister_fixed_rate_loop(struct clk_plt_data *data,
    plt_clk_unregister_fixed_rate(data->parents[i]);
    }

    -static void plt_clk_free_parent_names_loop(const char **parent_names,
    - unsigned int i)
    -{
    - while (i--)
    - kfree_const(parent_names[i]);
    - kfree(parent_names);
    -}
    -
    static void plt_clk_unregister_loop(struct clk_plt_data *data,
    unsigned int i)
    {
    @@ -280,8 +272,8 @@ static const char **plt_clk_register_parents(struct platform_device *pdev,
    if (!data->parents)
    return ERR_PTR(-ENOMEM);

    - parent_names = kcalloc(nparents, sizeof(*parent_names),
    - GFP_KERNEL);
    + parent_names = devm_kcalloc(&pdev->dev, nparents,
    + sizeof(*parent_names), GFP_KERNEL);
    if (!parent_names)
    return ERR_PTR(-ENOMEM);

    @@ -294,7 +286,8 @@ static const char **plt_clk_register_parents(struct platform_device *pdev,
    err = PTR_ERR(data->parents[i]);
    goto err_unreg;
    }
    - parent_names[i] = kstrdup_const(clks[i].name, GFP_KERNEL);
    + parent_names[i] = devm_kstrdup_const(&pdev->dev,
    + clks[i].name, GFP_KERNEL);
    }

    data->nparents = nparents;
    @@ -302,7 +295,6 @@ static const char **plt_clk_register_parents(struct platform_device *pdev,

    err_unreg:
    plt_clk_unregister_fixed_rate_loop(data, i);
    - plt_clk_free_parent_names_loop(parent_names, i);
    return ERR_PTR(err);
    }

    @@ -352,8 +344,6 @@ static int plt_clk_probe(struct platform_device *pdev)
    goto err_drop_mclk;
    }

    - plt_clk_free_parent_names_loop(parent_names, data->nparents);
    -
    platform_set_drvdata(pdev, data);
    return 0;

    @@ -362,7 +352,6 @@ static int plt_clk_probe(struct platform_device *pdev)
    err_unreg_clk_plt:
    plt_clk_unregister_loop(data, i);
    plt_clk_unregister_parents(data);
    - plt_clk_free_parent_names_loop(parent_names, data->nparents);
    return err;
    }

    --
    2.18.0
    \
     
     \ /
      Last update: 2018-09-24 12:12    [W:4.390 / U:0.004 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site