From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753191AbcGMPEP (ORCPT ); Wed, 13 Jul 2016 11:04:15 -0400 Received: from mail-bl2nam02on0062.outbound.protection.outlook.com ([104.47.38.62]:64336 "EHLO NAM02-BL2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751346AbcGMPEG (ORCPT ); Wed, 13 Jul 2016 11:04:06 -0400 Authentication-Results: spf=fail (sender IP is 66.35.236.236) smtp.mailfrom=opensource.altera.com; lists.infradead.org; dkim=pass (signature was verified) header.d=altera.onmicrosoft.com;lists.infradead.org; dmarc=none action=none header.from=opensource.altera.com; Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=atull@opensource.altera.com; Date: Wed, 13 Jul 2016 09:58:42 -0500 From: atull X-X-Sender: atull@linuxheads99 To: Moritz Fischer CC: Rob Herring , Mark Rutland , "Ian Campbell" , Dinh Nguyen , Devicetree List , linux-arm-kernel , Linux Kernel Mailing List , Alan Tull Subject: Re: [PATCH 2/2] fpga-manager: Add Socfpga Arria10 support In-Reply-To: Message-ID: References: <20160712190709.5964-1-atull@opensource.altera.com> <20160712190709.5964-3-atull@opensource.altera.com> User-Agent: Alpine 2.02 (DEB 1266 2009-07-14) MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" X-Originating-IP: [64.129.157.38] X-ClientProxiedBy: BLUPR01CA048.prod.exchangelabs.com (10.160.23.38) To BN3PR03MB1509.namprd03.prod.outlook.com (10.163.35.148) X-MS-Office365-Filtering-Correlation-Id: d6d9d5f7-f3c4-4c2f-e5d5-08d3ab2ed732 X-Microsoft-Exchange-Diagnostics-untrusted: 1;BN3PR03MB1509;2:MD/wlaYOEn+HiUeV/OsjlMMl+npK8aZtWfzyDPbZdBmFoUtcMVgP1F3XAR/sKGe0aNlvlCyA78GZDJO9d/G8j34zHnhzssFKhuExU/u97KQQr0agFy7ryzAzthwcijvhz2R77MEpYEIuXgeaEK3l9EW/1deIQ/KhZIMjQRUfuuS3Cfh+TGggqb/plcSASy0v;3:Akbe5M9S8MKBVdtiXyuWatiMvzouIi1ui7aYx7WQxpWGRo6FU+QzoUBqrR7FbECCUNU8rfknjDJp+Bx9WAoaJd1PCixqyOpVDDCpqejZjJZqBSWXCw2d0a5qLkYxk2dW X-Microsoft-Antispam-Untrusted: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BN3PR03MB1509; X-Microsoft-Exchange-Diagnostics-untrusted: 1;BN3PR03MB1509;25:r+9L7pJPczIGTogwQxgtpTEWX23OQpUAye4dRigktvWgHG02buVdvB1kjYd4M2KdKKvst8YIi2zi4Q7IiNFSJz00MPHbGOx0LFcj+QFp7KNvgrAx8Op+tWU0n6GKYT6hCiq71/O0xpwrJ0gIFXfRf/48NTy81EcCujg+XnLI+o1hZGCUZPGaVHRL6NXZwAwEZ+4IcH30KsXNe5H08B6PRYfa+PfXQs9Fs3w7XyFNnu5bmMzYqGAEfFwVDZmFhfHhUzWnG2tO8srJtQCHhodonuIbu4ncmnJuJNbv9pcQ7V9NHnteDAZRRSAvw85M4f9FNLF/Ac+GPz0z9ObEGKc0oUYJ6RyQoiplywKtgkYgFz0ftikKt76Z02h8t6f8S0yREFIJ06bSEAcPxNyL4mHacVpMD+6fXeo1onQMH7rmcRQSDPfUuPkKCCG7IKrfznUKAcwIq3mXwRQY2PERJ7ojqd+z8F5hU4NAE7a4i0veZwoE74FH5ZmVoeZdaLiEjwyp1FB6fEl00o1rXVkXqOW6GpcGR6aUwlt00li26qnMqPObYKVoSjrnQMwmo2dUOXG+FHTCzhQyluHBrUsp/oxobTi7gA0EXz74xGHY0a+I77EUeYGI8IZFQM1IBOsMMF7L0heYJBo3mF8K1gchRYNsgNaKNMjSAA8ZpajmmzB7wQDJaTq3piELQNRZ+Qgpi/hRCNHoEpfdgd4CuDLDw9/zfQeAu+DLOrj0HzWi6Svj4kE=;31:7S2BxImVTVH5i6ruJktB5T6vSx2TciXCqpNSAIwt34WlIrVTp8x4YYr81grmq5pnUVnlcFG6sVCHYpkzJy5+qaoCHyHsQAqH3jEO4Bd7UlTcOgdbzIL7+JuVDnplrdVJNj+QLgWWtme32q3Od/p97s8G10FPj9TAZ59af4oa3TuLAV27b7aVWfSFgO0AHoHTzO0gtEnKpMPTLCV4kJAEug== X-Microsoft-Exchange-Diagnostics-untrusted: 1;BN3PR03MB1509;20:4kUHq6EDS2IRFgi4a43HVYNBSuW+0i5j3Ocwlp3o9Nq6kI9U27GBoFoiR48RNqC7kABg9Ajmz8+5pNmSZfRmKCkVYCUemGsMrlQKGBsXchGeybxinimoolG9ccGuxqxXJ3I7LdalUD6ddeUk6FJUsYRPu6YiE+OvoAW7HY7Rc90=;4:1+jOlPUcyIrFGFewUQ5IOZX34wNwnRn7ZM3uW8YI3I8VdH3XJAu/KzurQaOQ4D7U4UZd+ymA4C80UuHg/odhLOE2dwMIolMxfMF67nUJrdzSdcN8iVRfjFwGOnh35NoKBipksSdrda0Xo5ywIEUmXSVa2F47ufWQllrjhgFCwrzZY3zwBDsKlPn8SrKe3WlwlfCxAMm5nBhE97hKoUm/B6TZTdFGW2YdQfRayOOwGXNdzt+DVFE/0GctQLwnPz8V9v7bnJ6CVK7/iOSaXZBIi+EgpCSNOt4eWF9yHhdSrpHCjX6033FXGcvmjJxRy+DNmPwNQDmY6FlVeyp4e6qSuArBQKNT9mTEwCL2j3BAx+8I8Frm0SYYCkVOueiOdj3dRWtQ6yGDxCZwyDXIP2Uq/Tvf+9rYiC8+JLJgr0TtPKQZdHsFozKaUDjj9S5zTh2rO+/LRfjED+vEYxs0w3yPKw== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(80048183373757)(788757137089);UriScan:(80048183373757)(788757137089); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(5005006)(8121501046)(3002001)(10201501046)(6055026);SRVR:BN3PR03MB1509;BCL:0;PCL:0;RULEID:;SRVR:BN3PR03MB1509;BCL:0;PCL:0;RULEID:(601004)(2401047)(8121501046)(13017025)(5005006)(13018025)(13023025)(13015025)(13024025)(10201501046)(3002001)(6055026);SRVR:BLUPR03MB1331;BCL:0;PCL:0;RULEID:;SRVR:BLUPR03MB1331; X-Forefront-PRVS: 000227DA0C X-Forefront-Antispam-Report-Untrusted: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(7916002)(189002)(24454002)(199003)(377454003)(9686002)(47776003)(53416004)(42186005)(86362001)(106356001)(50986999)(54356999)(76176999)(66066001)(68736007)(4001350100001)(92566002)(97736004)(83506001)(4326007)(7736002)(33716001)(50466002)(19580395003)(19580405001)(110136002)(2950100001)(8676002)(189998001)(105586002)(77096005)(81166006)(81156014)(86152002)(7846002)(6116002)(2906002)(305945005)(69596002)(46406003)(586003)(101416001)(3846002)(23726003);DIR:OUT;SFP:1101;SCL:1;SRVR:BN3PR03MB1509;H:linuxheads99.altera.com;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:0;LANG:en; X-Microsoft-Exchange-Diagnostics-untrusted: =?us-ascii?Q?1;BN3PR03MB1509;23:hrkN7OO8hY/LKReVIWSl1gxEQjkYxCLn5bsYGh828?= =?us-ascii?Q?dfIUQUWvpo0zZzPX/xWfPvmYKszcKWpBLe3i/KXtpkEaEXD4Tz9nRO+LUL4h?= =?us-ascii?Q?AAMCYqxqWDEtYUw+teGs21UVCh1aOQySohVI2MHyqk8vtimcoJZpmne4MV5O?= =?us-ascii?Q?QgH4S7inTh+vIMsYFI6n/iEzOwH/USxWMqq542Q3+IVUll9ZU4dVJvxo2fbh?= =?us-ascii?Q?Vtk+MWKDGocwHG2gF0jvoWvDwTqkJKl5FhVXjDAAYb8AQKfpp1U6vMdNh8Tv?= =?us-ascii?Q?SvkFjB1+k8D3jPxppiOsLJvPB8zJhxXdrXMD8CF1fxuDj0Sa+vxHRfCZC8GT?= =?us-ascii?Q?hxXaySSiheY6Hya06l3Z+sNwqGIWikSMYVjsIl4PkOXBcKtWtqhNCSFayb7W?= =?us-ascii?Q?pW+yPQ4wiEob1NvdhiNudzwypZJD3tfd7Ud3+O3H6UnoGrnssO3xM6W89D8z?= =?us-ascii?Q?yr6fV+XQumQAtCU/gECBcIorLdBYf/kGOS6MslsSK23Wjc068W8H1FdjachH?= =?us-ascii?Q?PArq5fw3GjLWbbiaKOaLOE8DxXihFsTFdD9FvDtEs7I04FlxKS0TNd5yaq+b?= =?us-ascii?Q?8MRmKHEu+r/TlWhn+6lvxhWVMQweXa7cbGdvGWnjXRxmM9qcZefkfEotwEDo?= =?us-ascii?Q?Lgwpqig/oqVdY/KoJUeoSgeHw36ycpDHHk5KzqmbZbSZynLH7b2bq+zri4fZ?= =?us-ascii?Q?TB2H2d7Ty/818XjbMS5St8TuBjT1Iya/rI0Fxbp8Il8CQ8htF2oelE+Ii5zh?= =?us-ascii?Q?2M6eFSHAIX78GUiRYtMWj1fYrNzMNEipi3TDxFDgeoSUOGzr3RuVoyE5U3wC?= =?us-ascii?Q?uF+R56oawHNGcgq27aAmTPyt4x9K/PSOqlmY/b7BV8+nJKVNhXgPosoqbpAu?= =?us-ascii?Q?hAac0Q71sjrsI+L9B/jqMpmATKD451+06aSNbk6QuY7Jt+tCZ475lCHIYHCt?= =?us-ascii?Q?fWRT3MTEkONAI5b+92l1O85IJqW9GzzlT6PNdmc9jIR8ZkuocbOoMhSYk6PV?= =?us-ascii?Q?oELS0p8zmo7G5L+MK6Zz1cK2rC2skQMijn8APSzA8w6zx0+s9cf4upoH9wIE?= =?us-ascii?Q?944v/3O9N39DfxYDTCtUmrcsAsRAF2FhkINOAsuB7ECEB4KfMXNPFqIGjt4j?= =?us-ascii?Q?5pl1bDhVgMhW+1PxOZtRdtQUI6YiWHY?= X-Microsoft-Exchange-Diagnostics-untrusted: 1;BN3PR03MB1509;6:+H+xsKrGtmhUDrQ06iBJMBhS1KpJdkm9K38nhlZvJ4c024jHUULZYPxcMA9VgDv5mlUtPXcHFHenUqQlxVhhEkh54dzWjDXjWFry6tmF8D+8ndgvtf0pPe1xpGkjXcUxxWSuMcSqYCRl7ePB3W6UXeuH5oFwwKRICSIhxn7lIG7njsVkE0AQf5gEuMok+vmg9hdEYXmPqqXSAfQ1eiNxJHDQAL8haf+WcxowLZBKfLORUWiq2Kg/P/Zv+d2Z4kxdCzdWDawc2wQ8RPs1vGRfgKw4PqGte+M0B5ogvppKeUncgl9OuC44erEO9EjoPk/pa6RzCewFjlnp2EBv42iHYA==;5:SCVE5ng/YZbOe0G1i/a5j6fmZpO0R4PTumv/0jUcQO45NKKyryUZe5EzeP+9Oup03gyv4YSvTffHmrnJ5iaSZiCZyYAY66LbVCDLs/c9g/gx3M5pwl5qgXXzo5/EgYCjdTNzdjh0QxkfUD0Pz3+heQ==;24:dPg3YQ0+TMJEw941sD4JjHAqQMlAEl9AslhHd3lEvR4m6eQtpXiIiCtcQTyI2SbHnQr8ME7lPF3owK8l73RNlD0KJQRNoB0as8tEvuBmRIo=;7:2QiQZiPFBheY1a55nSnDdc7qm5UNSG3sLtwKX8iqi4i84N69huCPXJpbSzlah0vF7/D8nVAZn1ldw9A6OEdccgeUX7G409neHHnALtMqvqqgeaJiq3cMnIRntnaaByVCiBiM54Oh4I4be1DmTHGjKovKC5YRANgzbMCYICDdlP6CNEkvyt7Wy87/Tg65+wnWIZnROwR/7ZwRjtBa7kCYwFx75g+mQ1u7ecuQdrDwSinNidZsXYo0zblwyUO/ms1f SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics-untrusted: 1;BN3PR03MB1509;20:22YVRat39f5OX8D3BjsdN6egk8yhpXQFH/P9+dbnB4bzkSwLd3gFc+tE45If9pq5seiWcdnn0MBGrndbGUU0laywBRWfx2vWjML0rofSXlfFG5q/Bpny5yD/uRITO5Aot7TEGWhf+n8QrMYbati95BEtEa2uSLfFZgniEPHnlkM= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN3PR03MB1509 X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: BN1BFFO11FD019.protection.gbl X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:66.35.236.236;IPV:NLI;CTRY:US;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(7916002)(2980300002)(1110001)(1109001)(339900001)(189002)(199003)(24454002)(377454003)(66066001)(54356999)(86362001)(97736004)(8676002)(46406003)(6070500001)(47776003)(50986999)(19580405001)(19580395003)(105606002)(2906002)(85426001)(33716001)(76176999)(86152002)(83506001)(11100500001)(81166006)(956001)(2950100001)(106466001)(53416004)(4001350100001)(77096005)(8936002)(6806005)(3720700001)(9686002)(7846002)(16796002)(9576002)(110136002)(7736002)(50466002)(356003)(189998001)(305945005)(68736007)(586003)(92566002)(23726003)(4326007)(3846002)(6116002)(81156014)(87936001)(7099028);DIR:OUT;SFP:1101;SCL:1;SRVR:BLUPR03MB1331;H:sj-itexedge04.altera.priv.altera.com;FPR:;SPF:Fail;PTR:InfoDomainNonexistent;MX:1;A:0;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;BN1BFFO11FD019;1:thbvz9m0C2JEyOTDUpxB4s9qOZbKPXk5yaN6ZzMJIfliFZ2HD+GbD4AOoIreYLMHUNRfRHiEUKo6VZr7+0k9bTKNS4JWiwRYBi0N/IeddBAShFCxs4aNG+maGtR5L30KvoZjN4I7TbKdmy7nzG/qLuYC6TTsba7rjCRpfhkGS7WdtyGwq/SYcypRIHMFkW9faH8+0xSOvDalQA/eMskeWr8OdJbXGf2KACsUbCMX8qTt4vDU6im6Q3GHkNfNYxTT9oX3Hxd+BRrfw1c0HxL8pxAiwfTKyEY2HDfSTcFa6QSSbkN96NYckhPC30+w5b4ibgbe7c3p8DLFyEZpfFrr8iotLnzHTd5IhoN9SSZpMxH7zFKLBj4ITGODmJ4YqBLLSyObx1kTOJyBEH3hcwaKjfPU8v3ayamAk9HPIHSOfLoWuo6ie0pYv8fxyPFQYkjBFfETLBWauaKUOSW3MxMN4/bit+7XqxkRHxVCuCeeXrZtWNSXeCesp6MStWgloeAQ8/Ja7Bcg2E0ggtMs9fDM3WtoIVgKszjbXxUGK5sV6Q/F1qKQzxKSYj9R085C3OrElYpUaySqsx5cLZaEvlsXbA== X-Microsoft-Exchange-Diagnostics: 1;BLUPR03MB1331;2:OD0pM0F80Dy/iOe/kvJJqErxdjigqSwynDY/NrMZervxMeoP69zn64CrmMoZCTbnReWNkqY3EozxOMX+J4xTaffViV0EfVMd6JirzDIAUqtdcCpVvTPQmp6IIcPGucwSVOJNMXZBxEHGvQko7h3zR0X4p65gAOKU+to3oLDQsTJ0sA7mimZVAvzlnSm2jVeU;3:BmipnH42vRe7hPewaBEsQZBb1XLO5Umd3yduAiPUNC2vsnd6aSXtiwyxBLrA8niUioBV3nAuPnWbDbypDgVICgwxBanT5xq/392phfh/ju73bYrQ7CTu9UbyWKhPiQL8g+C6dxaeCyBAo0CPcdQxkRzTCtlkNaZaZpt7ZthXktDMXe8tBlmKVdSdGFYeHxo3qHyjH6iqvk9bmkAxHP/iXoeT+MwUzgQtiGF5se/NYxAFxl2PIZEnrbuBX4yhD3Pk;25:YFVMv2T4KuBCbsl/GR/Y1f1jHRcVv8fI8sylZ2sE8XpiksXvGOSo8aA+nW3mM0BSbL2tYbX0+GUQCyvZQMiQQ2JB3AyFlzS5gNX4H0AHN6tnEQfjMYfJlPNCVcJjGu6F/HuFNJJDuAxsujy1qIuamVj7LqOzQJiYExvT+6hdVhUWcw16pTIeWxZ8WAlBg/9Sle6fOaXIw842GNhpDpAuDISIouwBTHtTv0pS4dImh7RhQab4ZKI/yTi1hEzsxHHt8qSyXbj8MjetTEye+7jde/aQbWd9ZsnL+67ToD4W/xqeMF4xt4Z3RwWFz/Fzjkd7XrA0NEQUhW/x9H19tRxlaDNcW3KPozr0rreA9c/YMBNxT1UFDH41BmumOLPZM1vJ1FTFoWz2ry037M79s2sx9G9csSVU7+MJp+87CwlTiSc= X-DkimResult-Test: Passed X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(3001016);SRVR:BLUPR03MB1331; X-Microsoft-Exchange-Diagnostics: 1;BLUPR03MB1331;31:me9RaBgstb8s5wGxGUZx+uvuDK7eAF1IgMryG4udgnPLflDJ54CwAHg63RdIyDFy4pilWMpCL+EatoAj//Niq1ZkM05DUrSXGCG5HxWMORVjFJSyzCzzSWA8yJ3DO0bOSpyCGl4/1Bd7heRVIjtysR0CuaZYeIDKyCQ0kwh+WK2feGj1ZjR8rjMd/zhYT6IrwLRcS28yVCviSbUdkeR32A==;20:19Owh2LDCs3jW0NpFOMv9WL5iS8yXBBbXwolRgOdmjuBhRXAtyMVgfbux2VkARqbqipciKWzYTHWqQYhox1GA/SZORQCKBHO1Ie88ntt03usPJY2iKEjEr9A8Yo136i1sYPUvaUbiymjNkj896/p4D3K+d67Pi4mh03dQZlj4ok=;4:yEmCC6L+cWe1XMyfABJm8RdKOM9d4QpABNNdPa4zgiGRDT5e845e/rxfcf1KaJLOltfGaZPacR5lyofhyRb8GZOXGDqu+HlIDFdJznags4KsuOw8UV2YYyt0MK5MLtZPWuZs5WW8XxBuDzO1ds4FgVFqk8iQmshSPojmATzR18KgfYG9rk7uyHOoxZ3+jV+66Q9wLLTEShGe3uieWWbkGjhnWW5EYoE5tFteSJzAPLzSJr3xvpbs8HrI7aUwAfFvzNCd99HO+V/6HWjigv+JGA7dl0O9EiNdVTTOdz2syHlqbr0XDNWBpfdPoCDsN47ZPk3PtsrhhwJ6ewW5PyTq54cb+SQQgPhbiR1nzkruGz4EEU0Ecs4BLFTozU6mEy2M3BUlHiZ/7aQotHASOcmGOP3/pIW68dwiC8LtuhPipi9aTLisC0mECacAJRV3HwfIDeWftOtxNxqUi7l9Iw7QC9S5Yfd8TmrwfrsHTufwzD63g6HcwyhSTEGt9GhYm7KKk51DyW5ncrp+mpHYPiH3v0aX96/COZ8PBO8RfOTGsHMwrYvf6ipOw1rEA0/L2yUW X-Forefront-PRVS: 000227DA0C X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BLUPR03MB1331;23:SqgA54pOUF7jJddXwAWpQt1zeBwsek5NGWFW7ybe/?= =?us-ascii?Q?Lng0xsuR35HXZmnC3gMHbTYhDQqpbIwXRoXzNx5JzVBSu88jYiESLSYvkP7N?= =?us-ascii?Q?qXbZKFVlElV4zPtM+whhkdyS9eeu4dT7x4yeV5rJdT8aKIvdPf7B0lLX2UEE?= =?us-ascii?Q?swLYtgFustA9TbAcAH2tzksAUsLIftCYPEaBkIlETi9zxKjVFbEhiqIRAn85?= =?us-ascii?Q?kx5zMtLUByQG6tu6+X0OvkR1hFLhoC0Bevwr6odIZeDVh77u2TaA1vx8rAii?= =?us-ascii?Q?QyJD24g4odQE/6BVTe98Zep8vT5Wrlfw00KJ2y443OqbXGEFVkcaYPk+KJgJ?= =?us-ascii?Q?h6pH/g4ZTxHfeZG4Cy89oXFZYPFt3hwhONdt5dDAXeTXFvWq8S6E5zjcMr51?= =?us-ascii?Q?ZTJPoMIxsK9v7g9S+oFd+JqKysS1cUz35O1lkhSF9INJt/qH20RJ9GBfUSja?= =?us-ascii?Q?aK7sJjpMQUReqwI/3d2y9sOHXQ7U1RcBa9qd27JXABm+SjKD4zih7NCpUAYY?= =?us-ascii?Q?xuCOM/7FPQg6ZS6bU5xGMNcX+G+stxpYfuZn0QXqhS9JekREzlvCJ4PHMnjq?= =?us-ascii?Q?OvIb9FROI5SWEVpxPLCZ3Xk/bocPDiFWFEIt4NHVXdb6epmjd0rNeaHjhZd5?= =?us-ascii?Q?qCC9QyKtHXdg8qXfu8JPfTgXZ7RsgAE9IMcCaBn4mn4aC1npCdWDvh1JNT+X?= =?us-ascii?Q?zH9z6oxTopN5kZQ/twSDUOiu5ZcV81ReR2zouGDO/HEpnA0wIB801TRGTZow?= =?us-ascii?Q?l9Uz2GFuxYd62WsK6z8srUlZ/dcd2JOs8b7k4r8gkzvtbDBqb0ujjdno9SSu?= =?us-ascii?Q?5rzNN+M111S6BB/Z8tZngbWJkgQGaV9krU8It5jcshEaKqi4wFpTAcxbuaoC?= =?us-ascii?Q?zTJwewxXxmA2jCjEci341+dXs91Wxc0fhu7qP8IiPFeJzefcy2B91mRVRYtG?= =?us-ascii?Q?IGVpw7/Qk6rR+FfgOYh61LKW4vAmnmXN/7WfhxCe0lJWbwRzphFpM7Mf5p1u?= =?us-ascii?Q?iPHEUD3BvS4t8RHrwY1LnmlPW7wvJBJfOrwCP2GEK2nUAx7i1E5fG5GzmhaC?= =?us-ascii?Q?fAQ5jtCb4iNWyBoSee56R73lrzCTD/wcG1eLuTZiWOP+4re6Vx4aXzv2WuLu?= =?us-ascii?Q?MpTu3zYuPZKCdUwymxKcmhjCjtvazlcb7EuYh1dD+Pbtj6oSaIcjKzOG+t3a?= =?us-ascii?Q?aEtxdHqaHj2gzT3NG0Xkad13Fe0P/u7rrte2ghiCSeaC0ycSF0iqBf+2bJ3G?= =?us-ascii?Q?9KjTLOUCuGyMj/zQoNq7k3DjptyfeXe3bkV9QENzymUQAcrwStz544+SGmYG?= =?us-ascii?Q?odfyfCuZhJmXzu30lQK/sOfBNninIe2K1+4ptvn2qmQ3OmCvNCX6vRgnEOXW?= =?us-ascii?Q?SNsNo0Zu407FGCEZSbCEhVRg+Y=3D?= X-Microsoft-Exchange-Diagnostics: 1;BLUPR03MB1331;6:HEL4p02a8p7CShsIhXC4M/LlN3i8YrlG1Enav7lOmtnZM7K9dUkMkMG5MO393kLWJhNCqxVr5tce7DOMoJgPkHLaRUY1+Bv67VLOCnFAVrkPXm8EZVt0RF6F8POUcltIAwdTzvQkUsuXARbstXdRHAmgv4xv1v4Cwlff9lF3yyWHVLDhcLLrEbYBPoPoYhaMCqQznB3G1MMeW9z8kVtOLlcN3EEREtfCejN9V2eaXBCx2Lf4LWhsgtDqObuknmwZ2Yw8sX1zWDra6c8ReQuSgT8jdVbN/ir62Q0mKz0ebViWkaEPZEV0C75495HpswtDjtIgwmo9uYtYINvwSANVZQ==;5:3LpBkvX7taKLB1h2nL+qHYQcYIAHJDso55zajcDUly/g1iKUSZZFdw1t0/j3XMuB8Vw+m5npfRT0H4WtpfkxueZJB4ExNutSyaCaHRhKwk6SzxGXiMBcxdRxsmwn6HkoIFsForqVQgk+TlNFlICxKA==;24:xRjSffMPSYnGXpRnMzAG9w64ARUiyO47gvpgP7G+w/iDISrqERgRroCSk70KzbJauLuYs8cEpgT8ZfYzlfpM3EeR0zV61aD4yFItBAIOBuE=;7:s4W58WzoKmzafPNHxLbCvpZzcIogHkcwQd01T4Crmc9TA+aWdxVyLoB+xUTXo6O0lAF4BIylO5ZECkOmtu2tAWPLXF+1SmhwvNzhXHhmlb+/u0LarO8RWGS0LV/t6o9zHwjf5dYFriEKrDHIr0kEAvPBsS8fIW1YK3P2qaqK4x/NUbYqVCeYAy7BINRZdsdA+cglJvQVuJu3zMDFqv5gBA== X-Microsoft-Exchange-Diagnostics: 1;BLUPR03MB1331;20:VYBGhOOFgQbAExNnirQ9jeIXuAMkDYOHeZL2x45vNVxQV8r1PeHIO8qZXeq34utKbStVi9YPBRNNU9XtghkpJr1jceDq8wgaKb73fVF1aBY2MOjmPtNIwKUY803itC3t/iU/oDLkOzPu89HKe8BPSe5018vFORIUHIQOVfEDiEU= X-OriginatorOrg: opensource.altera.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Jul 2016 15:03:25.3222 (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.236];Helo=[sj-itexedge04.altera.priv.altera.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR03MB1331 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, 12 Jul 2016, Moritz Fischer wrote: > Hi Alan, > > couple of nits inline below. > Hi Moritz! Thanks for your review! > On Tue, Jul 12, 2016 at 12:07 PM, Alan Tull wrote: > > > +static int socfpga_a10_fpga_write_complete(struct fpga_manager *mgr, u32 flags) > > +{ > > + struct a10_fpga_priv *priv = mgr->priv; > > + u32 reg; > > + int ret; > > + > > + /* Wait for pr_done */ > > + ret = socfpga_a10_fpga_wait_for_pr_done(priv); > > + > > + /* Clear pr_request */ > > + regmap_update_bits(priv->regmap, A10_FPGAMGR_IMGCFG_CTL_01_OFST, > > + A10_FPGAMGR_IMGCFG_CTL_01_S2F_PR_REQUEST, 0); > > + > > + /* Send some clocks to clear out any errors */ > > + socfpga_a10_fpga_generate_dclks(priv, 256); > > + > > + /* Disable s2f dclk and data */ > > + regmap_update_bits(priv->regmap, A10_FPGAMGR_IMGCFG_CTL_02_OFST, > > + A10_FPGAMGR_IMGCFG_CTL_02_EN_CFG_CTRL, 0); > > Maybe replace 0 with named constant. Generally I use named constants, but since regmap_updates_bits uses a mask, it is clear that we're clearing the A10_FPGAMGR_IMGCFG_CTL_02_EN_CFG_CTRL bit. > > +static int socfpga_a10_fpga_probe(struct platform_device *pdev) > > +{ > > + struct device *dev = &pdev->dev; > > + struct a10_fpga_priv *priv; > > + void __iomem *reg_base; > > + struct resource *res; > > + int ret; > > + > > + priv = devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL); > > + if (!priv) > > + return -ENOMEM; > > + > > + /* First mmio base is for register access */ > > + res = platform_get_resource(pdev, IORESOURCE_MEM, 0); > > + reg_base = devm_ioremap_resource(dev, res); > > + if (IS_ERR(reg_base)) > > + return PTR_ERR(reg_base); > > + > > + /* Second mmio base is for writing FPGA image data */ > > + res = platform_get_resource(pdev, IORESOURCE_MEM, 1); > > + priv->fpga_data_addr = devm_ioremap_resource(dev, res); > > + if (IS_ERR(priv->fpga_data_addr)) > > + return PTR_ERR(priv->fpga_data_addr); > > + > > + /* regmap for register access */ > > + priv->regmap = devm_regmap_init_mmio(dev, reg_base, > > + &socfpga_a10_fpga_regmap_config); > > + if (IS_ERR(priv->regmap)) > > + return -ENODEV; > > + > > + priv->clk = devm_clk_get(dev, NULL); > > + if (IS_ERR(priv->clk)) { > > + dev_err(dev, "no clock specified\n"); > > + return PTR_ERR(priv->clk); > > + } > > + > > + ret = clk_prepare_enable(priv->clk); > > + if (ret) { > > + dev_err(dev, "could not enable clock\n"); > > + clk_put(priv->clk); > > Seen that you used devm_clk_get() is this one necessary? Yes, this is wrong. I'll fix it. Thanks, Alan > > > +static int socfpga_a10_fpga_remove(struct platform_device *pdev) > > +{ > > + struct fpga_manager *mgr = platform_get_drvdata(pdev); > > + struct a10_fpga_priv *priv = mgr->priv; > > + > > + fpga_mgr_unregister(&pdev->dev); > > + clk_disable_unprepare(priv->clk); > > + clk_put(priv->clk); > > Same here, if needed at all shouldn't it be devm_clk_put() ? > > Cheers, > > Moritz >