All of lore.kernel.org
 help / color / mirror / Atom feed
From: mturquette@ti.com (Turquette, Mike)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 1/3] clk: always pass parent_rate into .round_rate
Date: Sun, 6 May 2012 16:41:59 -0700	[thread overview]
Message-ID: <CAJOA=zM7nkwadYGoPcYYJgkfhr9d05BTSmw30ez+h5KhWfK=-g@mail.gmail.com> (raw)
In-Reply-To: <20120502095108.GF20478@pengutronix.de>

On 20120502-11:51, Sascha Hauer wrote:
> On Thu, Apr 12, 2012 at 08:50:17PM +0800, Shawn Guo wrote:
> > diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c
> > index af2bf12..19caa0a 100644
> > --- a/drivers/clk/clk.c
> > +++ b/drivers/clk/clk.c
> > @@ -582,7 +582,7 @@ EXPORT_SYMBOL_GPL(clk_get_rate);
> >   */
> >  unsigned long __clk_round_rate(struct clk *clk, unsigned long rate)
> >  {
> > -	unsigned long unused;
> > +	unsigned long parent_rate = 0;
> >
> >  	if (!clk)
> >  		return -EINVAL;
> > @@ -590,10 +590,10 @@ unsigned long __clk_round_rate(struct clk *clk, unsigned long rate)
> >  	if (!clk->ops->round_rate)
> >  		return clk->rate;
> >
> > -	if (clk->flags & CLK_SET_RATE_PARENT)
> > -		return clk->ops->round_rate(clk->hw, rate, &unused);
> > -	else
> > -		return clk->ops->round_rate(clk->hw, rate, NULL);
> > +	if (clk->parent)
> > +		parent_rate = clk->parent->rate;
> > +
> > +	return clk->ops->round_rate(clk->hw, rate, &parent_rate);
> >  }
> >
> >  /**
> > @@ -763,7 +763,7 @@ static void clk_calc_subtree(struct clk *clk, unsigned long new_rate)
> >  static struct clk *clk_calc_new_rates(struct clk *clk, unsigned long rate)
> >  {
> >  	struct clk *top = clk;
> > -	unsigned long best_parent_rate;
> > +	unsigned long best_parent_rate = 0;
> >  	unsigned long new_rate;
> >
> >  	/* sanity */
> > @@ -775,9 +775,6 @@ static struct clk *clk_calc_new_rates(struct clk *clk, unsigned long rate)
> >  		if (!clk->ops->round_rate) {
> >  			clk->new_rate = clk->rate;
> >  			return NULL;
> > -		} else {
> > -			new_rate = clk->ops->round_rate(clk->hw, rate, NULL);
> > -			goto out;
> >  		}
> >  	}
>
>
> This patch allows a clk to change a parent clk rate even when
> CLK_SET_RATE_PARENT is not set.
>
> Before this patch we used to pass a NULL pointer as parent clk rate when
> a clk was not allowed to change a parent rate. Now we rely on the
> goodwill of the clk not changing the parent rate. I'll prepare a patch
> catching this in the framework.

I've cooked up a patch for this and will push it to the list for comments.

Regards,
Mike

  reply	other threads:[~2012-05-06 23:41 UTC|newest]

