Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752201Ab1BGGI3 (ORCPT ); Mon, 7 Feb 2011 01:08:29 -0500 Received: from ozlabs.org ([203.10.76.45]:35557 "EHLO ozlabs.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751854Ab1BGGI1 (ORCPT ); Mon, 7 Feb 2011 01:08:27 -0500 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="utf-8" Subject: [RFC,PATCH 0/3] Common struct clk implementation, v11 Message-Id: <1297058877.799617.749783078584.0.gpush@pororo> In-Reply-To: <201102011711.31258.jeremy.kerr@canonical.com> To: linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org Cc: Nicolas Pitre , Dima Zavin , Lorenzo Pieralisi , Vincent Guittot , , Ben Herrenschmidt , Uwe =?iso-8859-1?Q?Kleine-K=F6nig?= , Sascha Hauer , Paul Mundt , Saravana Kannan , Ben Dooks , Jeremy Kerr , Russell King From: Jeremy Kerr Date: Mon, 07 Feb 2011 14:07:57 +0800 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2317 Lines: 83 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. Ben Herrenschmidt is looking at using common struct clk code for powerpc too, hence the kernel-wide approach. Many thanks to the following for their input: * Ben Dooks * Baruch Siach * Russell King * Uwe Kleine-König * Lorenzo Pieralisi * Vincent Guittot * Sascha Hauer Cheers, Jeremy -- 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 (3): Add a common struct clk clk: Generic support for fixed-rate clocks clk: add warnings for incorrect enable/prepare semantics -- 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/