From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932327AbbFDTTX (ORCPT ); Thu, 4 Jun 2015 15:19:23 -0400 Received: from mail-by2on0097.outbound.protection.outlook.com ([207.46.100.97]:13600 "EHLO na01-by2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S932264AbbFDTTP (ORCPT ); Thu, 4 Jun 2015 15:19:15 -0400 Authentication-Results: spf=fail (sender IP is 66.35.236.227) smtp.mailfrom=opensource.altera.com; linux-m68k.org; dkim=none (message not signed) header.d=none; Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=dinguyen@opensource.altera.com; From: To: , CC: , , , , Dinh Nguyen Subject: [RFC/PATCHv2 0/2] clk: of: add helper function to fill parent clock array Date: Thu, 4 Jun 2015 14:12:31 -0500 Message-ID: <1433445153-25320-1-git-send-email-dinguyen@opensource.altera.com> X-Mailer: git-send-email 2.2.1 MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [64.129.157.38] X-ClientProxiedBy: BY1PR0501CA0038.namprd05.prod.outlook.com (25.162.139.48) To BLUPR03MB1361.namprd03.prod.outlook.com (25.163.80.27) X-Microsoft-Exchange-Diagnostics-untrusted: 1;BLUPR03MB1361;2:I2zLMEm8g8k4Zo3cHj6OzRBymboln9cZTeAhaaNngRkSG1T0D0/H0nav2eVaaSDS;2:LpEieQFCF4q51IkbA8BokYEpH+OTsgoJKV3tvnRo4nBoiisXNDhkEjKTn2t6C5KJINaCPdYC39HZGcHFoyImF3SmLkKQTpNphf+8/PuM7afL1+ZyQFCZe7xt9ecZieZM2u5GI+QioKJjUPCj42/Exw==;6:2T04Q/tL7Dwu1FY/HHpZ0qjxf2qGFvi7l7quXZtAd/p8WlhMgUNVNsKFrCucEORtTBhedS1tRwc2udD3mmOPaxGeAP+/AyEFAzI8U0+NqBCmYG4Ir5Bsl/+lN67BXSA2pV9G1YInd170GL2I53zMjg==;3:Uf7fuai0fmd64L5cA/qAojZRT2SRP8VEN16Dp2+Ef7KUqqLpd+OQAP//HtVvygN+nQ+Gy0ybmOJRRG5e6vpYlZX2wxWmrwuzs3Ad7mnx2QEzcFKQBOhsBDS7KWeXferpg3iieIvaIYVxQs21EpFZc2xTkI9dqHTIvjzvJacXIJBlAfdxLyY4ZBGBHMjqPsSeiw7x//LAzCRt8XFlHx/CXjgrsxSPzJouRAQ62MB+8W/lZBFlLEu5MuaWAC0U2Fg12HDpt1rigNCBWIBO6OycKZs7Racd75fUXki1j5lWbvPYCqC91Shb2QPRtFwg+tY5 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BLUPR03MB1361;UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BLUPR03MB520;UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BL2PR03MB227; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:;UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(520003)(5005006)(3002001);SRVR:BLUPR03MB1361;BCL:0;PCL:0;RULEID:;SRVR:BLUPR03MB1361;BCL:0;PCL:0;RULEID:(601004)(5005006)(520003)(3002001);SRVR:BL2PR03MB227;BCL:0;PCL:0;RULEID:;SRVR:BL2PR03MB227; X-Forefront-PRVS: 0597911EE1 X-Forefront-Antispam-Report-Untrusted: SFV:NSPM;SFS:(10009020)(979002)(6009001)(189002)(164054003)(199003)(48376002)(229853001)(81156007)(42186005)(87976001)(4001540100001)(47776003)(105586002)(69596002)(53416004)(106356001)(92566002)(86362001)(77096005)(64706001)(189998001)(50466002)(68736005)(66066001)(97736004)(5001860100001)(77156002)(19580395003)(107886002)(122386002)(5001920100001)(5001960100002)(33646002)(40100003)(50986999)(5001770100001)(101416001)(86152002)(50226001)(46102003)(19580405001)(5001830100001)(62966003)(4001430100001)(969003)(989001)(999001)(1009001)(1019001);DIR:OUT;SFP:1101;SCL:1;SRVR:BLUPR03MB1361;H:linux-builds1.altera.com;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:0;LANG:en; X-Microsoft-Exchange-Diagnostics-untrusted: =?us-ascii?Q?1;BLUPR03MB1361;9:kWtfNhaOrwP7vrzVyFoExySPsu+dz8JE8uON/dadTH?= =?us-ascii?Q?lUM278qezoJkRw39Cu+d5r7tgMBmxawe/UCQST5K6f4MfOZQvfmx+08Ok6Q+?= =?us-ascii?Q?laQ93OgftLk5gtCm2mDzvQ/CerK3Aka/dPe4kqHupKGRczRFBFRqP4FfREoq?= =?us-ascii?Q?GQYF6oLwTDMKU0Wvs4umw9unpCJI2E+ipIYy26rQzziVjmAJCEz1U1G68/Dd?= =?us-ascii?Q?t/uG8dpjN/X1H+yQGe5pblFtucX7MTO4cYeHJNZGKOJ1nq/0WI3z2vaOn2nR?= =?us-ascii?Q?yIDmCmYW9s7/0X9wLd03gKrMcqkN9Arh/MW6fFPyvikcPd2bhBDTXnYyYLuS?= =?us-ascii?Q?kdq1ja9q7EMIVxy51kQPeG/ZalhkVbuGd1OtyDh5o8cA21JaQqenxXygoFWw?= =?us-ascii?Q?vVGNLXFB9GEYuRYUarQLdH0/VejcVD75XzY75ESZ2ewyYEJYnTXqI30XqjEm?= =?us-ascii?Q?yGQ/y0t7jVzBTKYDuqElDHR5wNzH7WFa918Gzf8WOH7Nsk7ltJK2aLNpUJL8?= =?us-ascii?Q?iyGDHdHTFGs74W0RBWfY3ld304h3Tyc3TMsOOProXY8NsRrQpJn0HPIWw61t?= =?us-ascii?Q?kDscQrjAlslXYL+JyGl264jlygBBlTgvXK36aOxopVyOr6MMt8Q29nhQ4f2D?= =?us-ascii?Q?ip/wU9dKoXMX51Va1DUaETWXzlTsRTqUV3hJy/jnAb0hzNmzKP549FvLn16U?= =?us-ascii?Q?9cL3oXmYExkYpFxzHZ4CyicMY5y9jbbAY9vH2jvNg6P6WBfaqUmqm+959HZD?= =?us-ascii?Q?kK8DuXdYTXYwSUUOHBZ0VINrWqqu2hTD86TKcDIBg3NhVTQxaAYVt/twWIcI?= =?us-ascii?Q?A3YHWo0H+COtKUxFf41VcAQjy15+iH6BDNDJP2PFhGvEAvmQYoMUzlP46+50?= =?us-ascii?Q?z8cHCyOPCGVHwvpkbB+mcX0oo4MwO1xReWDPpPrmSZy5g4jCrnQzA2UVp0M0?= =?us-ascii?Q?oyiZ27XIqO+X+SVdf45uzeC1QIm4sBdSrD07d6ptn8wtaeMFFRv7B1PL5fNd?= =?us-ascii?Q?X2H5qL+epIYZ0dJ6aSS2C5/3JJOBOLpTlTZw4w0ZA0nQNUZZ3T0zjZQQjoNK?= =?us-ascii?Q?mQBoDcaKaajzVz8cc8IGKRHhv3ci5z6Q8TOIet2Lk1asCok3ptwYR3sGpcKp?= =?us-ascii?Q?uqs72qSVc+tcc3dqoHp1rQkmtksjRdEpIBB14KjhU2TbdoJwGlYEnJhxVYZD?= =?us-ascii?Q?3gnLUmS6AmtSTETTm3R2asb/JDQjMrrjrlrdPyIeWJ2dW2fcyp+HhiyU0FyR?= =?us-ascii?Q?OiiMQG1QrJ7GAukgQ=3D?= X-Microsoft-Exchange-Diagnostics-untrusted: 1;BLUPR03MB1361;3:/aUJjxZwD+ZToYpFxp4JXYI4/KZc0rcLmppjgwjC+sk8KPvsCopD0t1r0C/XhT9gD1iwdtXgfD/6R2VMK+u8oJk+Hznb1qxjh+KVEDDWuFRSTfr8aP+GtE3SZiNPcyE4m2BWo39atCkniABBageyRQ==;10:ekwKsR7db9tjgja63Cufj+wLdpZeNPmdHf6d9dDEtsAHN/fHPQKwxnfkOPCJBmlRsxVCfgrkhZyWK43olGLTvuWO0mfoZ2qZ7ScYM2WjvNs=;6:cwWFOHQBbwgjnn5Vpp0Zm4ayE/hi/QZAtxobdfknWKP9FzTbtnY99xyg+qv9noTsPUAPlpemLcxKdZLzOolRo7d4TahUVm/IResGuKcqX3mUTnvSXLQUa6MR+zrup805iAUA98yw5LvXRjzjyrgEdg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR03MB1361 X-Microsoft-Exchange-Diagnostics-untrusted: 1;BLUPR03MB520;2:7m4zxWbBtnRuhJ1znx1v1Am3+G0Jdk2gPvogc/PwRxaL5tw1ZGItpPruD3zJ3z3p;2:ONELMoIPvOFdxTi5oR5EcDVlzGYn1wkXMU49fzFqZc34AjBK+qUMkdH3KyDyECZKMvKUVakVwWTlyN/TUsxTlZgp3LH8smD6yZR4kpk0uXcbvwKNddvsSlD+vvseZE4pa4qwhtbYHnXKxEy2Hb433w==;9:QrqxwIIrFaVl0Ww8RY3B8NGZUtVx5giIRtPPmMDAIVQR9G07ttEpOrcJn2foATv5rB60CrKpqXj7iDVQjvFjOI6ARGC5Bumjpb8QNoEqglhSTH5SINeSmpIUh67mHM5KvnLUh+teaP5IoSwTF15dpg== X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: BY2FFO11FD025.protection.gbl X-Microsoft-Exchange-Diagnostics: 1;BY2FFO11FD025;1:uzF03x+QzCuqp7yXLj122a4dEpRw8vDVufOEv0/GNTh4gcE7nSV8QWQY7ah6WBxoBJIgNuvjjvZcfWmEPWHWAum77sq3dckD/KVMykvZ1fd/pYykSNxf8smOChFyEcnBDaJN7ckYHQkeutID7xYkaDOpQBW0Bu0Bpi8GF9WwZC/W9ZDaBvEUc10ilv/ZIVUhC/Dwtv1l/gjgrOjF/GKdzlrgpc7yNLhGgjmosId3Mi3F3plgFNzWBlroJXigxZiC6f7fTOoDxHdyxrgfBakiETepLtgKlwXbrdJSDHWDbIHMDaTJJqhooJB03UYpGh6Cre29kuvAuaUerxNndkmeKrwUhqEf+zp9q/dNC2RYyUI= X-Forefront-Antispam-Report: CIP:66.35.236.227;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10009020)(979002)(6009001)(339900001)(199003)(189002)(164054003)(46102003)(64706001)(105606002)(68736005)(106466001)(77096005)(50466002)(19580405001)(19580395003)(66066001)(33646002)(189998001)(5001960100002)(86362001)(53416004)(48376002)(5001860100001)(107886002)(47776003)(6806004)(50986999)(85426001)(122386002)(40100003)(4001540100001)(86152002)(87936001)(229853001)(77156002)(97736004)(81156007)(92566002)(5001830100001)(6070500001)(62966003)(5001770100001)(50226001)(7099028)(4001430100001)(969003)(989001)(999001)(1009001)(1019001);DIR:OUT;SFP:1101;SCL:1;SRVR:BL2PR03MB227;H:sj-itexedge03.altera.priv.altera.com;FPR:;SPF:Fail;PTR:InfoDomainNonexistent;A:0;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;BL2PR03MB227;2:VpvpCht/3nFxYBvzXw5RKRTghd8JRiiwO1k4r+foEqze/uy+4jw8nWQdT24eLqeK;2:n7/iLOAHmlebp/MkleoxdmK1PB4uMH3vFAUB/vnRd/l1UszCvXau472YCwuaE8XkPONTHW82xwqO1VTJ5Dnu/jm511e+8PnDzKAgkhoMer3buwDTTV+eEfhmJDq4UsQ2KMUBRh0Y/zO1fMDHJuYfuC09o/nTUwhRb+W4XaoTke1M4+rzLiCtTK1AhX62Ju4ClX3993t0K6b1jTx36aWJlGYEKwnk+l8JFE23m+4bsgc=;6:PBXdez+DyqUN1AUHT8zOS+NOQ6YsbdkdX84xb2flt2EYGLbUvVSYCh/65eVcUSVi2B0ZANsrIN6N1t/U7o963zH8aSY95dCJkEhlz7KCv4ip8Lwg2QwTyz6frFfblXwZ+SAc1xCwmW6s9O8/+SbhMw==;3:9d9agpqJrLHZyZU/Ua3d+I73nyWunpapSYZ82+K21ok7ag1Q2nkkY0Xe4ENRjYYZaHAzH/EAAV/lQbc7yCMuGG9wN9soGHElUd8CL0CEHhaN65tl1DBq1JNRWBSUTIkYVeQRtICoXH2ZncOOl84b14PjeMGo7EVc9oqHPJkAj9afbKbYKC39zai3tPi2YDa49ujs2ja3eoVvFfB4M1rRXzdq1kFTeQYKJZykOdd+fgvbcWX0VDMY8P/epctn8Pnuum54f5TTCdWOzihIJZnrxVOM0/btfQTq3K4B5l2fEKVjpzGhkVrw+jy6Pky9+ouS X-Forefront-PRVS: 0597911EE1 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BL2PR03MB227;9:bRkIUG68nH4N4INXzZvg9J/7fW4FovLBbL+Xlg4zGTn?= =?us-ascii?Q?/nKKudbc2+sCCYl4Gkocy1s1c9Yeo7Vrg5uvBOdpG1yeur/hAPHpfZKf94BW?= =?us-ascii?Q?Zf/yzlsSjbnsldrYjqgZRJ1JzOa8kJ+RmoxzeFol2FK7xKIkHwF3cQIRTI1y?= =?us-ascii?Q?FQMVH1nRcxvzTvA0B5HtApA/hBVbR8smukiJnqKL8g07J2DZXoyXi6qVBbPK?= =?us-ascii?Q?eOq9n1Znv8qELvzzudhCjMNOmcykw7h44yyXSORuA//efiocjjis/b5FGz5m?= =?us-ascii?Q?d/USGh4wqXG3buAhFIec5b+Luf/B8Hno8+s37B1qInhmCKwnCRUlAtGdqjfV?= =?us-ascii?Q?2fOUTTAt2oHy+OLNRNtlDN80B0eVXV6KDSYC0ET2hQFWsgX9tYYZaZrbztBk?= =?us-ascii?Q?jYIgWK64aQpPx8jTqbE5PTce4fUdPDmg9qG1qtPQ3ax7TlEXnzVHt+7+Rs6d?= =?us-ascii?Q?N0NCMUyfEMoGsHcgAS7L6mZBd3sboPaoHpYbUkJ0eMgiTw9aQIF/LMZBHAeL?= =?us-ascii?Q?92QpaR4QdTiNSFu4ZUKDpnkjsiBGB/SybKbCan6f32CKCbnJcOeXQGU7EKLJ?= =?us-ascii?Q?IsXCRBzm+vPcUvculS+iZfhGQ+Tj5opIekirJAmcBmq4Mb+HFl/DnCI5xqbr?= =?us-ascii?Q?1cAWsodpTVN2XtlPf6LnRybgpBMaw+NW4Qdz2bWP1yQ7LOT0o7ddoUhKlHT9?= =?us-ascii?Q?Zv5DNzQ8UWPGsLPr8TI8bK3WLget+fP2mW/7fV0JX7MLBbugWYUu4dxTT/+5?= =?us-ascii?Q?YOmCFQsVPBwHfbsDBfBYix89DDpJN/HVeAnLEuckXTcOTA0ojOLlDhAFxslZ?= =?us-ascii?Q?TFRc2AoxSQ5iKtKzgzNRBG+bqvx23afZ8T9g7y9Lr7Wj3mvuVTjLZt6VsBms?= =?us-ascii?Q?A67Z+3JAvI5NqFdQfxP1ngeZoGXz0wdmC66NL7ei6kdwHt7x8xqVmPP7G4/T?= =?us-ascii?Q?r25RSqcE+Yb0qVPGQfVnYvocsC8t2T0jjQvmR9ClNPUSY3v5yLNa7F5J3hEU?= =?us-ascii?Q?tejSkZaeKUG+AfEK078RhvIiulk0YUQarKhQtdD07pZZsOpdFI4dQeJ0gYQ5?= =?us-ascii?Q?SPeqjvYUnv+L/UC/08p20r8JAhzUK+KxwagK0UPqx/tPst6uOqdZTa3jE+Lb?= =?us-ascii?Q?h8VrhRlzI1J+zMb436Ck/fBF88dV2uR+1UFNPiuFq7hWGYHUBw62pZ5fmgY+?= =?us-ascii?Q?pPfwP1bbiEyMgxEQ08W20sosI/SEGfGYjQnzSaNLKKiO3expTBSl3gLxiqiw?= =?us-ascii?Q?Etpkn+rYHr1YDAqgdl4CFcS90/PiR8zwKz1iu?= X-Microsoft-Exchange-Diagnostics: 1;BL2PR03MB227;3:oEaKZis01M3SFdoEUYNcxPjXFJvXCmhSXePHnh+Zg8j63vlqME9l0K9df7j1+TP1FanUWu8f1CNUTb7iX9sQJzcPmlSmLMLz13qiBi5sz/3V/ayuWMWYcIe9IG1QtyZiMPwzFrSJX+aroi4IHkOzGQ==;10:0VaiVZtPCJZLWavZLnjuW/rekZQETZj8j+hLCN4UCsnLMxNpMLwq/QM3Z+yQjqMB3zgTLOqHbjPuXUbp7zsBTZASALnxiakPVNvtI9LF1Us=;6:beQmqTQMvfwQziF7fWZzSkZRUzk62waZKMlL2IFMyIW3ngJg0j0pz2BmqTTZOHrsLrHeH0do1RNCEYKAXTVLqAkKUyHkVWnuopfGAmkfWcafP9zcJ/tUDEU7CTTHTt1C6HVsmGJAeUsh0QRG5/3PAw== X-OriginatorOrg: opensource.altera.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jun 2015 19:19:10.8674 (UTC) X-MS-Exchange-CrossTenant-Id: fbd72e03-d4a5-4110-adce-614d51f2077a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=fbd72e03-d4a5-4110-adce-614d51f2077a;Ip=[66.35.236.227];Helo=[sj-itexedge03.altera.priv.altera.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL2PR03MB227 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Dinh Nguyen Hi, As suggested by Stephen Boyd, this patch adds a helper function that will fill the parent clock array. Since the following code is sprinkled all over the platform clock drivers: for (i = 0; i < num_parents; ++i) parent_names[i] = of_clk_get_parent_name(np, i); The above code can be replace by of_clk_parent_fill(). And since the logic of the of_clk_parent_fill is to walk the clock node to find the parent, it is easy to just return the number of parents as well. The second patch makes use of the new helper function in the SoCFPGA platform. If this patch is accepted, I can go through and replace the other platforms after that. v2: use unsigned int for 'size' Thanks, Dinh Nguyen (2): clk: of: helper for filling parent clock array and return num of parents clk: socfpga: make use of of_clk_parent_fill helper function drivers/clk/clk.c | 20 ++++++++++++++++++++ drivers/clk/socfpga/clk-gate.c | 6 +----- drivers/clk/socfpga/clk-pll.c | 7 +------ include/linux/clk-provider.h | 1 + 4 files changed, 23 insertions(+), 11 deletions(-) -- 2.2.1