Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1380342 > unrolled thread

Re: [PATCH v3 01/19] clk: composite: Add unregister function

Started byStephen Boyd <sboyd@codeaurora.org>
First post2016-04-16 00:30 +0200
Last post2016-04-22 00:20 +0200
Articles 3 — 2 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: [PATCH v3 01/19] clk: composite: Add unregister function Stephen Boyd <sboyd@codeaurora.org> - 2016-04-16 00:30 +0200
    Re: [PATCH v3 01/19] clk: composite: Add unregister function Maxime Ripard <maxime.ripard@free-electrons.com> - 2016-04-19 12:00 +0200
      Re: [PATCH v3 01/19] clk: composite: Add unregister function Stephen Boyd <sboyd@codeaurora.org> - 2016-04-22 00:20 +0200

#1380342 — Re: [PATCH v3 01/19] clk: composite: Add unregister function

FromStephen Boyd <sboyd@codeaurora.org>
Date2016-04-16 00:30 +0200
SubjectRe: [PATCH v3 01/19] clk: composite: Add unregister function
Message-ID<rokps-1JE-21@gated-at.bofh.it>
On 03/23, Maxime Ripard wrote:
> The composite clock didn't have any unregistration function, which forced
> us to use clk_unregister directly on it.
> 
> While it was already not great from an API point of view, it also meant
> that we were leaking the clk_composite structure allocated in
> clk_register_composite.
> 
> Add a clk_unregister_composite function to fix this.
> 
> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
> ---

I'm currently attempting to change the way clks are registered so
that we don't return clk pointers from clk_register and have
users add OF clk providers that return clk_hw pointers instead of
clk pointers. Just a note, that this whole thing should be
deleted in the next cycle if I can convert everything!

>  drivers/clk/clk-composite.c  | 15 +++++++++++++++
>  include/linux/clk-provider.h |  1 +
>  2 files changed, 16 insertions(+)
> 
> diff --git a/drivers/clk/clk-composite.c b/drivers/clk/clk-composite.c
> index 1f903e1f86a2..b0f3b84ebd13 100644
> --- a/drivers/clk/clk-composite.c
> +++ b/drivers/clk/clk-composite.c
> @@ -286,3 +286,18 @@ err:
>  	kfree(composite);
>  	return clk;
>  }
> +
> +void clk_unregister_composite(struct clk *clk)
> +{
> +	struct clk_composite *composite;
> +	struct clk_hw *hw;
> +
> +	hw = __clk_get_hw(clk);
> +	if (!hw)
> +		return;
> +
> +	composite = to_clk_composite(hw);
> +
> +	clk_unregister(clk);
> +	kfree(composite);
> +}

EXPORT_SYMBOL_GPL?

Do I need to pick this up?

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

[toc] | [next] | [standalone]


#1382355

FromMaxime Ripard <maxime.ripard@free-electrons.com>
Date2016-04-19 12:00 +0200
Message-ID<rpABS-4Lu-59@gated-at.bofh.it>
In reply to#1380342

[Multipart message — attachments visible in raw view] — view raw

Hi,

On Fri, Apr 15, 2016 at 03:28:56PM -0700, Stephen Boyd wrote:
> On 03/23, Maxime Ripard wrote:
> > The composite clock didn't have any unregistration function, which forced
> > us to use clk_unregister directly on it.
> > 
> > While it was already not great from an API point of view, it also meant
> > that we were leaking the clk_composite structure allocated in
> > clk_register_composite.
> > 
> > Add a clk_unregister_composite function to fix this.
> > 
> > Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
> > ---
> 
> I'm currently attempting to change the way clks are registered so
> that we don't return clk pointers from clk_register and have
> users add OF clk providers that return clk_hw pointers instead of
> clk pointers. Just a note, that this whole thing should be
> deleted in the next cycle if I can convert everything!

Ok.

> 
> >  drivers/clk/clk-composite.c  | 15 +++++++++++++++
> >  include/linux/clk-provider.h |  1 +
> >  2 files changed, 16 insertions(+)
> > 
> > diff --git a/drivers/clk/clk-composite.c b/drivers/clk/clk-composite.c
> > index 1f903e1f86a2..b0f3b84ebd13 100644
> > --- a/drivers/clk/clk-composite.c
> > +++ b/drivers/clk/clk-composite.c
> > @@ -286,3 +286,18 @@ err:
> >  	kfree(composite);
> >  	return clk;
> >  }
> > +
> > +void clk_unregister_composite(struct clk *clk)
> > +{
> > +	struct clk_composite *composite;
> > +	struct clk_hw *hw;
> > +
> > +	hw = __clk_get_hw(clk);
> > +	if (!hw)
> > +		return;
> > +
> > +	composite = to_clk_composite(hw);
> > +
> > +	clk_unregister(clk);
> > +	kfree(composite);
> > +}
> 
> EXPORT_SYMBOL_GPL?

The register function is not registered, so I don't think that's
necessary.

> Do I need to pick this up?

I have a bunch of other clock patches that need this, so I guess it
would be easier if applied it directly with your acked-by, or if you
could apply it and give a stable branch I can base my future PR on.

Thanks!
Maxime

-- 
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

[toc] | [prev] | [next] | [standalone]


#1384596

FromStephen Boyd <sboyd@codeaurora.org>
Date2016-04-22 00:20 +0200
Message-ID<rqv74-8cm-19@gated-at.bofh.it>
In reply to#1382355
On 04/19, Maxime Ripard wrote:
> 
> I have a bunch of other clock patches that need this, so I guess it
> would be easier if applied it directly with your acked-by, or if you
> could apply it and give a stable branch I can base my future PR on.

Ok. I pushed it to stable branch 'clk-composite-unregister' in
the clk.git repo. That way I can go ahead and delete this API
assuming I get around to converting all the composite users in
the next few days.

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

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web