Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932470AbbDVGXh (ORCPT ); Wed, 22 Apr 2015 02:23:37 -0400 Received: from mail-bl2on0132.outbound.protection.outlook.com ([65.55.169.132]:2685 "EHLO na01-bl2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S932334AbbDVGXe (ORCPT ); Wed, 22 Apr 2015 02:23:34 -0400 Authentication-Results: spf=fail (sender IP is 192.88.158.2) smtp.mailfrom=freescale.com; freescale.mail.onmicrosoft.com; dkim=none (message not signed) header.d=none; Date: Wed, 22 Apr 2015 14:12:43 +0800 From: Dong Aisheng To: Dong Aisheng CC: , , , , , , , , , Subject: Re: [PATCH RFC v1 0/5] clk: support clocks which requires parent clock on during operation Message-ID: <20150422061240.GA25437@shlinux1.ap.freescale.net> References: <1429107999-24413-1-git-send-email-aisheng.dong@freescale.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: <1429107999-24413-1-git-send-email-aisheng.dong@freescale.com> User-Agent: Mutt/1.5.20 (2009-06-14) X-EOPAttributedMessage: 0 X-Forefront-Antispam-Report: CIP:192.88.158.2;CTRY:US;IPV:NLI;EFV:NLI;BMV:1;SFV:NSPM;SFS:(10019020)(6009001)(339900001)(51704005)(189002)(24454002)(199003)(23726002)(77096005)(77156002)(50986999)(92566002)(62966003)(33656002)(19580395003)(76176999)(54356999)(87936001)(106466001)(6806004)(110136001)(105606002)(46102003)(104016003)(2950100001)(50466002)(97756001)(47776003)(85426001)(4001350100001)(83506001)(46406003)(42262002)(4001450100001)(217873001)(4001430100001);DIR:OUT;SFP:1102;SCL:1;SRVR:CY1PR0301MB1209;H:az84smr01.freescale.net;FPR:;SPF:Fail;MLV:sfv;MX:1;A:1;LANG:en; X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR0301MB1209; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(5005006)(5002010);SRVR:CY1PR0301MB1209;BCL:0;PCL:0;RULEID:;SRVR:CY1PR0301MB1209; X-Forefront-PRVS: 0554B1F54F X-OriginatorOrg: freescale.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Apr 2015 06:23:30.7301 (UTC) X-MS-Exchange-CrossTenant-Id: 710a03f5-10f6-4d38-9ff4-a80b81da590d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=710a03f5-10f6-4d38-9ff4-a80b81da590d;Ip=[192.88.158.2];Helo=[az84smr01.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR0301MB1209 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2125 Lines: 53 On Wed, Apr 15, 2015 at 10:26:34PM +0800, Dong Aisheng wrote: > This patch series adds support in clock framework for clocks which operations > requires its parent clock is on. > > Such clock type is initially met on Freescale i.MX7D platform that all clocks > operations, including enable/disable, rate change and re-parent, requires its > parent clock on. No sure if any other SoC has the similar clock type. > > Current clock core can not support such type of clock well. > > This patch introduce a new flag CLK_SET_PARENT_ON to handle this special case > in clock core that enable its parent clock firstly for each operation and disable > it later after operation complete. > > The most special case is for set_parent() operation which requires both parent, > old one and new one, to be enabled at the same time during the operation. > > Patch 1~3 are minor cleanup & fixes. > Patch 4 add CLK_SET_PARENT_ON flags in clock core to support such type clocks > Patch 5 show the need of introducing clk_core_enable_lock and > clk_core_disable_lock to easily use and reduce duplicated code. > It can be merged into patch 4 if required. > > The patch series is based on for-next branch of Michael's git: > git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux.git > > Dong Aisheng (5): > clk: change clk_core name of __clk_set_parent_after > clk: add missing lock when call clk_core_enable in clk_set_parent > clk: remove unneeded __clk_enable and __clk_disable > clk: core: add CLK_SET_PARENT_ON flags to support clocks require > parent on > clk: introduce clk_core_enable_lock and clk_core_disable_lock > functions > Gentle Ping. Regards Dong Aisheng > drivers/clk/clk.c | 112 ++++++++++++++++++++++++++++++++++--------- > include/linux/clk-provider.h | 5 ++ > 2 files changed, 94 insertions(+), 23 deletions(-) > > -- > 1.9.1 > -- 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/