| From: |
| Jeremy Kerr <jeremy.kerr@canonical.com> |
| To: |
| linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org |
| Subject: |
| [PATCH 0/2] Common struct clk implementation, v13 |
| Date: |
| Mon, 21 Feb 2011 10:50:58 +0800 |
| Message-ID: |
| <1298256658.861611.43913489619.0.gpush@pororo> |
| Cc: |
| Nicolas Pitre <nicolas.pitre@linaro.org>,
Dima Zavin <dmitriyz@google.com>,
Lorenzo Pieralisi <Lorenzo.Pieralisi@arm.com>,
Vincent Guittot <vincent.guittot@linaro.org>,
<linux-sh@vger.kernel.org>,
Ben Herrenchmidt <benh@kernel.crashing.org>,
Uwe =?iso-8859-1?Q?Kleine-K=F6nig?=
<u.kleine-koenig@pengutronix.de>,
Sascha Hauer <s.hauer@pengutronix.de>,
Paul Mundt <lethal@linux-sh.org>,
Saravana Kannan <skannan@codeaurora.org>,
Ben Dooks <ben-linux@fluff.org>,
Jeremy Kerr <jeremy.kerr@canonical.com>,
Russell King <linux@arm.linux.org.uk> |
| Archive-link: |
| Article, Thread
|
Hi all,
These patches are an attempt to allow platforms to share clock code. At
present, the definitions of 'struct clk' are local to platform code,
which makes allocating and initialising cross-platform clock sources
difficult, and makes it impossible to compile a single image containing
support for two ARM platforms with different struct clks.
The three patches are for the architecture-independent kernel code,
introducing the common clk infrastructure. The changelog for the first
patch includes details about the new clock definitions.
Many thanks to the following for their input:
* Benjamin Herrenschmidt <benh@kernel.crashing.org>
* Ben Dooks <ben-linux@fluff.org>
* Baruch Siach <baruch@tkos.co.il>
* Russell King <linux@arm.linux.org.uk>
* Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
* Lorenzo Pieralisi <Lorenzo.Pieralisi@arm.com>
* Vincent Guittot <vincent.guittot@linaro.org>
* Sascha Hauer <s.hauer@pengutronix.de>
* Ryan Mallon <ryan@bluewatersys.com>
* Colin Cross <ccross@google.com>
* Jassi Brar <jassisinghbrar@gmail.com>
* Saravana Kannan <skannan@codeaurora.org>
Cheers,
Jeremy
--
v13:
* Don't expose __clk_get and clk_put - prototypes in clkdev.c instead
* Add might_sleep to clk_set_rate
* Comment clarifications & fixups
* Remove zero initialisers
* Fold warnings into main clk.c change
v12:
* Always refcount, even when enable/prepare ops are NULL
* Unify prepare & enable count checking
* Update comments for prepare/unprepare
* Use spin_{lock,unlock}_irqsave
* Change clk_put to __clk_put, and use the shared clk_put
v11:
* add prepare/unprepare for non-atomic switching, document atomicity
* move to drivers/clk/
v10:
* comment fixups, from Uwe's review
* added DEFINE_CLK_FIXED
v9:
* comment improvements
* kerneldoc fixups
* add WARN_ON to clk_disable
v8:
* add atomic clocks, and locking wrappers
* expand comments on clk and clk_ops
v7:
* change CLK_INIT to initialise clk->mutex statically
v6:
* fixed up references to 'clk_operations' in the changelog
v5:
* uninline main API, and share definitions with !USE_COMMON_STRUCT_CLK
* add __clk_get
* delay mutex init
* kerneldoc for struct clk
v4:
* use mutex for enable/disable locking
* DEFINE_CLK -> INIT_CLK, and pass the clk name for mutex init
* struct clk_operations -> struct clk_ops
v3:
* do clock usage refcounting in common code
* provide sample port
v2:
* no longer ARM-specific
* use clk_operations
---
Jeremy Kerr (2):
Add a common struct clk
clk: Generic support for fixed-rate clocks
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/