Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S941092AbcKNXXc (ORCPT ); Mon, 14 Nov 2016 18:23:32 -0500 Received: from mail-sn1nam02on0078.outbound.protection.outlook.com ([104.47.36.78]:21337 "EHLO NAM02-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S937500AbcKNXX3 (ORCPT ); Mon, 14 Nov 2016 18:23:29 -0500 Authentication-Results: spf=fail (sender IP is 66.35.236.227) smtp.mailfrom=opensource.altera.com; xilinx.com; dkim=fail (signature did not verify) header.d=altera.onmicrosoft.com;xilinx.com; dmarc=none action=none header.from=opensource.altera.com;xilinx.com; dkim=fail (signature did not verify) header.d=altera.onmicrosoft.com; X-IncomingTopHeaderMarker: OriginalChecksum:;UpperCasedChecksum:;SizeAsReceived:9138;Count:39 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=atull@opensource.altera.com; Date: Mon, 14 Nov 2016 17:23:08 -0600 From: atull X-X-Sender: atull@atull-730U3E-740U3E To: Moritz Fischer CC: Linux Kernel Mailing List , , Michal Simek , =?ISO-8859-15?Q?S=F6ren_Brinkmann?= , linux-arm-kernel , Julia Cartwright Subject: Re: [PATCH 1/4] fpga mgr: Introduce FPGA capabilities In-Reply-To: Message-ID: References: <20161107001326.7395-1-moritz.fischer@ettus.com> <20161107001326.7395-2-moritz.fischer@ettus.com> User-Agent: Alpine 2.10 (DEB 1266 2009-07-14) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="8323329-1933739543-1479165800=:6488" X-Originating-IP: [24.206.110.125] X-ClientProxiedBy: BY2PR1001CA0050.namprd10.prod.outlook.com (10.164.163.18) To BLUPR03MB1505.namprd03.prod.outlook.com (10.163.81.23) X-Microsoft-Exchange-Diagnostics-untrusted: 1;BLUPR03MB1505;2:buASrKezKbDu17vybIQFKW6ytr3mOPvQbpi+5RG6ZS8gSj+lRRAvwhpykvhw9hjrDesiTyWlIqDsAw5E2L5GW5NeU1m9F5yQGQlHQ7WjYTrjjAsKQZaPAbJnrWIe2UndjdNE98KHNIr0eYT9FpK+RuXP4lOQmyQpX4hTHsqYX3M=;3:vaLp1hQ7f1YhLv40I/8wYWkjiwfDOHvRNVTvDGRZryjPmpmpKdT9UAKJdORbG5h1xiGt6dN9GnORENXca25n/QWxTYAR/2260KWTZCEB1PtV0qQrR6BUKxK+6b1fuYrLtw5RtJ3MrquHqR8x7+/y0WHnWVbY86AKdsVB1cuUYUc= X-MS-Office365-Filtering-Correlation-Id: 4f88509c-e61b-4359-2114-08d40ce53a25 X-Microsoft-Antispam-Untrusted: UriScan:;BCL:0;PCL:0;RULEID:(22001);SRVR:BLUPR03MB1505; X-Microsoft-Exchange-Diagnostics-untrusted: 1;BLUPR03MB1505;25:T1LaFEizSQGLKhN+cEIfp034qL5bXjQh/jEBOPRWU1tJK+RRGmj9k5dQOrfJdh7BpHnweI4i+6yAEg6I1cbpuFr9MGkdYB07T3FrA5qFTAIVEr2psFeFKZKzYFdgFkpEl/YMSHqzBl9aJ20lndMcK0j66ZMOdo/V/V/5ZSW9M8QmhzLU+gn9e0vjSzqZ38td06CneXHnDl1s789Dq2YJIxafMtRZ+rd+njqBSaNX1iXIDH6rZVjCiSD40dUadiyPk/gIJ5V3kXzsgNQWz2h5c82RQH8XEuP9RO3URlJIY9v9ql+9nzLsTA5gYjNOIySPawWxKt66RI2v2gqFNzRr484pn2OLRtp+1lcUX4Qfv8Zq2qsVfRNQCM61g6glxB11BhNnQo5CapNvtbhKt47I7gyu7M8Pz6k2Oj4Qh6miF4CD099ittAqWR96CVlo3EbByvGbQNpTL7kXE02S/4TH9rSgctNsqPtumr9+afDu86PA38EhDoQ6jdelVvzxN+mkk27qQGyOSjCEOgKHxeGfN6tGnQqwtWQO8UEzVn+xONYQgFQMn64qmGdnnEon67GvhjxUx6gYjpEC3VXWdltQe+FUHfmXCcdO2+WUiaZrvarTXKRhmBQkwAMWGicaA15q+/OC5Tludimhogbjkt0eyvebikRPYvJVwtiz+rfTytMwMuySrFYUf2BgcLsmudQJ4czc4rnN+JdSU2fMS8aZ+iPykidRFeszqMbMcJTGiQrihT62GRSvKTSV8YTnesDyYmzcRrfpKhWLcS2YRc1eGSPKcNEykzTCoYfspoOU/gw= X-Microsoft-Exchange-Diagnostics-untrusted: 1;BLUPR03MB1505;31:6YNg1bOdN/cK88+V9ByVKskv7u/2LrQZj7NA7W4MqHjM93kQYSfy5N0b7JxFciacsghNoIJlSGO5C41W9cmtYCj2qACkU2wLNJu0UdkeiPleVIpbwILIjolrFh2Zl6DTNr2maWRatUxztNf3v+f+3uEPm828cU9QS4aXE962drbtD9hkTFFf+WvYM1LmrkB5A9RJeEpCuRoq3nRuh8sZ1CjozM9UQ5cNCZC099TCjoybMwjXrMneDd0OCr+RS2mqUlHA4tsOioMJvHyQ7VdWY/vZh0JPbPAzn4szHq53ueI=;20:LZ+i3Zc7JCcvxovCeYH7RMTCRT5X822WNfnLTKJSeFyRYgJ8ZfGW48hz0TJqiDjUtzd6xk/jm3ZX6DZZOYEN9oYmA1v7yI4Vc3kJrfwj+Sn/1fk/UJ401QmPt25FKCcI3sR+FoGI0EQCr7qNLhPzBPWcZp6vUzj5radKDLxMARw= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(9452136761055)(80048183373757)(258649278758335)(192813158149592);UriScan:(9452136761055)(80048183373757)(258649278758335)(192813158149592); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6045074)(6060326)(601004)(2401047)(5005006)(8121501046)(3002001)(10201501046)(6055026)(6046074)(6061324);SRVR:BLUPR03MB1505;BCL:0;PCL:0;RULEID:;SRVR:BLUPR03MB1505;BCL:0;PCL:0;RULEID:(6060326)(6045074)(601004)(2401047)(8121501046)(13015025)(13024025)(5005006)(13023025)(13017025)(13018025)(3002001)(10201501046)(6055026)(6046074)(6061324);SRVR:MWHPR03MB2589;BCL:0;PCL:0;RULEID:;SRVR:MWHPR03MB2589; X-Microsoft-Exchange-Diagnostics-untrusted: 1;BLUPR03MB1505;4:pMy8brxqlOldw6n469rWRMOcAKS9Nf8E3PZkDFgEz4cr6wxdnIUu6Nopus5RIn3xX1EHTQ/I13TEX3DWTaM47tUpkZR0RpXwK6eTibmvh4wCILer7ZR7Hu0bS61YYRyHMHufJCE4Zh2peBlaVlXvmMQ0+xZRZpSUABCCLL3QJYKgzQsg3rNMOT3L5K3jVvTxbOiPieThLQGkBo5/ZDLU0NvaeicL+go1taAnwEMWFbsl6LVYGmCPm13+AvID2UNKQ0U0CUYWirkEm4V3qiecAza7vjEikR7lPNAYbbFHpTKBbqYbCrclyoPa/obd5KtcionDZTt6mrEbl/Nh03leBtvw75e9oDcED5wONoXrrr//JAoIu4afx9qHb8oc6Y9iBzt3tQC7pLMl03/6cKvhn5CYtIK4rI1erqNveHjEUrUgUOhDdRnsR5x6/4c3gCLa8vWZh1VJh+E0mUQ419h6LimrXknxe+Du6FoeWasFhG9OLLTV4dOvNW/I2AFCSNmbo3fXlsXisaBh/mYquiojQ3icd80OwPMMUoTfz7mVS2bncWjzMRXOzooMb2d6LtvScz00xFN34GLyIjF7SuWWMJmhZs7LJ+9qu3q+G4jTm1QA16i0Lx8WSjMpKLyOj3OF X-Forefront-PRVS: 0126A32F74 X-Forefront-Antispam-Report-Untrusted: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(6049001)(7916002)(189002)(24454002)(199003)(377454003)(101416001)(305945005)(92566002)(106356001)(50986999)(3846002)(6116002)(117156001)(93886004)(77096005)(42882006)(7736002)(81156014)(83506001)(81166006)(8666005)(2950100002)(5660300001)(4610100001)(86152002)(6916009)(6666003)(105586002)(42186005)(7846002)(229853002)(110136003)(4001350100001)(8676002)(66066001)(2906002)(54356999)(33716001)(4326007)(9686002)(76176999)(189998001)(68736007)(97736004)(86362001)(7059030);DIR:OUT;SFP:1101;SCL:1;SRVR:BLUPR03MB1505;H:[192.168.1.12];FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:0;LANG:en; X-Microsoft-Exchange-Diagnostics-untrusted: =?us-ascii?Q?1;BLUPR03MB1505;23:P7DL42sKDEjw+eyU34UH5fUodFLbwLkAQPI9r4pHn?= =?us-ascii?Q?UhzT5lx1pXt54PH3TQhkrxLmeWx00HdZSMC6EMzD3ItHPsMVOawQF6NByuRN?= =?us-ascii?Q?gA0b6SvFgWSJujP9Pd8EKVn3+7vm4AtAUOQwMKc9XhHHZyFP7FPZEr6WMnhT?= =?us-ascii?Q?TdXMyg7e6FEjFSFCmSmz4fRe/OO4PWcG4mx4TjzXAxYDsxDLIsJHpCOwcmJs?= =?us-ascii?Q?NhDSQjSyv5nxYunXK0mYa3hwNlRVex+A7XXteM2VvFfxiAfga5MMJ7ve/4Mi?= =?us-ascii?Q?J8wiNWKflB3E5wg5ZD0AZI7pnhVTTVFhTDSI7XlQh6XFC4WlOa2DLDuNvWz1?= =?us-ascii?Q?yWPaelGiW5ALDUESLtNRvt8azsIGJscC3VSmE8xpwBzNpi0JfwJi+UWrXAiE?= =?us-ascii?Q?h5rYOkRWIG2VI9uPiLSK8RRhtYs+bvhgM03fLRqF1aBXMwW6vw+PiSo+5E9I?= =?us-ascii?Q?97pVro7hGVA4w9SlufAouH9Nn/xO8Kpwkc/4SzgLL97MdS5yLHEoKj1cQK7U?= =?us-ascii?Q?1EXy4ahw788I+ePJLjq6lCFHLyAazcxWfQ+S6DtQNulj1jRb8NhrBr3AImiN?= =?us-ascii?Q?fjzy83dJGnh10w4B2mGMT/TeQWLLgCB/fYBmty73U8b5En0rHjmmWI8xmoxk?= =?us-ascii?Q?FCDF0+KMh+GcEpMgq2dxY6e2DVVCbvGmobWlBwno2gcsqe8Ao9DvnBCMzSyL?= =?us-ascii?Q?wWrOC3JJsbcjrrGR1CPmLPDOyTrQhrUJGqQ2AyzfL5QmiQ/drchOIogl4fxA?= =?us-ascii?Q?btk5HOY3vma0d5LErEPdvl13OI3vKZ2FIdsAimyaXCESEZehxdY2knaigTDx?= =?us-ascii?Q?tADtfaMBKZBuHTaoFjMyoCuVr5Nuf71+GfIhGa8bRZrO3N6KHdY6h9CsGSom?= =?us-ascii?Q?78PyJuII6+bp696Ntq6hGXVO5+lJFVnvcwOZWEjo4fYqsITOdE0o5GaE6/bl?= =?us-ascii?Q?9i/7OiSGRjldwCAls2k8Gz4an71oaopG5QRJ0MvH8WGSm8SxjVRHopNpffap?= =?us-ascii?Q?udMyWWQMs/t6SmgHsS/ZZKW2ir0iUYUFsuSqCpmWSAtYsB0pyMMTIXlKzWCp?= =?us-ascii?Q?XdOahmEhOEkXJFa4DuB+wCi74DfNzuBpe0n8/hnxXzHsJ70SeuT9w+/Qfl+P?= =?us-ascii?Q?CW4iDHF+bZiuyqAP7MkxEZ/EdT6rkPEC4+IFulJruJ55QcYeQaDAY3eSiXkW?= =?us-ascii?Q?sLkDt51mL73qNQ=3D?= X-Microsoft-Exchange-Diagnostics-untrusted: 1;BLUPR03MB1505;6:6V+ax33GnsvpYCjE9lHLc6eiMiKXNQOZy9W7dJ/SE8TlvTlAv8yyNYNp+P3b3oeks9bGVkLfSejB0LkRb/lkS/WfL582tUyHK4jFX1adoksvoADWyiQOAU6mEBJ6YZsJCbOIsb7mX8T6j0tCMf/+J9e79NRbfV7mQ3Avgagsceg5iK8rFBkOgGLex/cSA0s6wAIxFVbYMz+HkCWQeIOaVJ6abC9Uv6fc7O7SND52HY9yJIdNh4uxW/vnHESDHu8wa2VcTzgI6KhOAeONLvvRUZSGlcZqcThwJtzPoj6v5dCQnuT56vvAbP5MxTCWItInkQ7rwcw/jaRnANRjx+xBEQ987IAPEcLIhVZcwuHJInc/zePjAuOdfK1sXgB/qPVt;5:Pm7WSBmlJnZchyzGiM3yGGWOIicduIxa0mbwlwmzrnaMXiIZZP6igZ010DSqrOS0eXBH3TMKcTRwmT8nFD4zRR7KpSZ7KzbS6Crw8dMCVEa6iNBeK60wAf6pRZwm8SnZgcBLA7OAcn0Wya666UQITA==;24:97EbLP2LMrSRQkw0NVT20Memha2oYoakXsVZ56jTyctLpaowXJZmq+KgvaC8sDfPhYkVKnvmo2zWonPU7cW3vJXKojgSnWPvBqF7MWMAnvk= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics-untrusted: 1;BLUPR03MB1505;7:VWhGREYhkwvKXkw++fMsmhQ4Lnu1BUkfimD0+tEoJK5GMAy0rQ3ty4g02yEo+1/Vd21XGd0zbwhRjRCwmwZi5pdUsaHyDqPNSRQqQLiY1mW68SR+22wCEUoTWciFU+j4TX4Sf8yAWsgGygQksNWCSqPJsr9VAJFof3HDQn+97FhqiYUm9hWOUmMlQuPqFW97MnwIpJ9jrJrj5Ye2sOV3zUL4NsVkaeZk/mX4pwc7qw01ySaMGMkgCqH1XszBLEytIJiZNLUBjtH6Sl7pAH7tTvtOd9W8FOjN6/FAXhB/PdSnQh4PkX9n0GwpZnKbn7X1lQ23IoVC436amXwkOfJiCAOtF5LdAmVbJKxMRvC/kfo= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR03MB1505 X-IncomingHeaderCount: 39 X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: BL2FFO11OLC003.protection.gbl X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:66.35.236.227;IPV:NLI;CTRY:US;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(7916002)(2980300002)(1109001)(1110001)(339900001)(377454003)(24454002)(199003)(189002)(8666005)(86152002)(7846002)(229853002)(77096005)(305945005)(60046009)(92566002)(41446006)(7736002)(8676002)(33716001)(356003)(106466001)(956001)(97736004)(92616002)(4001350100001)(5009310100001)(189998001)(105606002)(86362001)(90366008)(6070500001)(85426001)(8936002)(87936001)(81166006)(3720700001)(4326007)(68736007)(9686002)(5660300001)(93886004)(2906002)(626004)(84326002)(50986999)(66066001)(110136003)(117156001)(83506001)(2476003)(4610100001)(3846002)(76176999)(2950100002)(6116002)(6916009)(512874002)(42882006)(6666003)(54356999)(81156014)(7099028)(7059030);DIR:OUT;SFP:1101;SCL:1;SRVR:MWHPR03MB2589;H:sj-itexedge03.altera.priv.altera.com;FPR:;SPF:Fail;PTR:InfoDomainNonexistent;A:0;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;BL2FFO11OLC003;1:prIHpTAXqMr3yLyLk0qhAmCeoECDV7BEjnlJVQuAdD8ekD4OBqeIrbOt8E5MDaKgcYix1sm5P2nIXXJZ1jPiiRzelG8d1HgdyIh8JH6cWtBC/HhhpdX5Mds+ixWGxDOgljg59FUJ7rradwQSHIK+tjBi4M1BXOisJu5tQptcyANknctsDMlPxRTIm2vQbJWIoTg1T71SEkvhJcIkW2eK8f75Rmjy0grCTYKPem124SrzRjTKR1z5PD7HQhml5mte7e3jxOLagGbZW0AFvc9i4xTF78ZQ5RDkn0EReHTSVMeeAYoqyPP8nKg1iPibkzuvBzWzr/bB47M5XPLFYxwDeZ5hdzNdCdTrImCcHvMrH1gMLBi5MHMBdaAPaxnLv54WHFaheHrXMgfK2+f+N8x01rjTKpJR951u56MMThfi6P2WIh7a8KzXGJfcARRoKI3j0RX+LamZdAWAho7DDwjj66iHQGaTpFUu40nrXxs2wKiUJoZjZUOCztqdVk/dV8kZsSc5G7rg21vizRp4QCU5o6/3XT5Yf0jCTcWED7VTWxo9FeiBfaMoMskhGlxUsTZpUrOs9qsfeXpP9jFzxBReyBuv6U1qfTgoNRuv5ei7GGk= X-Microsoft-Exchange-Diagnostics: 1;MWHPR03MB2589;2:96WRn/ZdkZcIWtKm59SG3hjIuUo6tcEINTgNXrgLxMvJPi34CKnOnS34esLvrcG7du2Hb+JEYxQq3MLbFCIHgOB8eJ5hoq7BQMtpINN2LVWEtC8GesJdHXOtlWXkI+HXBvQqRWncjsEmQjykC/fqx8nDYHgqgvTbA0ppZVV5ZTs=;3:Ze/r+z3hDshfU+/3G1JQgi4JcMh4qSLMXFA8QFydB9LG/vKCxWyU9fvkVdQKtt6fpGEH3bsh3bDvT4XyVJz9bRTPLyEm6MEoF9p5sAj9MQLEbsGTxwnIMrhbDv2QL/qR5tmXJPxOnJQMOXx0wGYlUWgu1T3ZzOnMvlbvE1v/SHnLIesdHwFGLDZRVc4lrWDGgWNWMR2RqoRNIZ1joHJ5ueROiU00Lf5UXMC8VJyHlDbJr+kM5gcjonCbAeQw9SuSBeUQs+iqnlh7T13HhbilJaAwnXxQIWE0a9RZv3eDm9M= X-DkimResult-Test: Failed X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(3002016);SRVR:MWHPR03MB2589; X-Microsoft-Exchange-Diagnostics: 1;MWHPR03MB2589;25:Suj536VCqz1UgNQKG8C3I3oOmlNof7uJTTdILhz7so42+qgNVLh8JNFL8ss/TkUm9mYE/NeCLCETPQj0eRSUx47Jw1GloVMkQIE2/OUnjj5zw6xS6vr0mBwCgetQdqDymXnup4tVgImGVwwVZGphcv2vT7DSPF2qe6jlarRlaGNWflCp+fC83B6uh6rQtERbwzxtv3/wXLxyBh9284yBwZIMeXRQGaXgzmnAJHYX1X4XPtD/Ts6CkHKH4ArG44OiA8THlH3MGo4fhy9ae7WFtoLCOUKJn+NrkI4TMB3dzL1uy7E8AY+/cbq1Stut0CkpYRLnOsySzl9pfmrX8Hjzhd1sYJp/WJxRVx9l6MJKmjK85NMhhbZgTX6anBsWm8qmO3hxh43gv3BpIFKBYd1UM+Iu+ObstPHi6qLZpshxfkkWi+flDvecPCQC5rQmG4z+sOgenpD9Zdf9oYw4K+M6UZLVlyxnxtrKQZzGfxgdf7M2gQU+bwrjY59Fh9BrqKOju1BOleWvRX8U5oXrIbWuQ+NL6plGjvx/0kiYDUZvROsKiIMWDgDkxqQB+IwU3kZgINyfTwERSEdCka5UgT6mI5qsNZXXnKp2c0Q/Q6QRwXgC2xufdaFv00N0ZCexC5GvKBNdXOuv7iZ2I6VuuOl/wqKqpFaXhLKFO+C6LikCUmFwvq5iprQVPUk+wL8G8CRnlYnEhI3eIRuyI+hJLVj5VGY83NaUt4qsAejgp42a+i1K0xCcKwnr8lF62eVKWvMzZZIJQ7zO0bhg1umLWlPLBUxL2GszM+p+qsWCnSdbEomMMUudpYjpKj9jBrBOGyZ3 X-Microsoft-Exchange-Diagnostics: 1;MWHPR03MB2589;31:L56DIO0giMNHxDZ2NDC2QaDG7fPVYbRXi6nmWMkBL84WbwcBWDggAwUasxp69TafSsOV+zskXUNEtnz23g52CK1OIIbv8MqDKNRNBiSU4tjx0gMACaD3frkkrsPmNfQPZidrc0Dx2FM4JCrWi2q7NhmJnj2qP67IIQ8IPcumJpvjYKpTyOoMZA61eT55Fi0twExi5IZNzKucSL8WKb7i6BL85NJYU8OZgwJlvHhpYOKa5a9VDH1P1DQ8KQJXyjitI+vYZS0oL+3hxg3nkHwmCQ==;20:0NzSIr8ngt25k8bKG+pab1oMnbebU8EOzNRtu66UNPpeiivVHlQF5KMIvSwEtTIBFJBmr+5WHANSCFbiFW4fSLsGgpBp/Nnm9zOvwL/pzDmQ7Lej9Qf4Mp2cTDddumJW/IaTnFNAIsq7cUmbwn7puqc/RVM0CCP+mr//Pow2S4s= X-Microsoft-Exchange-Diagnostics: 1;MWHPR03MB2589;4:/1i1im8c8POlVH24cRtxwLPfKxL4Xu7wkaBLTLhyT2ND14N1c8s7QQIA/lOz7Uk74B6IZQT1DCGQtSHizPtgyRdEZsJgxsC4zE1V4P7B5RNns5rmzjifwn8x+Ye6i5aFqaPdpIvVTJYauz0EOnDAQSoCOWybat1CzWvKc+/en5wfCjsSQBKGFDq8aRjdp5HIKHK4VpQLJ0NHPNqHXLLBCw7qlcj7pgYhDdG5PeT5RXu7diNXuR/Kbw7i/RkWcIyf4l8VQfQJa/CrsfygFZnnYKYak8qI0MlWQtoAiHr9BTqeGwWTG/q2ySql0qWoFda+Ebm0HP7q7JLZkZhDqFPAOmeH50hl+E9fwPrdZfgE4/QUg+vKPPULcUTtOGnFC5mkNeHzRDCnmYachDk+Cj39MrTisZXfLxasI7zQaCiSEwLVYxBP96KUoFIvn/nFpbaA5aYY8wnz3bvZ9AZqYRoTHHnvRle8BTDueN+YnNyYkdqKN9jgfNbhPt/tQIYuPhLgirEzWQrbPz/t8mgaU0qj4oR3xz8JcXX/QBZKixNg4EqK1/wFa0bQuclftn/EFxwpeAgNIEJMtQZNPEVa6GlCf1MxhYLynKMvdVQSvrknZOBRtLKEAguvP0Ctd/XkjNcFXbYt+PcuTQ5d0LOT3GSw5F92lUFV/isLy8u1SAt4Dwd4KO28LUZtJmSpmPTqKcPMQGpHxOZKPX//kUCevcrIfg== X-Forefront-PRVS: 0126A32F74 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;MWHPR03MB2589;23:mQw+IITI+tH9zaaSp0sx8oVIyROnwbCXbeXr/6lKz?= =?us-ascii?Q?2Tz5ghmc971UivEpRnKxa+nlWzWbXkab/ZS7gp6x41AFbsYOh1+GfSnIysx0?= =?us-ascii?Q?joSKauamaY41TGbf5+PWhoxTFbtTD0xnlXfnTXIjY2J3sIDZBJKPaXYrJzrb?= =?us-ascii?Q?+/hkH98lsZDRmLXxEJssdpTXYTYegnRDpvUGYNPdoia/AqAkqM6cfxz41dlO?= =?us-ascii?Q?M03TNfaDhcKQO9yvCTCp07TcNCFC++NaYx4xpAk4MkLsWOHsT/sV6cuhak5M?= =?us-ascii?Q?ajAJEk48LB5aXU3X7i/umtXhE0X1dHnAXQs1ZAj4jFkC+VqwCOgDdwxU12E7?= =?us-ascii?Q?RNPamaBj8E6XsTMNy4UXBODoChaKBavOYRNoM3Yc1qqkv1YSVFRN1HX3UcS1?= =?us-ascii?Q?3sEFhcPiMAvklmFx9IuhcTWvK20VzJrHqnodgOxKlPnL6PtFER+XcZMe8lnV?= =?us-ascii?Q?4SznFWi27vUalowzSNW7NdP7itCJ26BbXAxvZ1jM8FBeVxQdJy+uEc6mzTSu?= =?us-ascii?Q?wgUmHjNu35HZnGCcchaqAoQHA0vufz6eo8ONm7Q5ub8FQ3qYeAWPIbgqOAPE?= =?us-ascii?Q?JCuT1iYlc8hmMgquv3YCw87ytk37sASuokpgUFLZEIj2jKlfM6I+cFFMAEJ4?= =?us-ascii?Q?bcht9Xm0Cd5IGuYWWyM0xDuJgGGTsmOOKjR49/cY0asmC47PLUd7wLi4tGn9?= =?us-ascii?Q?jq2/qTTmbmLUaLeNPVHCYLdUwLIvtRVmZ2zr3DXLIA0v8RLdgZmHMP2SdknP?= =?us-ascii?Q?zI/Vz0oBTAfUS+c2hnvUX7xhCad/LxTp49xLgVY3IJzU24TkjSqtfg3dM1UG?= =?us-ascii?Q?p2C4c/mXmfEr/qgI136AHsd0n+Cof7lZkvbgyAem3A8gZdLl+9VEtObn+HGk?= =?us-ascii?Q?GZBTTAxCP0xvyLCr7qmIV2JEEaERgsOjO+YJlfU3d/kOGGLe76MflpOsJJGE?= =?us-ascii?Q?6vao98XeKZYdVLe3o39cW4jzC85jRK69ZIWMJEFU4J4N0OcrooA5LFwrJiZh?= =?us-ascii?Q?tZS9Z/zQbeaMNLKfhDL6UJmemYV5VHh6Dbzso60/axoDBN57XS91J0igSpge?= =?us-ascii?Q?A+iMA6HKdJBM1U0Tk0R9Mhd4BTRZjCG+SDGBWXF8NCORt9npjDlzf3ktsuoV?= =?us-ascii?Q?hdJjeobP99YG05d+i350RhSW7WWEG7M5SXc3sAx/GdiEZztjOPTUaUm1lSUx?= =?us-ascii?Q?nlhe3GoNjPIW2vC780IqfeRqbpUJmWJtEYQv5WY2GOEG/7uH+VXyb0Pp+L0t?= =?us-ascii?Q?soAdzCkaYzkxFiHTme1NtuSB3TuP6hla30alxzy9Dv74RlUCCKEBdc3GSkAX?= =?us-ascii?Q?kYTNskzstKDeIFyB15JBy0FNtEptPIctxxCvVhTMy3NRPh59wwXQV8cb3DjF?= =?us-ascii?Q?x1rNUa2g35TLaQQFE0OsqLj8helN9V/uKtz7gg0xa8DOIXIs+WSL7koTvslp?= =?us-ascii?Q?1ujugGaX+tmbijn17pfDHn75mSByeSTzeN0/GGvU/7cLtZ4wxxEH+ThFumec?= =?us-ascii?Q?YfclyyJwyg84zn7XYABcDQMfE+U5P384eAz0MRmri4QclQw1iQSZplC?= X-Microsoft-Exchange-Diagnostics: 1;MWHPR03MB2589;6:qE+sJx7O3+mexTl/+y3zOIcLgkD5WvYRG6/Fc5yYmX8cYZbm7eaehAeXlCPfG8/DLK3z50hGTTdoyzLLzw7snPD+KtD0OqZFl2eObh22zYUNOPSwNUvCVY9Rtp4RYUfI1V1lvFA4buDbXmBCN9krumzeH2IXxw4OW2H7rvXml6w9vli8f1luVGIRHdrkPW+j1SU3ogRUQBs3Dm3w/g82sGFAbKNmHXuxOoDCN2DNl2ig+19pJGzl2D9XvOJvio10L1wZelP++epnazdASaXo2cU3dCtNTz4Gowc5XF795/kdM+o/wHuvHDuwYyHBYDoKSyb0w/IdAbvlTvL2QvYkq7YgNfR6ZEARfH4FZ2AyG9KVnupN/M7mT2WwYslbQhLC;5:7COUguMNESuoAax4Y1294iUtbH8Ov6JAViZkSNj8BDbmvTQkA0fZt1dItc4Z/FUf6EhRNhGTH8csGBxhQG6Ih85rect4pyf6O6+yU2aMMyqRUuuEwhqhEOFE05KNVIYggV2wlp5XbAcwyRHMKcuxpw==;24:sC1564zy+AeojnvRGC0Om8ibjg3efyvZrnsaxPOdGaIFUO+UdaoEidK13RYRi03URSNwsGkJINaN61BoKhWWLPnCCfHGZEt1Ldft50Ck7pU= X-Microsoft-Exchange-Diagnostics: 1;MWHPR03MB2589;7:s8SztkYbzjEFVz5RCAA9+HO8n5m0O6vLds7LnqQTlfu38AT+LdUAhe9qBlLau2ZIcK4yPQDpY5nJDO+xrPXkj6n5jSpdwVz+/fLS4JqPHVKEOHKDElBCjHgT2EXsB8O50cI6k0m8PB7anYcJ2e3IEPDKBRU/1GTQa2bZPxRaFcOhO3TCcOCUU/KlTaoBaRW0pDDS/gFXLLry4Cxm0cD0oea9qVLh9Ri+AqCYv6Ef2RSEjaoCQ+QkCLxv8NXMX3S+kfN/Rch5kiv1ZeHNoX5yEkC1kQcsw2uklnudNtGUrCnTiVsg3Ze3b1EVcGQsQk3ryUTVd8DZOunjhQPlnfOtzg== X-OriginatorOrg: opensource.altera.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Nov 2016 23:23:22.4582 (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: MWHPR03MB2589 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3163 Lines: 95 --8323329-1933739543-1479165800=:6488 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8BIT On Mon, 14 Nov 2016, Moritz Fischer wrote: Hi Moritz, > Hi Alan, > > On Mon, Nov 14, 2016 at 6:06 AM, atull wrote: > > On Mon, 7 Nov 2016, Moritz Fischer wrote: > > > >> Add FPGA capabilities as a way to express the capabilities > >> of a given FPGA manager. > >> > >> Removes code duplication by comparing the low-level driver's > >> capabilities at the framework level rather than having each driver > >> check for supported operations in the write_init() callback. > >> > >> This allows for extending with additional capabilities, similar > >> to the the dmaengine framework's implementation. > >> > >> Signed-off-by: Moritz Fischer > >> Cc: Alan Tull > >> Cc: Michal Simek > >> Cc: Sören Brinkmann > >> Cc: linux-kernel@vger.kernel.org > >> Cc: linux-arm-kernel@lists.infradead.org > >> --- > >> > >> Changes from RFC: > >> * in the RFC the caps weren't actually stored into the struct fpga_mgr > >> > >> Note: > >> > >> If people disagree on the typedef being a 'false positive' I can fix > >> that in a future rev of the patchset. > >> > >> Thanks, > >> > >> Moritz > >> > >> --- > >> drivers/fpga/fpga-mgr.c | 15 ++++++++++++++ > >> drivers/fpga/socfpga.c | 10 +++++----- > >> drivers/fpga/zynq-fpga.c | 7 ++++++- > >> include/linux/fpga/fpga-mgr.h | 46 ++++++++++++++++++++++++++++++++++++++++++- > >> 4 files changed, 71 insertions(+), 7 deletions(-) > >> > >> diff --git a/drivers/fpga/fpga-mgr.c b/drivers/fpga/fpga-mgr.c > >> index 953dc91..ed57c17 100644 > >> --- a/drivers/fpga/fpga-mgr.c > >> +++ b/drivers/fpga/fpga-mgr.c > >> @@ -49,6 +49,18 @@ int fpga_mgr_buf_load(struct fpga_manager *mgr, u32 flags, const char *buf, > >> struct device *dev = &mgr->dev; > >> int ret; > >> > >> + if (flags & FPGA_MGR_PARTIAL_RECONFIG && > >> + !fpga_mgr_has_cap(FPGA_MGR_CAP_PARTIAL_RECONF, mgr->caps)) { > >> + dev_err(dev, "Partial reconfiguration not supported\n"); > >> + return -ENOTSUPP; > >> + } > >> + > >> + if (flags & FPGA_MGR_FULL_RECONFIG && > >> + !fpga_mgr_has_cap(FPGA_MGR_CAP_FULL_RECONF, mgr->caps)) { > >> + dev_err(dev, "Full reconfiguration not supported\n"); > >> + return -ENOTSUPP; > >> + } > >> + > > > > Could you move the checks to their own function like > > 'fpga_mgr_check_caps()' or something? I really like it if we can keep > > the functions short, like a screen or so where it's practicle to do > > so and I could see the number of caps growing here. > > Absolutely. Great suggestion. > > > The only counter argument I could think of is if a cap affects the sequence > > in this function. Hmmm... > > Oh you mean the cap being there affecting the sequence in *this* function? > I'd suggest we address that when we run into a cap that requires this. Yes, I agree. Alan > > Cheers, > > Moritz > --8323329-1933739543-1479165800=:6488--