Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754677AbbG1PCL (ORCPT ); Tue, 28 Jul 2015 11:02:11 -0400 Received: from mail-bl2on0148.outbound.protection.outlook.com ([65.55.169.148]:42144 "EHLO na01-bl2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753775AbbG1PCE (ORCPT ); Tue, 28 Jul 2015 11:02:04 -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: Tue, 28 Jul 2015 22:38:25 +0800 From: Dong Aisheng To: Dong Aisheng CC: , , , , , , , , , Subject: Re: [PATCH V3 0/5] clk: support clocks which requires parent clock on during operation Message-ID: <20150728143824.GB16916@shlinux1.ap.freescale.net> References: <1438089585-30103-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: <1438089585-30103-1-git-send-email-aisheng.dong@freescale.com> User-Agent: Mutt/1.5.20 (2009-06-14) X-EOPAttributedMessage: 0 X-Microsoft-Exchange-Diagnostics: 1;BY2FFO11OLC008;1:OrYQwAOuOd2v0nfBlR67SA+x2Z9koI0qYB2nfYskH9oJ+flFf7xTKj7tK3XDrgh23qQPsHtcfKtYPIUG+MZLejU71bWsrHJUZnevKvDwbbgkmGaS5iUvmaxKZgxhURRvlt/QHfuF2yac6twJX6iO+0Ak+oZ8Chtnxss+rYeZLtrEyeY9LyAqV0qs7SBU1PF4m7yXkbADB7sAFeclHnHBnA2prN3OAcU7ksrbWnNSXg7p3vo+/V/Nv4aH5WSONLsd1eHx/60+H5q2byEyP5jpB8ufcBiVPNjpD0FSffcNqPkfmaABI+dzozVil8EWuSbh9yVahA0f7DeKeSY1RHDYeg== X-Forefront-Antispam-Report: CIP:192.88.158.2;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10019020)(6009001)(2980300002)(339900001)(199003)(24454002)(189002)(6806004)(5003600100002)(76176999)(77096005)(4001450100002)(83506001)(92566002)(97756001)(4001350100001)(106466001)(85426001)(23726002)(87936001)(54356999)(77156002)(46406003)(62966003)(5001920100001)(105606002)(50986999)(5001960100002)(33656002)(104016003)(47776003)(189998001)(46102003)(107886002)(19580395003)(2950100001)(110136002)(4001430100001)(42262002);DIR:OUT;SFP:1102;SCL:1;SRVR:CY1PR0301MB1644;H:az84smr01.freescale.net;FPR:;SPF:Fail;MLV:sfv;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;CY1PR0301MB1644;2:j6gFRx7yhD18YanFTRF4lhrAhsGej9pmCW6vvQqijvKJ9PqQ9Y4A1hDmssO3LkCekdL7SwB/o684iSwvGs/sbCy1RKly+4u6XN3GIkamfvh/4HXpUX1if+M4zUIk/xGdvfjynFHvwDet2osITgnQ+7pVG9E30d8PL8EeOWGBn4A=;3:Dn487zxU0Hzygs3UUTTjplJTuc3/yuPsvY7LHyWw/yuhhhB9+4z6PzNMmLZRkBeZhX+4qCOjT7cZk//bn1RWKDKXE/eJZ34gbirKNPwRtnqRE4y73cyvH768f/uta3hQOXQ8lChQ2TX+UZfjtC+kZWKJyd6t2mVoNblrpG9EK4LsJiPgjHPVKYClubGb2JNbhE4dc+FaA3lxLoGuhEkd+IEWz6GVEmggyNwhbwa4jtw=;25:vN0vPVhuoshHRHXLKrzluVh6O4uNXxuhMr81G+9TjGs2XrTq1yyeLYF79mQfpA8auul5PSWhWsW4LQIdGMoXoUP4tIK5BIjIFMxdJJlYUY6z5Lnp6wATVGP1pgS0z4ND+fvELy7bSuPIdHbJc4qC/VFLDHaOZwSFVNhHlJFc5Ucf0EjYtHGs+Eaz3cCkFlkZHx4opDqRmxb3SXm8MJfh9jOB4AKtgU84xskigRx+INqAtuZJs1M0Obnc1cGFYAnEZyrEHUKG1AREi1bjp31F1Q== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR0301MB1644;UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR0301MB0908; X-Microsoft-Exchange-Diagnostics: 1;CY1PR0301MB1644;20:F/VvTpZwGVDAzYH6xARE5YH7FS0QtURg93ECwJ6GAwfEEp/dAYfoLBhOFDKHYXm5wGtdLSj6S4fahoAyW98N1b0kN5sp+Z1PKAJiviHAvsf+KEyJOH0TFvoAOsOGkc62AKnF2JCwrAcjJpzpq0ZeB4GSvMaL+J8QlHuGfituvWQLYve+fWlhB0KqJFar4KlbCitnezuUOJsEOG8Wk9a5TzX7ySgRAnEFaGKaRjMMuRTx5DX8f/kLpBqM1lXHjJC2lYMLHhzR9zigbUMKFY7AMOzcXJFliUMBIK4zht9SYOgdRvGutf/zTtV0t+LzBNkr6y85gnXKqWGSLbTcAVrlMpiFRzjM1Om8IfuXiPQ/lPw=;4:8HvHK07DjcAafUVvUPzcliCnJDusbkGSEZp0Ds+vwcqlcU3NWqAQ7J9BGfOPcvQ8tcXS2FINWds3ttqLvgHnMopiy6OvSmo6tsxA2KjHSC2Qjmg+LfItAg5Fk5rxbUSeR04UjaNzZ/TZ6tkW5CGP/zERKtO9DTt473O3Xv1VQbK/yjr5iN5lTUyKhHsj36gvpjPGpQtw4T3F7t7J9Gs84zh7WAFTsRKq+YrNJorHlT73HzhykPtSbczb3Pz5nnU6uXMmRlK4igDURVrjELhte80ntG4y8bcR1LzCZ2gPGL4= CY1PR0301MB1644: X-MS-Exchange-Organization-RulesExecuted X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(5005006)(3002001);SRVR:CY1PR0301MB1644;BCL:0;PCL:0;RULEID:;SRVR:CY1PR0301MB1644; X-Forefront-PRVS: 06515DA04B X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;CY1PR0301MB1644;23:k0gyECUrWb4i8wRxRMcXePpG9qZK1Xl8OI2RILy?= =?us-ascii?Q?vw+jZwEvNXhqKyPFlMfS0Wl7Bp2DU9bPB7JRw0oCq0siY0P7jOTMP0SDdLwU?= =?us-ascii?Q?FPhBCswqwSDgaXZJUVfbyLaaPArxN49cZ6kq8cpCFzqIXyVsSNIHvsxNsxmC?= =?us-ascii?Q?VpDg4gVWzn0QDr/VmnOZz+PZ2oxhQcT/VGYpIZYMRrxndmfDZM5pN3Lc/R7G?= =?us-ascii?Q?KfqJil+XUtVRZNssa7sez+O59d3oeWOhP54FEWdHEu7VnS7ogoXYWoPicnWx?= =?us-ascii?Q?gdAkYkcw1+XOePCxv/t8/Kp5YSEznCIwSUdMwN7SXtUji8QdBJvyG+x7jtP8?= =?us-ascii?Q?VC4Jqnpou3RvNGVqEYcTCqVd8qEmyu3WWqHcQY3ZdTI0lpIWSQMnMudFespT?= =?us-ascii?Q?bcuYKiz5+t9m/JdlfuTAmSeFoKcLc7X0u0oB183Xt8s1slT/3NKB5H2btW0e?= =?us-ascii?Q?ZXQl/Hm5+Yo1uQ8j5uDOq0XqoS504LnHLp12wCWf2vh0tC/DT1KC8qUe4Cow?= =?us-ascii?Q?dD6RtSdDRi62JxuBnxzl8UZOCyryj33+xqIjM84EIYQItbHOxw8gdKfuMqGz?= =?us-ascii?Q?CXeXVsZBcKGxn6OVsXyRcBI3vDLaaEh5rUWhGHYhtbzDqilxOAnQ7Tdfilov?= =?us-ascii?Q?YA77DlGeRR9uP1CtRuhciLKAYoOwMzCt6IVfEhlQVKtZw441dPL44qP4g5wa?= =?us-ascii?Q?IeP9yVJfTmPaPdsMmwHUqPHjmJQ1R6FWqYSTRBNpBViX0/GV5Mv9H5s0jmHk?= =?us-ascii?Q?B7glopXEv47dvfHqNmr71Bkm3VRMJ7A1hV62jCAFd0D6zEvi+lRqld3SxKKB?= =?us-ascii?Q?EexL4ZuCON8/zR6MZe6MeOYXD6ue9Ac91wPpJJXMKFGUt5MnXSXT6MDB8Wx9?= =?us-ascii?Q?j3SSvcod/S/A3BAsfmeslCyyibjnFwsi9RbNXBtzF/e/pPTCtvTo+ggg5aZR?= =?us-ascii?Q?Tuf9eWG7LQIyg8Om7PNwc0ZoGraZ9Y37TacQ8maSPfOqj6yQsHI/gsaSvrZ3?= =?us-ascii?Q?iNf01ZTfaxxCL7q+f0dwClUZ1KdoAPMOoTOde0xhyhc5ZIg=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1;CY1PR0301MB1644;5:d7lMDJuxv8NDw6Ad70pE+v3ndNbjKy1/WxEjZW5bYPmeTeYgm59ZcgeF33a8/yMKXuNOBuLeCuQnIyCDDdWB5tgZ52xIGr+8MQ6wPSLTDlQYzGw93VxbZViBQb6vr6TXr/PyNxsiawrj3mz9Xi3OJA==;24:4xDjhWaiOJ7GlYtPpW4hZpkhesh0NgyvXChC9tavM9zU1itCUE3xF37CLKzdDtyTZfse1es8B2M9jj48kmtBD2/87trwidEaIyfYq6svzPk=;20:KL/aVfh2c2oBIWCOFibac+g3Q+H+X4bN1DOZmQcu8YipbjTpxmk1H2oDArmQvUuc398PQAsG03A0/XDRZE6K3A== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Jul 2015 14:46:48.4030 (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: CY1PR0301MB1644 X-Microsoft-Exchange-Diagnostics: 1;CY1PR0301MB0908;2:iMObXuvbmnRjgOewSHx29W+sYkDCoUrIrN7upTTZnwAwGZhXrKHUyUH6JJS/jo/JqZZ4m1KFf5p9wtzKeMXC4Nfaet8QEJQ3bCCnHjnuFa6P7JoxkUPtAbF/54Uz/ltodzFDs6BhpudVLVuo/xas1qfFXInI/AI6OmK4ViYzqbg=;3:eAeWu7YN2NahCG6X9X0zxeeIR06RnvY/jVFEXi1zludCC0d8Bnje7T5cH/Hna3vNJWf3CPWp/FlRkoHP1oZpSh7rgsJBgoEO7u5GYT7ajbmP/jmkhJAeBKm22ukv7s+WfLGI76y9UcqYmwGDg0fKFpVVooEV+P5uNPU6pQJaIQgwfvBkODTBiK11hsxL6/hVeMK3nXloz3/QK18v2Ur7jQRkO+jiWq63QWEI9sVtOak=;25:nxr7xN64BqSBVjCy6UaUvN4dO+Y3I8M6H/h/5VFDs2n1w3O1DxiUUjZDAnXuQHLcsGITT0b56+zKLGhbDgYsWlVeyhWed94nFNL90PRu7wfGzcLqeQplp40s3Yj0j3srrDN0DKSqvmEC8t6rKrZLWQJRoAXfzWsIR/DcTZkQnEztYCOMxMVrJPVu6b/zokY/cHsxeqKeNr1zl0H3Ef2U5BalRm1FQmb99V5wxhNm1AIs41Eqcly56h8Z/rEIzUzUXI4jQPWbqm7OZO023ivYrg==;23:PVwxi10ETf2YhWi9Uf62PMyGM+Gf7UQOBTwx8Xhrp/ECtvznhdMnWf8UVxP+cSO4dasfBjJsIH9kGgPcDL/jnM/MtlH5gSXgpgH8qX+AvxydE0sn6/+ZqwOMhUOoR3lAxy/ULvH+bWQurcxb1etwQzPD0C3NAE6sa5vRXLWVacJozxRWHiDRD4zTw4107hI8wPEVhLlyd5WGsIWWQrfl/fIeZP9PZn5dzhvwTkg8feVLPmN3NXuohKFDuK5EodLc X-OriginatorOrg: freescale.com Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2255 Lines: 60 On Tue, Jul 28, 2015 at 09:19:40PM +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. > > 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 > > Change Log: > v2->v3: > * rebased version, no other changes. > > v1->v2: > Mainly addressed Stephen Boyd's comments > * remove dupliciated code with __clk_set_parent_after > * introduce more clk_core_x APIs for core easily use > * move clk_disable_unused code position > * use clk_core_x API to make code more clean and easily read > > Dong Aisheng (5): > clk: remove duplicated code with __clk_set_parent_after > clk: introduce clk_core_enable_lock and clk_core_disable_lock > functions > clk: move clk_disable_unused after clk_core_disable_unprepare function > clk: core: add CLK_OPS_PARENT_ON flags to support clocks require > parent on > clk: core: add CLK_OPS_PARENT_ON flags to support clocks require > parent on > > drivers/clk/clk.c | 338 +++++++++++++++++++++++++------------------ > include/linux/clk-provider.h | 5 + > 2 files changed, 200 insertions(+), 143 deletions(-) > Sorry, forgot to update Mike's new email address. Updated. Regards Dong Aisheng > -- > 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/