From: mturquette@linaro.org (Mike Turquette)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 0/4] clk: Provide option to unprepare unused clocks at late init
Date: Thu, 24 Jan 2013 10:49:44 -0800 [thread overview]
Message-ID: <20130124184944.10623.20870@quantum> (raw)
In-Reply-To: <1359045956-30741-1-git-send-email-ulf.hansson@stericsson.com>
Quoting Ulf Hansson (2013-01-24 08:45:52)
> From: Ulf Hansson <ulf.hansson@linaro.org>
>
> The disable_unused sequence executed at late init, is already handling the
> fast unused ungated clocks to be gated. This patchset extends this sequence to
> include the slow unused prepared clocks to be unprepared.
>
> The default behavior will not change in this patchset. To unprepare unused
> clocks during the disable_unused sequence, the clk_hw needs to implement
> the new optional callback, is_prepared.
>
> The motivation for this patchset is to save power. Clocks that is from
> bootloaders prepared|enabled, but not used should be unprepared|disabled.
>
> Patch 4 is specific for ux500, which implements the is_prepared callback
> for it's PRMCU clocks.
>
> Note that patch 1-3 has been sent earlier, but since a proof of concept
> patch could be useful, as patch 4 is, the hole patchset is resent.
>
Hi Ulf,
I had some minor discussion in patch #1. Otherwise patches #2 & #3 look
good to me.
Patch #4 is a bit interesting. There is nothing wrong with it per se,
but the general layering of the prcmu power stuff is the opposite of how
I had envisioned things. Your .prepare callback is making calls to some
pm_qos api but a quick grep did not reveal any definitions for those
functions, just some stubs in include/linux/mfd/dbx500-prcmu.h.
Do these functions scale voltage? I had figured that some day
per-device pm qos apis would call the clk api, not the other way around.
Anyways that is just food for thought and no reason to block patch #4.
Regards,
Mike
> Ulf Hansson (4):
> clk: Introduce optional is_prepared callback
> clk: Unprepare the unused prepared slow clocks at late init
> clk: Introduce optional unprepare_unused callback
> clk: ux500: Support is_prepared callback for clk-prcmu
>
> drivers/clk/clk.c | 53 ++++++++++++++++
> drivers/clk/ux500/clk-prcmu.c | 134 ++++++++++++++++++++++++-----------------
> include/linux/clk-provider.h | 11 ++++
> 3 files changed, 144 insertions(+), 54 deletions(-)
>
> --
> 1.7.10
next prev parent reply other threads:[~2013-01-24 18:49 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-01-24 16:45 [PATCH 0/4] clk: Provide option to unprepare unused clocks at late init Ulf Hansson
2013-01-24 16:45 ` [PATCH 1/4] clk: Introduce optional is_prepared callback Ulf Hansson
2013-01-24 18:12 ` Mike Turquette
2013-01-24 20:28 ` Ulf Hansson
2013-01-24 16:45 ` [PATCH 2/4] clk: Unprepare the unused prepared slow clocks at late init Ulf Hansson
2013-01-24 16:45 ` [PATCH 3/4] clk: Introduce optional unprepare_unused callback Ulf Hansson
2013-01-24 16:45 ` [PATCH 4/4] clk: ux500: Support is_prepared callback for clk-prcmu Ulf Hansson
2013-01-24 18:49 ` Mike Turquette [this message]
2013-01-24 20:41 ` [PATCH 0/4] clk: Provide option to unprepare unused clocks at late init Ulf Hansson
2013-02-08 8:33 ` Ulf Hansson
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=20130124184944.10623.20870@quantum \
--to=mturquette@linaro.org \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox