From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752537AbdDKRTc (ORCPT ); Tue, 11 Apr 2017 13:19:32 -0400 Received: from mail-sn1nam01on0086.outbound.protection.outlook.com ([104.47.32.86]:30784 "EHLO NAM01-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751695AbdDKRT2 (ORCPT ); Tue, 11 Apr 2017 13:19:28 -0400 Authentication-Results: spf=fail (sender IP is 192.88.168.50) smtp.mailfrom=nxp.com; vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=fail action=none header.from=nxp.com; Message-ID: <1491931159.31718.16.camel@nxp.com> Subject: Re: [RFC PATCH 1/3] clk: add clk_bulk_get accessories From: Leonard Crestez To: Dong Aisheng CC: , , , , , , , , , , , , , , Date: Tue, 11 Apr 2017 20:19:19 +0300 In-Reply-To: <1491969809-20154-2-git-send-email-aisheng.dong@nxp.com> References: <1491969809-20154-1-git-send-email-aisheng.dong@nxp.com> <1491969809-20154-2-git-send-email-aisheng.dong@nxp.com> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.18.5.2-0ubuntu3.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-EOPAttributedMessage: 0 X-Matching-Connectors: 131364047666194973;(91ab9b29-cfa4-454e-5278-08d120cd25b8);() X-Forefront-Antispam-Report: CIP:192.88.168.50;IPV:NLI;CTRY:US;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(336005)(39400400002)(39380400002)(39410400002)(39840400002)(39860400002)(39450400003)(39850400002)(2980300002)(1110001)(1109001)(339900001)(24454002)(199003)(189002)(377424004)(9170700003)(6916009)(2906002)(105606002)(86362001)(2950100002)(6636002)(50986999)(103116003)(50466002)(8676002)(76176999)(106466001)(36756003)(8936002)(50226002)(81166006)(189998001)(47776003)(104016004)(2870700001)(38730400002)(33646002)(356003)(110136004)(305945005)(7416002)(5660300001)(23676002)(77096006)(85426001)(8656002)(4326008)(5820100001)(229853002)(53936002)(6246003)(54906002)(99106002)(217873001);DIR:OUT;SFP:1101;SCL:1;SRVR:BN3PR0301MB1283;H:tx30smr01.am.freescale.net;FPR:;SPF:Fail;MLV:ovrnspm;A:1;MX:1;PTR:InfoDomainNonexistent;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;BY2FFO11OLC015;1:Q8XxbjpiU25apNV30D0tLcSTYhJVBJKQXwRbnhxZ5Dx04S9EBF0u97/Cv+Zk4VN1w+mheWK8+EbLquQVEU+qW/sDu5vmR25dCrX7U5igRBEF4DgbAxqo2KTYbd0bzggad14KT9FDD5h+Lk/p/PBXOIlL37NUJAo+Bt+UcNWFKch8mlJn2xGq+rgXN7SmJoBl0OHGtcWV8hIv39LRR3eXmwN/s52v3GThoCv9w7/RhCWSmpPp7l+inG5bCtZVmC8u5KxqVSB8BZ+eUQToCzOwjInMai6EXuEQxNx4rXVFqG0U2pvuZALYWxbR6WYesRnQt/QIPDYiCxyX56Shg7EbKG1dpfXS2ED1LCPkDaXLNVHaSkKcwsip3anQD5tzfzKSQy1d1d4DATmlAFaEzk4Q98fxmbOw671uNucWfNcY7Do8ctha+2nVYTRThk/aXqUDcudAcEUsXXdST/4A90rsR8cZ/0xxevYa2TS1xFzOM9E+CA/QBZfpZUUHz+nZnq5hJp1PanOpRWdhyeijFxFvSbotOG8G5iKRCJlq6pLnei1KMM1YLWuz1kWerKu6S+v0143+36XP4uXtsgZZ3VqiNJdggWLCRrYn/Xr6LtFxI5362w2V9rRgd+Vtjndt1Jgq X-MS-Office365-Filtering-Correlation-Id: b140186a-7236-48ee-aa1d-08d480fee7dd X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(2017030255120)(201703131430075)(201703131517081);SRVR:BN3PR0301MB1283; X-Microsoft-Exchange-Diagnostics: 1;BN3PR0301MB1283;3:4UUN/QWcw2JxvwGIAKe0MhaiRYq+x2iC4gB2lPxSv1LJBJfU/XDrcwpPKRAkViUkTNR7juB8p4vTpAmQsCX7DREtI9XWWUiz27cmbdc0zUKmDhrp+XFGbSLUSdy/+qaPRBnvO4k2J8tyYllzbL1FNesao5Pd2DmpYhqTQ3e1TT0u1N69chGbPH/kVF+9QK6iAzMmhJHN9oI74LlBcY5QX7vFpohDI1RM8Udx1KdJe4zKGdO4iBkVc2glncWG8K0OmQl04VPmty68NLTim6gFzQ7Twvg+ez1ewuW4o1+slIE81Va5Ct7nT8VIaMi6EpBkOGNKkjTRvCRBhgrPan6MnFEVYDnyfjORq2cCtXpBdKnDRmxvlq9/dKEy1Y4PkhAvmhe6MFkTOZWkUSPG6RCltYaPicWtrsx13YVnHBuXOEg4YUXTG0pzHGQg4vfCHTey+9WHehu75TKavXBeZOtftg== X-Microsoft-Exchange-Diagnostics: 1;BN3PR0301MB1283;25:zalgVIBhOGbkzUwWnWwqN0jjNE3L0VUbtZ/jvStmBHIsydeh74+lbei31vvLXQDeCfI5wd7GE0e4epRqVUn5pIcFY95CGfqBXClK9pD5cHO6iAw8cTlzbq3gRl+NT+V5zCgPS/cytuDtvndYpp2lQDtYGHPtDdSIcC/yxlID/j6307oEIgP+QyUZQe6Uo5Zvm/NRihmi46t9SKC+vX0okp+SqibzmcnQRyqIhL0gcwIrwujuySICkganJrKayM+2ybPDa1lFQYR6np818LyoW3qn26IBLdIysvdjQnUaTcPBbqSJJ/zCIZ96LqPyVd075uIEok6cANjGypNdgkmOEx9KgxZk9RsCwaHgyYyYQM6CEbH388NQquP13zZ1GG/cGPTLa8W3mHzOb3M/JuU0dwz7fNAXw0gew78biLXCaKeXKlRNpudwHJjDCv3KFuIx6Fb92fUGAA9lZ4SwjRTgvg==;31:4+k8eh540TonZDdW1MtE8lb7kbFLfYu9H/nQakBhJAOVS6ovymTYbFkYRARrCzxWmhIphWuZNzd6G4UwUdXf6D/eMcHeoyVl3+++tfRXHFANR+J4G9r3gvSvqm65VKT8XHH09rwDCrDTxtMzzELw3u2YXObxKOiN3Dts2Gwvl+j3htUaaXDnA4kd86K0EZBIdeu/cyMGECqa7VEHKAOzxIH493G7CLvpeNrIMB9rnZ6Y77JrEy9o9xRZUCrPKjSfpMZg3Y5m09SwJ/G/3wInIQ== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6095135)(601004)(2401047)(13017025)(13023025)(13018025)(13024025)(8121501046)(13015025)(5005006)(3002001)(10201501046)(93006095)(93001095)(6055026)(6096035)(201703131430075)(201703131441075)(201703131448075)(201703131433075)(201703161259075)(20161123556025)(20161123563025)(20161123561025)(20161123565025);SRVR:BN3PR0301MB1283;BCL:0;PCL:0;RULEID:(400006);SRVR:BN3PR0301MB1283; X-Microsoft-Exchange-Diagnostics: 1;BN3PR0301MB1283;4:NVZqGMMzrVHLBrxrDT4dfPeNHcdHz4u1El96NveW5L6CwTZbLEmKEx1DJRVCjS8d/A8vILOsUQngT+l9u6ruEqAx8DM7zAZzNTUNqHAEFdf5PAJJ8AyRKHu7O2L5xXs3iecFIeuayPpkMpUI34Y6o8ZmUywHKSyez3LPmtsrvg65NEOUO6m+hyi8PVE2w5Aauna/l7dhg2O+mxBDldWJRshV4hTk1AhO/bLYdAN733K1WSHVuGWGLdXzr2wZeczuPzTUQKbmxDni4pUZ6h6t12zNYkwGRrgHbB+RNig45F4zQxqyl25da+k9GIy+q8j3Lf69D55sSUR8PG0umNDMOkR/90vNOXjeYf43kxQbFcsnEB7n4rQ2hGILmE75wQS81MpEx22OPVo52bBZHX4DjfE5GV3A1CRhgiog+dLJwBzN4vfKw9B19eWsZsRCZLnJA1xzbgqTQYWL73+vBUQ4Eoe7Ub2zUyyHqRYF9mEUxJlcnnodrps/aOaccBhhYANYKE23DSuNGiJTi40ZtrniOGHnDJDaOtZEtUEHbIK8q9Bxg7Bqa2fKMm1DUxDc3cF5OHI4fJKKhBQYwAPB0KHUSmJNZbl4dUQ3JCWeRpRM2DpXPP6T3ouTWziGXqxPoAiC+TItqKoa48Ju6aFHp7PokWij215OOU6rU7wkQ2pA8ATtFMln/WqAgviSDZem+kOqhNM2IhMYw7VpMejND8QEp2EyQmnmCu7bVFwPhk310AQl97eTwgvH2f9VZ9VvKNpUgbCs/WerfOn3KRvXkqUkZJOe0BQctLHLlN7V1ySXcmcqS8c6dWZMGWVq8LF4cpI0HGsY1/fidw4ZuAur4r6dBh4UrgqVnHoH6ERDlGQPbO9dr2tfkX6p3WmqZS8eLTtN X-Forefront-PRVS: 0274272F87 X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtCTjNQUjAzMDFNQjEyODM7MjM6OTM2VEZQdzZad2RHY1dqc1NCcGpaVkNF?= =?utf-8?B?Vzl0L3dnRFRzZ080Q1JWY01WZS9mR25WQnpiU1ovQkMzWUhzdkJrbmljSDZ1?= =?utf-8?B?elpDYTdIODJiZlVvYm8vbVVsYWJTMDA0STBqakxtR3I4WGszVkVUa1lORDRO?= =?utf-8?B?UWsyMS9ZN0FjR0IwWnVrRmx5YzNTWnRBVXVKUWo0TmEvQ1Z5Y05nUGY3NTA1?= =?utf-8?B?OG9McWF0NVlLRlNmQUNFZ21UNjM3blhRK1pYSjZoR1BZdnBhRE1WZ29Mcmp5?= =?utf-8?B?M0EvM0NUQVVjbmNtazNxQjdpN3BQQ0l3WXZ4WjNkMTV0Wi9BTFlVdHNMemxU?= =?utf-8?B?Vmw4SGNnSzR2SmpBaHh6RWhWQW83cUg3cXdMM0d4SndiMFM5SXc3WkN2TjIr?= =?utf-8?B?THVkQlo4aVVRZlZoMVJJNWJOWXJNTXY1SmRuQ09BdFVNakpYRU5zUnRFY21S?= =?utf-8?B?d2thVU9kd1pSNzh2eFV6L3FIUngzb2hPWTJwM3FmMFVJWTN3MDdUODFZN0Fr?= =?utf-8?B?T0hIa0JmOE9Kc2lOVDB6U1YwWEp3SW8xQjBVZmVSRTJrVjV3N3RtWEdKYVl0?= =?utf-8?B?emd6QzhGcDNjZE9JdWRuK2swWDhva1J6cFZMOVNFeXdZaS8wSnBacGhFU043?= =?utf-8?B?eTgyN3FrT2FXV0M5M1FLa1pJWDVhV2doaXJPaURtaGhvek9mWVJBNS84NWoz?= =?utf-8?B?UXU5YUQydVpkaGl2eFBEZGZkZXhwVXlGOWJub3RvQnhsMXlQbGNLRDhyYTU2?= =?utf-8?B?QlJoazQ2NFRuWC9zMWtlalJHVjFUbWd3Z2F2bUg2TFZ1VTVEQWR0bms1TUlE?= =?utf-8?B?WC9HeWJmTkpYLzFRc3ppeVpDWTNxaFdnN3BXVGQwdTNrbFpUNEtKVkk0NmdN?= =?utf-8?B?NkFIbFdMYzNwVUx0TEhQUzAyMlFsZ25MNkxHVUM2VXljakFtYlF1eUVQRVlM?= =?utf-8?B?TGw1NWkrUjhJRkNyOVJIWmdEbVhORVVlai8xNGhwbit3NVMrTFQyNCtJaEN4?= =?utf-8?B?YVArZXZRVDNPMHZkZmUxNlhEVEpIQytTUzVJTzdoNThJSWxvRnYrRWxqcE83?= =?utf-8?B?cmRIc2ZUUnlnV0xodG1OSXd4ZTU5QVY2SzRZTm5FODRiaVNVY1FSc1FMcHBu?= =?utf-8?B?Q3I5YVlGWmpWUjM0aUtaSitPMzB5R3VManFyZlVPMUVId2RMQVl2cUtVU0Z2?= =?utf-8?B?dDNRclJXUzU3VWRuc2VldU02UUN1M2VsTWtxOTZ0YyttN2ZCdGk1OVBUUjRi?= =?utf-8?B?MGFkeng0cTR3c20xRHpLTnJ5Rml6Z051RnYyWmU1eXI4NzB6ZTgxWS8vRTA1?= =?utf-8?B?QkU5Uy9DUjBJdjdVK2VXaUZhbUF3MTJzN0NRQ2dTNWlRVGtXdW5BcHJiYVpj?= =?utf-8?B?dS9KRXYvUzJ6aHQ2dWZZd2p0Umk3OUVlSGdZSThjSW5Tc2gwRXlLWXBZQ0s3?= =?utf-8?B?Vi95QmlRNkNiMGd4ekxHVjJlVVgvVkZwTURWZnRtejBTZHdiUDdISEtONGlQ?= =?utf-8?B?TE1FaEhOYnRoaWlJbUJ3RVN2dU5CZDVGWlpBUHl0ZWZnSVAyT2RBSDhvcGwy?= =?utf-8?B?ak1qV0t0VjB3Zk1SYVozdDJTL2U2OVgrcHBoU0VMSXlWaXF3RnJSdDE3bnk5?= =?utf-8?B?QWhHWDV3Z2pJd1hLTDI2cU1qMlZnUEU3Qnl0VitsMG1vZG5ZUHU4Ump3M1lt?= =?utf-8?B?OGxVTnhHR0tRWEpDQUtJdVNTMmpWVTE4ZThRLzdyTm4zRnVaOWZiem1SY3Ni?= =?utf-8?B?TVNHcXdteFo5SWlVZFdpN1VxaE82ajFxR1EybEp6TTRIajA5bzhvT2NIRGZu?= =?utf-8?B?aUNEZnBNeGg3dzBaTGlJYzc5eWNKc05nMVhzaGdSemR0eTh6T0pobjgxNUx5?= =?utf-8?Q?CWkVy/gZcySNI=3D?= X-Microsoft-Exchange-Diagnostics: 1;BN3PR0301MB1283;6:Fj7XlmVf0/s7lPvIkovmeYHQ4MFwPyiCc29j7fSx+I8ZlhnXS8bnrJlmoTrLwjiB/xjRF8cKdEL+P5L2DSPrNUW/mSgA70b1KlECFokjju5SVjFDkhCcyOVR9ABvVJNPiUzKsyBk6xOvWGN6mA3rMbwrbEWjXWI8NjLLZ6jznsFDTjf3NqwR6kMNlUtrJ8cR4u57Co5mnjRoYntDcQzCl7Kxvb/BK1U7BYtlGGo9vi3nc+BfLdqjLLnmKYM178MgIzb170ZW5YgjkzMbS6P/YoVUTk2N5Hugx7K9UwVj0KAxoCs+fIhL5YKIoiEOUGTYc+6z6Sj8xRxxB0J5hC0NblUAdh6REUZUvAozyfEdRzVFeb0IT04R/gkCVFjiEyTNOgGxviU+MVrloU3cPc+Z5eq5EsJ1RFqYuASoYV11P0zT8GNBmu+NRCYsOIfuzYJbac2ATYsWNZDfXskio+wVtw==;5:rMTPfooPEafUetwnLGd98AU8UB9oz6tXinCeDpRMjTeOhxdnbaxLnvFGhuTEsFgzf7DugAojNGydd124wAqOgpYxJFdBDPbmAnnTjZGVG5dZjd0vuzpk0OOTSVG1l/POq+qMqFP7l6y5IufUh1CKTCrSw3esj20cyUwq5gqR5hi28tBAyoDRTtjiLf2vXlR/;24:ISy7kVlR5B3zVMier5Cie1YdSG3LUiXXkB5Fk1T+MUED6F3NjsXHoHdngNZnE+ocvGRyaQzM7RrCRDZj/x7w3/TRhqtVD+Fnt8VrYWKFyas= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;BN3PR0301MB1283;7:lfMXHwiFVT6LBhyw0HD6K9XIjrPzercQPzY+5fOCY01jYN9+L7redh1TCFg9RDAnJTEgY85CVZj7wJCj5mkG4vXPe/S4xvK7G+0kFqWaodjFPPCafrsMA9cOa71xdwVkW6eLLkHEYLBTNKfN3HLkJhVd4VZYAFN9vRnocR6Jl0mz7SRM8KwpDx8MoZIM9zv4G/3CvhyVNjjlAacyGLMjlPfhkDyLZl5iazn93XcFbBLI+48NcAZ7Vyib7C+v9EmEm1dB27H7du46rgJQSPHDWwOyb13yzn9msdleqU9eY1JPsEabIeZNA7yTi8hcpu2HsfXomIJhb67QxkV0CUEeHA== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Apr 2017 17:19:26.0891 (UTC) X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e;Ip=[192.88.168.50];Helo=[tx30smr01.am.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN3PR0301MB1283 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, 2017-04-12 at 12:03 +0800, Dong Aisheng wrote: > +/** > + * clk_bulk_enable - ungate a bulk of clocks > + * @num_clks: the number of clk_bulk_data > + * @clks: the clk_bulk_data table being ungated > + * > + * clk_bulk_enable must not sleep > + * Returns 0 on success, -EERROR otherwise. > + */ > +int clk_bulk_enable(int num_clks, struct clk_bulk_data *clks) > +{ > +       int ret; > +       int i; > + > +       for (i = 0; i < num_clks; i++) { > +               ret = clk_enable(clks[i].clk); > +               if (ret) { > +                       pr_err("Failed to enable clk '%s': %d\n", > +                               clks[i].id, ret); > +                       goto err; > +               } > +       } > + > +       return 0; > + > +err: > +       while (--i >= 0) > +               clk_put(clks[i].clk); Shouldn't this be clk_disable? And you can probably use clk_bulk_disable(i, clks) instead From mboxrd@z Thu Jan 1 00:00:00 1970 From: leonard.crestez@nxp.com (Leonard Crestez) Date: Tue, 11 Apr 2017 20:19:19 +0300 Subject: [RFC PATCH 1/3] clk: add clk_bulk_get accessories In-Reply-To: <1491969809-20154-2-git-send-email-aisheng.dong@nxp.com> References: <1491969809-20154-1-git-send-email-aisheng.dong@nxp.com> <1491969809-20154-2-git-send-email-aisheng.dong@nxp.com> Message-ID: <1491931159.31718.16.camel@nxp.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Wed, 2017-04-12 at 12:03 +0800, Dong Aisheng wrote: > +/** > + * clk_bulk_enable - ungate a bulk of clocks > + * @num_clks: the number of clk_bulk_data > + * @clks: the clk_bulk_data table being ungated > + * > + * clk_bulk_enable must not sleep > + * Returns 0 on success, -EERROR otherwise. > + */ > +int clk_bulk_enable(int num_clks, struct clk_bulk_data *clks) > +{ > +???????int ret; > +???????int i; > + > +???????for (i = 0; i < num_clks; i++) { > +???????????????ret = clk_enable(clks[i].clk); > +???????????????if (ret) { > +???????????????????????pr_err("Failed to enable clk '%s': %d\n", > +???????????????????????????????clks[i].id, ret); > +???????????????????????goto err; > +???????????????} > +???????} > + > +???????return 0; > + > +err: > +???????while (--i >= 0) > +???????????????clk_put(clks[i].clk); Shouldn't this be clk_disable? And you can probably use clk_bulk_disable(i, clks) instead