From: mturquette@linaro.org (Mike Turquette)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v7 0/3] common clk framework
Date: Thu, 15 Mar 2012 23:11:17 -0700 [thread overview]
Message-ID: <1331878280-2758-1-git-send-email-mturquette@linaro.org> (raw)
The common clock framework defines a common struct clk as well as an
implementation of the clk api that unifies clock operations on various
platforms and devices.
The net result is consolidation of many different struct clk definitions
and platform-specific clock framework implementations.
This series is the feature freeze for the common clock framework.
Unless any major bugs are reported this should be the final version of
this patchset. Now is the time to add any acked-by's, reviewed-by's or
tested-by's. I've carried over the *-by's from v6; I hope everyone is
OK with that.
Big thanks to Sascha Hauer for his changes to clk_set_rate in this
version.
Major changes since v6:
* clk_set_rate rewritten to set clock rates from top-to-bottom
* should also reduce pre-rate change notifier noise (thanks Sascha)
* fixed up clk_divider's .round_rate logic (thanks Sascha)
* removed useless locking around basic clock types
* fixed return types for __clk_get_(enable|prepare)_count
* some NULL pointer fixes for handling .parent_names and .parents
* removed unnecessary checks for recursive calls in a few helpers
* made __clk_round_rate more sane and aligned with clk_round_rate
* parent rates are returned if .round_rate is not implemented
* fixed CONFIG_COMMON_CLK_DEBUGFS to select DEBUG_FS
* rebased onto Linus' v3.3-rc7 tag
Major changes since v5:
* removed redundant HAVE_CLK_PREPARE in Kconfig
* new CONFIG_COMMON_CLK_DISABLE_UNUSED feature
* results in a new clk_op callback, .is_enabled
* standardized the hw-specific locking in the basic clock types
* export the individual ops for each basic clock type
* improve registration for single-parent basic clocks (thanks Sascha)
* fixed bugs in gate clock's static initializers (thanks Andrew)
* overall improvements to Documentation/clk.txt
* rebased onto Linus' v3.3-rc6 tag
Major changes since v4:
* rolled in TGLX's comments on overall design. We now have,
* proper handling of root clocks and orphan clocks
* multi-parent clocks are handled in the core
* struct clk is shielded from struct clk_foo and vice versa
* this is a return to the previous struct clk_hw design
* split basic clock types out into separate files
* split headers up by purpose
* clk.h remains the driver-level interface
* declarations for rate change notifiers are the only additions
* clk-provider.h is primary header for implementing clock operations
* clk-private.h allows for static initialization of clock data
* validation and bug fixes
* rebased onto Linus' v3.3-rc5 tag
Patches can be pulled from:
git://git.linaro.org/people/mturquette/linux.git v3.3-rc7-clkv7
v6 can be found at,
http://article.gmane.org/gmane.linux.kernel/1265022
v5 can be found at,
http://article.gmane.org/gmane.linux.kernel/1261472
v4 can be found at,
http://article.gmane.org/gmane.linux.linaro.devel/8896/
v3 can be found at,
http://article.gmane.org/gmane.linux.kernel/1218622
Mike Turquette (3):
Documentation: common clk API
clk: introduce the common clock framework
clk: basic clock hardware types
Documentation/clk.txt | 233 +++++++
drivers/clk/Kconfig | 40 ++
drivers/clk/Makefile | 2 +
drivers/clk/clk-divider.c | 200 ++++++
drivers/clk/clk-fixed-rate.c | 82 +++
drivers/clk/clk-gate.c | 150 +++++
drivers/clk/clk-mux.c | 116 ++++
drivers/clk/clk.c | 1461 ++++++++++++++++++++++++++++++++++++++++++
include/linux/clk-private.h | 196 ++++++
include/linux/clk-provider.h | 300 +++++++++
include/linux/clk.h | 68 ++-
11 files changed, 2843 insertions(+), 5 deletions(-)
create mode 100644 Documentation/clk.txt
create mode 100644 drivers/clk/clk-divider.c
create mode 100644 drivers/clk/clk-fixed-rate.c
create mode 100644 drivers/clk/clk-gate.c
create mode 100644 drivers/clk/clk-mux.c
create mode 100644 drivers/clk/clk.c
create mode 100644 include/linux/clk-private.h
create mode 100644 include/linux/clk-provider.h
--
1.7.5.4
next reply other threads:[~2012-03-16 6:11 UTC|newest]
Thread overview: 106+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-03-16 6:11 Mike Turquette [this message]
2012-03-16 6:11 ` [PATCH v7 1/3] Documentation: common clk API Mike Turquette
2012-03-16 8:25 ` Linus Walleij
2012-03-16 10:29 ` Thomas Gleixner
2012-03-16 11:14 ` Amit Kucheria
2012-03-16 12:18 ` Arnd Bergmann
2012-03-16 20:57 ` Arnd Bergmann
2012-03-16 21:40 ` Turquette, Mike
2012-03-16 21:50 ` Nicolas Pitre
2012-03-16 22:21 ` Paul Walmsley
2012-03-16 22:33 ` Turquette, Mike
2012-03-17 9:05 ` Arnd Bergmann
2012-03-17 18:02 ` Turquette, Mike
2012-03-17 18:33 ` Arnd Bergmann
2012-03-17 20:29 ` Sascha Hauer
2012-03-17 21:13 ` Arnd Bergmann
2012-03-20 23:40 ` Paul Walmsley
2012-03-21 8:59 ` Arnd Bergmann
2012-03-16 23:47 ` Sascha Hauer
2012-03-17 0:54 ` Rob Herring
2012-03-17 3:38 ` Saravana Kannan
2012-03-20 23:31 ` Paul Walmsley
2012-03-21 3:15 ` Nicolas Pitre
2012-03-21 3:26 ` Saravana Kannan
2012-03-21 7:44 ` Paul Walmsley
2012-03-21 9:10 ` Sascha Hauer
2012-03-21 18:38 ` Saravana Kannan
2012-03-21 19:07 ` Mark Brown
2012-03-21 19:33 ` Tony Lindgren
2012-03-21 19:41 ` Saravana Kannan
2012-03-21 19:56 ` Mark Brown
2012-03-21 20:04 ` Saravana Kannan
2012-03-21 20:10 ` Mark Brown
2012-03-22 0:42 ` Russell King - ARM Linux
2012-03-21 7:30 ` Paul Walmsley
2012-03-21 13:23 ` Nicolas Pitre
2012-03-16 6:11 ` [PATCH v7 2/3] clk: introduce the common clock framework Mike Turquette
2012-03-17 3:28 ` Saravana Kannan
2012-03-19 18:56 ` Turquette, Mike
2012-03-19 19:13 ` Saravana Kannan
2012-03-19 19:33 ` Turquette, Mike
2012-03-19 19:49 ` Saravana Kannan
2012-03-20 3:38 ` [PATCH 1/2] clk: Fix error handling in fixed clock hardware type register fn Saravana Kannan
2012-03-20 3:38 ` [PATCH 2/2] clk: Move init fields from clk to clk_hw Saravana Kannan
2012-03-20 7:20 ` Shawn Guo
2012-03-20 7:54 ` Saravana Kannan
2012-03-20 8:13 ` Shawn Guo
2012-03-20 9:40 ` Sascha Hauer
2012-03-20 10:17 ` Saravana Kannan
2012-03-20 18:14 ` Sascha Hauer
2012-03-20 20:14 ` Saravana Kannan
2012-03-20 22:40 ` Sascha Hauer
2012-03-22 3:23 ` Shawn Guo
2012-03-20 14:18 ` Shawn Guo
2012-03-20 18:10 ` Sascha Hauer
2012-03-20 20:06 ` Saravana Kannan
2012-03-20 23:12 ` Sascha Hauer
2012-03-21 1:47 ` Turquette, Mike
2012-03-21 3:01 ` Saravana Kannan
2012-03-27 4:35 ` Saravana Kannan
2012-03-27 18:49 ` Turquette, Mike
2012-03-27 22:27 ` Saravana Kannan
2012-04-06 1:30 ` Saravana Kannan
2012-04-11 17:59 ` Turquette, Mike
2012-04-11 19:57 ` Saravana Kannan
2012-04-11 20:17 ` Turquette, Mike
2012-04-11 20:21 ` Saravana Kannan
2012-03-20 23:47 ` Paul Walmsley
2012-03-21 9:16 ` Sascha Hauer
2012-03-20 7:19 ` [PATCH 1/2] clk: Fix error handling in fixed clock hardware type register fn Sascha Hauer
2012-03-20 7:46 ` Saravana Kannan
2012-03-21 0:13 ` Turquette, Mike
2012-03-21 2:32 ` Saravana Kannan
2012-03-21 5:45 ` Turquette, Mike
2012-03-21 6:33 ` Saravana Kannan
2012-03-21 9:07 ` Russell King - ARM Linux
2012-03-21 19:56 ` Turquette, Mike
2012-03-18 13:46 ` [PATCH v7 2/3] clk: introduce the common clock framework Shawn Guo
2012-03-19 18:58 ` Turquette, Mike
2012-03-18 14:07 ` Shawn Guo
2012-03-19 19:00 ` Turquette, Mike
2012-03-19 11:22 ` Rajendra Nayak
2012-03-19 11:28 ` Sascha Hauer
2012-03-19 19:09 ` Turquette, Mike
2012-03-19 19:53 ` Turquette, Mike
2012-03-20 14:02 ` Shawn Guo
2012-03-20 17:46 ` Saravana Kannan
2012-03-20 23:53 ` Turquette, Mike
2012-03-21 3:10 ` Saravana Kannan
2012-03-23 21:33 ` Saravana Kannan
2012-03-23 21:39 ` Turquette, Mike
2012-03-23 21:51 ` Saravana Kannan
2012-03-23 22:12 ` Saravana Kannan
2012-03-23 22:32 ` Turquette, Mike
2012-03-23 23:04 ` Saravana Kannan
2012-03-23 23:28 ` Turquette, Mike
2012-03-28 3:06 ` Saravana Kannan
2012-03-28 17:08 ` Turquette, Mike
2012-03-28 22:25 ` Saravana Kannan
2012-03-28 23:49 ` Turquette, Mike
2012-03-20 23:46 ` Turquette, Mike
2012-03-21 5:46 ` Shawn Guo
2012-03-16 6:11 ` [PATCH v7 3/3] clk: basic clock hardware types Mike Turquette
2012-03-16 12:25 ` Richard Zhao
2012-03-16 16:51 ` Turquette, Mike
2012-03-16 10:57 ` [PATCH v7 0/3] common clk framework Sascha Hauer
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=1331878280-2758-1-git-send-email-mturquette@linaro.org \
--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;
as well as URLs for NNTP newsgroup(s).