lkml.org 
[lkml]   [2016]   [Dec]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v6 1/3] clk: x86: Add Atom PMC platform clocks
On 12/13, Andy Shevchenko wrote:
> On Fri, Dec 9, 2016 at 8:01 PM, Irina Tirdea <irina.tirdea@intel.com> wrote:
>
> > --- a/drivers/clk/x86/Makefile
> > +++ b/drivers/clk/x86/Makefile
> > @@ -1,2 +1,5 @@
> > clk-x86-lpss-objs := clk-lpt.o
> > obj-$(CONFIG_X86_INTEL_LPSS) += clk-x86-lpss.o
>
> > +ifeq ($(CONFIG_COMMON_CLK), y)
>
> Hmm... I think (I didn't check) we don't go here otherwise.

We should move this statement to drivers/clk/Makefile around the
x86 line.

> > + void __iomem *base,
> > + const char **parent_names,
> > + int num_parents)
> > +{
> > + struct clk_plt *pclk;
> > + struct clk_init_data init;
> > + int ret;
> > +
> > + pclk = devm_kzalloc(&pdev->dev, sizeof(*pclk), GFP_KERNEL);
> > + if (!pclk)
> > + return ERR_PTR(-ENOMEM);
> > +
> > + init.name = kasprintf(GFP_KERNEL, "%s%d", PLT_CLK_NAME_BASE, id);
>
> devm_kasprintf()

Please no.

>
> > + init.ops = &plt_clk_ops;
> > + init.flags = 0;
> > + init.parent_names = parent_names;
> > + init.num_parents = num_parents;
> > +
> > + pclk->hw.init = &init;
> > + pclk->reg = base + id * PMC_CLK_CTL_SIZE;
> > + spin_lock_init(&pclk->lock);
> > +
> > + ret = devm_clk_hw_register(&pdev->dev, &pclk->hw);
> > + if (ret)
> > + goto err_free_init;
> > +
> > + pclk->lookup = clkdev_hw_create(&pclk->hw, init.name, NULL);
> > + if (!pclk->lookup) {
> > + ret = -ENOMEM;
> > + goto err_free_init;
> > + }
> > +
>
> > + kfree(init.name);
>
> devm_kfree();

It's all local to this function, devm isn't helping anything.
Having one kfree() would be good though. And using init.name for
the clkdev lookup is probably wrong and should be replaced with
something more generic along with an associated device name.

--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project

\
 
 \ /
  Last update: 2016-12-14 00:26    [W:0.096 / U:0.932 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site