Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754960AbbG1O3t (ORCPT ); Tue, 28 Jul 2015 10:29:49 -0400 Received: from mail-by2on0137.outbound.protection.outlook.com ([207.46.100.137]:1105 "EHLO na01-by2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752141AbbG1O3q (ORCPT ); Tue, 28 Jul 2015 10:29:46 -0400 Authentication-Results: spf=temperror (sender IP is 192.88.168.50) smtp.mailfrom=freescale.com; freescale.mail.onmicrosoft.com; dkim=none (message not signed) header.d=none; From: Dong Aisheng To: CC: , , , , , , , , , Subject: [PATCH V3 0/5] clk: support clocks which requires parent clock on during operation Date: Tue, 28 Jul 2015 21:19:40 +0800 Message-ID: <1438089585-30103-1-git-send-email-aisheng.dong@freescale.com> X-Mailer: git-send-email 1.9.1 X-EOPAttributedMessage: 0 X-Microsoft-Exchange-Diagnostics: 1;BN1BFFO11FD036;1:vL0/uvrK/tmQCN7PPQdzhpPP277ikOVMTT6NGXGFyMrv6WiP+DBotmn+1lUyl5+lyfrSO5rBvW7BVd/jum/44okm9aHWFVTQ6QH5qU9KVnHdBgPqHHjytqhohhbo6N/TLXe4hKbbrsH7w8bYuZjk/podFt58eJJieenihwHaH1EDnUlDOVc0jiIdnUXmAGkK0D1W8rk+6MsxNJt0HMC5v2izR23o8WQQOjBsWGAQT6VdGFwdt9CFUSo6PcTgJcmQM5Hbdsp6AsnhKhadPA22QLHliTiRjzn8oCwaqfh0Ckj1oWGaSiVIZnR2JsNAUBqwVJ9qMtmqQ/9suZB/82Px7w== X-Forefront-Antispam-Report: CIP:192.88.168.50;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10019020)(6009001)(2980300002)(189002)(199003)(50986999)(62966003)(36756003)(5001960100002)(2351001)(77156002)(33646002)(87936001)(107886002)(46102003)(110136002)(19580395003)(86362001)(47776003)(189998001)(104016003)(77096005)(48376002)(229853001)(6806004)(106466001)(50226001)(92566002)(4001430100001);DIR:OUT;SFP:1102;SCL:1;SRVR:CY1PR0301MB1644;H:tx30smr01.am.freescale.net;FPR:;SPF:TempError;MLV:sfv;MX:1;A:1;LANG:en; MIME-Version: 1.0 Content-Type: text/plain X-Microsoft-Exchange-Diagnostics: 1;CY1PR0301MB1644;2:iLf1BUj+NhhqtSFE/sbjBXKHRpFCRJfT1mdvoTMTG21uBiXewsNcE+Bz5gFVz6sVqS51XJxao7ojbOvrDy9Z55xkmdowkgQ0dtn6FuoXiEr0T7gfuDnAVc6mIKHPP/aGg5hsWIOk9G7DqAiN1SaBEuODOZFrzVoaq3MKVSPq9AA=;3:Ixp2799Lm5MB65w5tX8iVxod+fB4cCXdPYvinN22YwIRus5QfHPO+BC17DQkxtzurwRmOIF4Pv6PuuqFZZpf67s6SjjKIJSZVrP98YhGpGN0GzRyguCs7snmrOJ8SHk6KynnFQ4JL+TuZZVwE5l0etrNhCKY0LFNWxcPlGqAVRYskiM40yLc0LBJCDB1UXSI3waMVmpIf/qZlcnm5/HiY7teT7Q16FuVzTxMC88Ex+w=;25:uSUaHAuhgi4zgFJEEyEUbctHNtOEMxkqzUr/2iT9zsGWBBW711WIkBFwJBPfovxiMsKb88DuY1L5Si2v38nKDzrVSttzRzkzU0aiZ7gmm8GuCr+gDU5ImY/l30LME+8Gv3n91WbtP/3hHpaLBW6OJ3yAyuY0sklm0PM5P3mw7k56TXnkAFqZ3bTul6f4k3/Ye3Sxc21de3TXaCYDCt04IjOpadW4rBkLX6b0DaU/5Xax8be/qPQfdBUIeWIuBJzjYduNyW2YbcS2aIP90lfPFg== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR0301MB1644;UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR0301MB1307; X-Microsoft-Exchange-Diagnostics: 1;CY1PR0301MB1644;20:k64GiLkeYBehBGmStEqZNUCKFXArVB501JnxCqb4RZfXJySFjwFWdeqAFKPkz6kQkK43r8i43RPnfoHmVUaOR0SXaKlGuEqdXyXMoocU/u1Fl5HnUWfn52+TFeIFvLK2in3gXgPddqMzO7I0EKuu3pe4aYXipM3tv/mPeIZxNpSezLzU+JMWUcr4Z/TJ+3PTNU8z6trrjAVH5DZ7x0E4+g/uE/Adw4iwvFNyBN7Rm+CKQi2zoj1Pyy7eku78u/DSOlWd7SHHtyPuWLqOpnbKd0mBngjsS2EyDA+8wF0LQpULw9oIFpKmKlcwWqhHxy8wsjnPj0/u3jLslc9ZRgKiGPiiWRUDDADm7Ix+kmmOja8=;4:oXjcTK8j+2M7LSLJiAIsXBZu+vTrDo+VkMlUt7HvECptZh1eRXzSVI1cuzb18AB9h8Q9qm7tEOHE4s8L2NfoUjq2gida9wCrV7OMohm9sKn01jleYpNRNopQ7bxxe2wn+o5nHOunt7uk9JEHvMocrQI7CT2MMA03BY2a4jq8jLlqwt0+lUqequYJgXahVm5qJxUD4mMsjDVsfE5EadrKklp0HTOieTAxOIgKx3Yxgq/dbk/FUA7ghjnEqIcU3FVdpPwksUMomw3/igbw7wOnLG/5z9QCZwRhYXNkPZCBK1I= 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: 1;CY1PR0301MB1644;23:n3iPVvwrMDaduQRqOvz55aftm9g8UVS1nE6hYdRz2ZLZRPWslOLWA0Mu+6Qf3JPCRF1Pk4UrvhPiFE1iN95T9E/tBSz95p7hqdznEfwgmM7hid6YIjiiJ3hs9cCfBlSCo2tHML1n6eVJPtm82prruH86iJmEn4ZVQUzSMf0UbQMxAj70IRZ5YYf+wjqo61SDtrlD7nvieKnij1MyrnMBoKt2Uu48D3REA3bpyzkG4NOwMM7Zg+FWbzBRNOU/o6KOB8YlLbm49rJaF7TtadPFVNevW6Cbrvl+Os/rzwmjJRr9XcU7MWWC5OdgW3b7A1tIULB3xTEJKWpSOWhDJR5XcXzkHjZJtlmgODFLwQjDn32urR96m1we/lFPulMQ0iBiTr5OrRgkz5jRpK5A5oJeXR8rseIPtrLbQlqGALQA1AsMCKxONQBDFdcbs1S3AuxDj25AqQkl7H40bEmUd+C94bny0ZhCKk+xiXpHuJL7s/qP9INf3X6DrkU6WWkAYZX+5qAtOIBGBkKR0GrosmT603FmDEm1CnqP8jJLNttyOjqCHE3AM1Q+u6n7PUFsidRL/00YnBbXNLGSo4IcWn0J/rJUYsgJ6b4gEl09BzGSaWxU0aZJmbM7y7QRccLCanNZzZ//aE2wYJ3m/Mm8GlcFYRb2LXhZu+2AcKJInfycG4rx6e1UjQEQn00mko5ifk0gdv6Rv7EAlnqEGM47U23rRHcc4PFHhtjG97iWY5BMfdwDhApusJ9xVn0RDAVib5vCqd4uWUbI6g0Ysrm0OmcDTw==;5:RUaph/H5bQ1FqesLs5ep4CjU9sYX3N2+TIIJIi3QQUDIzifMuDA6CIxBqWwW5otpIg66+Tk6I/QFIMszoWy+mBJwyLd6lxJ+2YU/15S/j1OdJxOKvydMHnxU+Nq1dRwlR0gMDqRcz7JEBIBLqgo4qQ== X-Microsoft-Exchange-Diagnostics: 1;CY1PR0301MB1644;24:HFwcXStDT0HtjUrum8YJIUNLai0e8I1cqOZ83Ac7bDAhgg9SEytg+IX0g8HYcK/uRs6/TW/m0ay6R9/qlwgYk/Hawze9/JgBUvtjk2iqJMU=;20:u3+jLSby4dPIcISZDC5vhpjYc+q64ib+pTi1IsKUvLYrDcXFgwb3O7vMhqopwBolyt7d94v0isJWB+85hED6Lg== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Jul 2015 14:29:43.0564 (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.168.50];Helo=[tx30smr01.am.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR0301MB1644 X-Microsoft-Exchange-Diagnostics: 1;CY1PR0301MB1307;2:4na49J7509ZMKBQNToMeuOWKUyLEn0Lhweo0fl2kmjovvMlsaqOLCHTvzGubqrVjd4HgPK0sp09r620TSWwtun7fp0hAy9OywtsIWGScYSaXzI1Mlm881tYffxMWH+ZIK1Dqf3Djzb0zWipMnuDGvpaOC3kNHhXt62vtgUUJN2M=;3:iQaJYvauYxcnlLlFo02WAe6LQos0me0vGB8n9nx1u+Q/HZdRCWLKWS0jnd5SVx74GMcTtZW2D0MsQSC4PB8r83njW8cjKEMwVXjAcNeiQxTNdUKC2VaHri1y49oas8+S3gd3nw/tmROBx/lRUZyDWc0O2mL8jh23F2IqcBo/2S5/H2rIYbqi8bi7FWxjMnv/Bs4zo9oYs8ohtpov9k4gRlc2+f6qDspDjdWb2vj2P7Y=;25:qTLnN5WLNFbmWR001ROVWwnx3VMRk6vfbB5GfKpQdjnd/EXah/WXzJCeutGzCTWP8wIFBAztfXBl8XQ3dKFed/NcVg8txOlLJgokaz6IPVBmXWUovQClxJ9QDmRQww0s51bfAJlDRuyxAg+o9sfVBkRook1Xka2HpH7YXTDBzcRWakq2fVCa97ggA19b1IMx7648XIAZGMZPV4TIGdtUtgiKlbCk7mZNmjuy7rxJDKQ31272wvVNDcnnlcQnxVVXuQ7/AYm5LLOiI5OYuXcPMw==;23:JkZlUvPdaBLFtP2u+3kj8kvZFvxvu/CpnfSB1wRKdesjShcpEFSTbbO5ScfZG/uKrdKyXVWq8+IqMm1wCLpEWm+IkTNIOssDoZkb5QFF9Oj/1kUkv2MBoFKPLiPdKe0ZywQ/TGLBIF1vZylS9jchksaJ5SpCf6K0ZVvfNnO22e3gCkhAfjrqtQ78WyMiBOEuD4uAbxKPVHpZOfuGJdkBrWQ7MsCKdYXkEtkxf/UQcegxpETIdgfazt2V9SWbMELR X-OriginatorOrg: freescale.com Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2016 Lines: 52 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(-) -- 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/