Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755601AbbHDJzP (ORCPT ); Tue, 4 Aug 2015 05:55:15 -0400 Received: from mail-bn1on0119.outbound.protection.outlook.com ([157.56.110.119]:53376 "EHLO na01-bn1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1755162AbbHDJzM (ORCPT ); Tue, 4 Aug 2015 05:55:12 -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, 4 Aug 2015 17:45:57 +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: <20150804094556.GE24870@shlinux1.ap.freescale.net> References: <1438089585-30103-1-git-send-email-aisheng.dong@freescale.com> <20150728143824.GB16916@shlinux1.ap.freescale.net> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: <20150728143824.GB16916@shlinux1.ap.freescale.net> User-Agent: Mutt/1.5.20 (2009-06-14) X-EOPAttributedMessage: 0 X-Microsoft-Exchange-Diagnostics: 1;BN1BFFO11FD049;1:b/EV/PRDKpBo3P1S5fDK2eErVxwXzCvM5AhPs0O3/1pNKKVpjMtSXD1PmuMoGKZ2Ct9QpydCJQ8wK5kmN3dAv/BiLn/EDp2xZUBfZGk397bXg9xMkFL1pmmtcejlMBlzyNVkxCABbF3G7+EJOgT+4ZcDu3S+6qkyRn9VzqReHSuKIlcalP1P16X4TKMOl/b1ZsJflHEJ0JWdfwP91rZziDOcZz8+CsCqfTqRLsZLqEsFBPjaaAkFOs3ZMtbOiBbOBmrPssief2X3EkkBU698BzISb488fCQtOdrWyqFLrjqaIvvfX2MVPPTnOXE4z2bdXfmiXRrCRCdxXvNPiSJl1g== X-Forefront-Antispam-Report: CIP:192.88.158.2;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10019020)(6009001)(2980300002)(339900001)(24454002)(199003)(189002)(54534003)(19580395003)(5001960100002)(106466001)(64706001)(107886002)(4001540100001)(92566002)(97736004)(110136002)(4001350100001)(81156007)(5001830100001)(189998001)(5001860100001)(50466002)(86362001)(77096005)(2950100001)(76176999)(33656002)(46406003)(47776003)(87936001)(23726002)(62966003)(50986999)(77156002)(68736005)(54356999)(97756001)(105606002)(104016003)(83506001)(4001450100002)(69596002)(46102003)(5003600100002)(6806004)(85426001)(4001430100001);DIR:OUT;SFP:1102;SCL:1;SRVR:BY1PR03MB1420;H:az84smr01.freescale.net;FPR:;SPF:Fail;PTR:InfoDomainNonexistent;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;BY1PR03MB1420;2:Ng4uAG0cm6j1eWlkgbwhMGeYiMYP5mHw7XP6Bnf5zi5KQzPIRhN+ZdhJpw2l/NboZtDFlm9qPbrZF+odqA9xUf37LM4NuO+j8oy5fxrGRNPX4GDb7nSC2uUgnE6kMWf/Wkf1RYLV+4gOyblSZm24+yudDwEskoDG6lDVBnlgpms=;3:n9+P9FsJEzqBozYlursmuVhMWSBsavqb2TQBXAv2+zlexjD1DG0n10+ToECVTF0jDAwlC48DVNjP3+CFcqkaA8sB1yyyrbFqwhVafJ2u+KLjB5ThsBoDcfla7rVXWXVqMaS/1BkbmZDXh/jh4vY4TT3214VXgc73luA9rdCP02XMavZxtUkUtYVMxwN88Ru3xatn3cXiJggsbU6RQrnOVfDwkFSJRf77BvkkG7Yq7VA=;25:ztVUPL+SqY9Y1xUFQQPC+D3FMJ+t2y48z2K9UVfCPWKU+mGpb5w/6VnUai5I/7AA0DU5jzFJEQUJvDZyuk8j23X8LFjAM7bZfCvlKP1DJSVSPkDY09Sg0uLQz+TqodHuAWRwtdJ9sAMQJT6b85LIxQ2+1RxWduCVbTo04VxvIZqH04GWEnvcTBh0joHWe8dL1PPfxDlLDYngjBdhs55KfZmOZlSghCnYUYZ/LAHO0Tj2GvKPuFGJhYQV2GyH0hRQMOo51rOgNIWr45eUb4o/vA== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BY1PR03MB1420; X-Microsoft-Exchange-Diagnostics: 1;BY1PR03MB1420;20:oj2gTwSlq7eUYbyeOUxMAPNFrK5Lv0SShGnXP/FjChNTk1FhyHpv4iviHVV8dnE2LF+Z7dBUPvblbZG+LUNfoFTD72DWYv4utkdJcWaCq0zBRCQCPjH2zVzc+YkMjz4FpQDlNmjxB+vUBpArY0k8WfD5vrGvStHHdrrmV7nZBdjdyRB5+iNrXNupAngfbDJnX5I25om46gEidiOORygQb3hP5nbZ9npKHe+Jf+YQad6SZRLvERpuie5zN5kQkb/hJhynjKgJTKVwsNi0WKxTOeu4uZGMMPkTZHkZwtX5eZC4qG5So1PvsfSlCmYIXo53p7sS5egMlWtpMy2KPztyUDrKRxoUsHJOJRaHi9gCMPA=;4:4l3Ky/m/ab04soeKiRfV4f9LbM3c0C+j0jCNsWgdmMhafWQD7x7wlRsZcnwpgjrUxHRMDAtx23DsBXbuYE13MOMv/QRIAWa7H+XegneJtDKId2sd9opPqbRPcE4wP0Oqb5cBLwt8qasoKzE17ZlqZInVDidHBg4VcakzNOFNF3F/9VTxtJr8MMulrd8lUaCRqqvs4DZOvkZGJyJwAauwtm0F+w2BfjyS1PWV1fd1A6mCVo+pmLfvV4rrev0c0uR1uXIcwn6dmIJwd/JpLEixouuQL1+Q/UHprGe6e+U8VAY= 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:BY1PR03MB1420;BCL:0;PCL:0;RULEID:;SRVR:BY1PR03MB1420; X-Forefront-PRVS: 0658BAF71F X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BY1PR03MB1420;23:bQMUhx4ct24UC6dEOl83Gyl+nhbDYWDnZ4MipOlTC?= =?us-ascii?Q?HCpDAbt07bc9KhjkvpZIbub5VEaeVd6dhfZMnoxcZt7kg53PymVR8vlmoqEW?= =?us-ascii?Q?v7SZZuAx4FHq+SsOUjqDAvKyNiKpr5d76TfMvYYKnLVWTajeKtRUwupBMoEx?= =?us-ascii?Q?fKLZVm5/pvsSIzcpvwonmkHZ1dF1mz/pJfhem9FlYEnw6P4kEI2K/FlLJ8UU?= =?us-ascii?Q?oV67Rf5CKjk01hS8RWF4WRK42isiVUKErU+ql7PdeTC/tFxpUW0ANxvW8XfV?= =?us-ascii?Q?0BAKUdApoz42fZqo3ychn6mtICkTcAhqhk0XY36tqiu5jlHyIJNLls1wRQil?= =?us-ascii?Q?ZDFCIEWCLbVL/mN7zK8aouQoUT5FThA7bqaD1SuK22gqxh+wawlx1oZaEJSk?= =?us-ascii?Q?AjH1QjVdzsbZwNPguMSQ+92SG74ZjLmUiqBfZl4If4MQZN6KJJdQhm8EoFbg?= =?us-ascii?Q?bCLD4LKCaMQky9RajfyOb5Tb7Q84ASGf+eLiv4qZu8QTGrG/WArFntnfXWJW?= =?us-ascii?Q?Ic4yC5M58xmI7ic+ZQm5PcdekLEWpwLIT/xA0ApX96u0kkVPnoG0veEzi1bx?= =?us-ascii?Q?w/kXL7TIZIdQy1V6uGAf8toZY077Je3ZC0nKHj7gRCGMclu5Bu/SEWvFW6SV?= =?us-ascii?Q?ezbGQJSqwQerwI/Wh5TSIEBa9ifmdx2vcEz8bKvC7l9PbL9ssqDDk8ypEU5P?= =?us-ascii?Q?OaGm762pjt9h9X7eO8jGAjdUp4wkHCHyI6YTFHZNPeVuii3pZZcX10Q26eUG?= =?us-ascii?Q?kXpXY4MoQtTOeRrq0IT5NbunSXO/CVb4y1jpZEhm/Ax5l3CUmd2POECT7aQ0?= =?us-ascii?Q?2fY2Khl07veH222eYt8MkbpsOsJZ+xcPYcv/K98a+guOoc83ymv5EKna0W1G?= =?us-ascii?Q?T4M/GuFH59xjxSW5jp/O5z5XaV0GDky5G9U4RMNRVLYnCAQtGwCxiroimrCq?= =?us-ascii?Q?G/VKxfqyrsDT2CrVlFU1o7ksTgQKIg+OhLnqk3bT1S+0SnumvKYnavX4TFIg?= =?us-ascii?Q?38+B/g2NgCUyqQCEJAIOmUDEr2JO3hplABpsAA1YWcZzrDO/XZD5vbOl0DH+?= =?us-ascii?Q?73Xwp5jYnXU1a6Lj7QtN/X68A1ZwWTMmkqfrRmVFrmBVNt4bVrqS6wD0IQp7?= =?us-ascii?Q?ycEfbIqVXHYIHdHqAuk6YaBmBciMxL5AVIPrhho19ujfktosKdnimBxCYaFy?= =?us-ascii?Q?3oOnJhaMqwKsioV08IrEop8QbYuYZVOO3Qacx8UlxG6VU1ZCHhy+bvXcU7bJ?= =?us-ascii?Q?KluBvXXDfynfwiVp00=3D?= X-Microsoft-Exchange-Diagnostics: 1;BY1PR03MB1420;5:Ink0EBmqy7bxXlXCJnknP1wV/Y3dRSE6P+yjdnaYLovHc/ZHxoUJWUWEsLxBJe7k+Ya4ETle+b07FA1QWst++LUUQDkaOhherhAuGQNrdgqHVDcYqP01hpcsPJLxeafRRyiq2SNLNA7s+Cm6r4dR9A==;24:w+azQ1OUkww4zQn5I0wIOGVUIaYyhtdnSFzUYIacJyUIROlSvCf7w3xAPxXgb/JArnDHJFXcAQEd8KgBR0RfDZ6o2gLDfM8QxPSJZErpspg=;20:Uasd778vcqZfU1zfEOcaBTsG7nlgS/7rKzc392Hq5QUgPdtg1OP8rpc3KMsAAQATOu0X9o0b354+GKQhdRUC0g== X-OriginatorOrg: freescale.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Aug 2015 09:55:07.9754 (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: BY1PR03MB1420 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2459 Lines: 67 On Tue, Jul 28, 2015 at 10:38:25PM +0800, Dong Aisheng wrote: > 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. > Ping... Regards Dong Aisheng > 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/