Thread overview: 92+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-12  1:02 [PATCH 00/13] common clk framework misc fixes Mike Turquette
2012-04-12  1:02 ` Mike Turquette
2012-04-12  1:02 ` [PATCH 01/13] clk: core: correct clk_set_rate kerneldoc Mike Turquette
2012-04-12  1:02   ` Mike Turquette
2012-04-12  4:28   ` Viresh Kumar
2012-04-12  4:28     ` Viresh Kumar
2012-04-13 22:23     ` Turquette, Mike
2012-04-13 22:23       ` Turquette, Mike
2012-04-12  7:24   ` Andrew Lunn
2012-04-12  7:24     ` Andrew Lunn
2012-04-12  7:38     ` Amit Kucheria
2012-04-12  7:38       ` Amit Kucheria
2012-04-12  1:02 ` [PATCH 02/13] clk: core: remove dead code paths Mike Turquette
2012-04-12  1:02   ` Mike Turquette
2012-04-12  6:14   ` Viresh Kumar
2012-04-12  6:14     ` Viresh Kumar
2012-04-13 22:27     ` Turquette, Mike
2012-04-13 22:27       ` Turquette, Mike
2012-04-12  1:02 ` [PATCH 03/13] clk: core: clk_calc_new_rates handles NULL parents Mike Turquette
2012-04-12  1:02   ` Mike Turquette
2012-04-12  1:02 ` [PATCH 04/13] clk: core: enforce clk_ops consistency Mike Turquette
2012-04-12  1:02   ` Mike Turquette
2012-04-12  6:17   ` Viresh Kumar
2012-04-12  6:17     ` Viresh Kumar
2012-04-12  1:02 ` [PATCH 05/13] clk: use kzalloc in clk_register_mux Mike Turquette
2012-04-12  1:02   ` Mike Turquette
2012-04-12  6:18   ` Viresh Kumar
2012-04-12  6:18     ` Viresh Kumar
2012-04-12  1:02 ` [PATCH 06/13] clk: remove unnecessary EXPORT_SYMBOL_GPL Mike Turquette
2012-04-12  1:02   ` Mike Turquette
2012-04-12  6:18   ` Viresh Kumar
2012-04-12  6:18     ` Viresh Kumar
2012-04-12  1:02 ` [PATCH 07/13] clk: add "const" for clk_ops of basic clks Mike Turquette
2012-04-12  1:02   ` Mike Turquette
2012-04-12  6:19   ` Viresh Kumar
2012-04-12  6:19     ` Viresh Kumar
2012-04-12  1:02 ` [PATCH 08/13] clk: declare clk_ops of basic clks in clk-provider.h Mike Turquette
2012-04-12  1:02   ` Mike Turquette
2012-04-12  6:20   ` Viresh Kumar
2012-04-12  6:20     ` Viresh Kumar
2012-04-12  1:02 ` [PATCH 09/13] clk: Make clk_get_rate() return 0 on error Mike Turquette
2012-04-12  1:02   ` Mike Turquette
2012-04-12  6:21   ` Viresh Kumar
2012-04-12  6:21     ` Viresh Kumar
2012-04-12  1:02 ` [PATCH 10/13] clk: Remove comment for end of CONFIG_COMMON_CLK section Mike Turquette
2012-04-12  1:02   ` Mike Turquette
2012-04-12  1:02 ` [PATCH 11/13] clk: Constify parent name arrays Mike Turquette
2012-04-12  1:02   ` Mike Turquette
2012-04-12  1:02 ` [PATCH 12/13] clk: core: copy parent_names & return error codes Mike Turquette
2012-04-12  1:02   ` Mike Turquette
2012-04-16 20:30   ` Sascha Hauer
2012-04-16 20:30     ` Sascha Hauer
2012-04-16 21:35     ` Turquette, Mike
2012-04-16 21:35       ` Turquette, Mike
2012-04-12  1:02 ` [PATCH 13/13] clk: basic: improve parent_names & return errors Mike Turquette
2012-04-12  1:02   ` Mike Turquette
2012-04-12  6:49   ` Shawn Guo
2012-04-12  6:49     ` Shawn Guo
2012-04-16 23:10     ` Turquette, Mike
2012-04-16 23:10       ` Turquette, Mike
2012-04-17  1:46       ` Shawn Guo
2012-04-17  1:46         ` Shawn Guo
2012-04-17  3:50         ` Turquette, Mike
2012-04-17  3:50           ` Turquette, Mike
2012-04-17  7:17           ` Shawn Guo
2012-04-17  7:17             ` Shawn Guo
2012-04-20 20:01             ` Saravana Kannan
2012-04-20 20:01               ` Saravana Kannan
2012-04-26  6:00             ` Saravana Kannan
2012-04-26  6:00               ` Saravana Kannan
2012-04-16 20:52   ` Sascha Hauer
2012-04-16 20:52     ` Sascha Hauer
2012-04-16 23:11     ` Turquette, Mike
2012-04-16 23:11       ` Turquette, Mike
2012-04-12  8:56 ` [PATCH 00/13] common clk framework misc fixes Sascha Hauer
2012-04-12  8:56   ` Sascha Hauer
2012-04-12 11:14 ` Arnd Bergmann
2012-04-12 11:14   ` Arnd Bergmann
2012-04-12 13:11   ` Shawn Guo
2012-04-12 13:11     ` Shawn Guo
2012-04-12 12:50 ` [PATCH 1/3] clk: always pass parent_rate into .round_rate Shawn Guo
2012-04-12 12:50   ` [PATCH 2/3] clk: pass parent_rate into .set_rate Shawn Guo
2012-04-18  1:05     ` Turquette, Mike
2012-04-12 12:50   ` [PATCH 3/3] clk: propagate round_rate for CLK_SET_RATE_PARENT case Shawn Guo
2012-04-18  1:07     ` Turquette, Mike
2012-04-18  1:05   ` [PATCH 1/3] clk: always pass parent_rate into .round_rate Turquette, Mike
2012-05-02  9:51   ` Sascha Hauer
2012-05-06 23:41     ` Turquette, Mike [this message]
2012-04-13  9:21 ` [PATCH 00/13] common clk framework misc fixes Mark Brown
2012-04-13  9:21   ` Mark Brown
2012-04-13 22:20   ` Turquette, Mike
2012-04-13 22:20     ` Turquette, Mike

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAJOA=zM7nkwadYGoPcYYJgkfhr9d05BTSmw30ez+h5KhWfK=-g@mail.gmail.com' \
    --to=mturquette@ti.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.