[alsa-devel] [PATCH 09/39 v2] ASoC: simple-card-utils: add asoc_simple_card_parse_clk()

Kuninori Morimoto kuninori.morimoto.gx at renesas.com
Thu Jun 30 02:39:12 CEST 2016


Hi Mark, again

> > > +	struct clk *clk;
> > > +	u32 val;
> > > +
> > > +	/*
> > > +	 * Parse dai->sysclk come from "clocks = <&xxx>"
> > > +	 * (if system has common clock)
> > > +	 *  or "system-clock-frequency = <xxx>"
> > > +	 *  or device's module clock.
> > > +	 */
> > > +	clk = of_clk_get(port_np, 0);
> > > +	if (!IS_ERR(clk)) {
> > > +		simple_dai->sysclk = clk_get_rate(clk);
> > > +		simple_dai->clk = clk;
> > > +	} else if (!of_property_read_u32(port_np, "system-clock-frequency", &val)) {
> > > +		simple_dai->sysclk = val;
> > > +	} else {
> > > +		clk = of_clk_get(endpoint_np, 0);
> > > +		if (!IS_ERR(clk))
> > > +			simple_dai->sysclk = clk_get_rate(clk);
> > > +	}
> > 
> > This looks like we're leaking the clocks - devm_ might help here
> > perhaps?
> 
> Good catch.
> This came from original simple-card, but yes, we should use devm_*
> I will fix it on v3

Oops, of_clk_get() doesn't have devm_of_clk_get() ?
(and no of_clk_put() ... )
I will keep above as-is in v3. We can fix it incrementally (?)


More information about the Alsa-devel mailing list