Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752604AbdF3QQx (ORCPT ); Fri, 30 Jun 2017 12:16:53 -0400 Received: from mail-dm2gcc01on0132.outbound.protection.outlook.com ([23.103.201.132]:18473 "EHLO gcc01-dm2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751792AbdF3QP0 (ORCPT ); Fri, 30 Jun 2017 12:15:26 -0400 Authentication-Results: spf=pass (sender IP is 131.225.12.126) smtp.mailfrom=fnal.gov; cern.ch; dkim=none (message not signed) header.d=none;cern.ch; dmarc=pass action=none header.from=fnal.gov; From: Pat Riehecky To: CC: , , , , Pat Riehecky Subject: [PATCH 4/5] drivers/fmc: change registration prototype Date: Fri, 30 Jun 2017 11:15:05 -0500 Message-ID: <4db9372abb556e53bbf7ed133279f463aa2f226f.1498838809.git.riehecky@fnal.gov> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: References: X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:131.225.12.126;IPV:NLI;CTRY:US;EFV:NLI;SFV:NSPM;SFS:(10019020)(6009001)(39840400002)(39860400002)(39850400002)(39400400002)(39410400002)(2980300002)(438002)(199003)(189002)(2950100002)(6266002)(6916009)(107886003)(110136004)(38730400002)(54906002)(8676002)(48376002)(50466002)(50226002)(575784001)(8936002)(118296001)(189998001)(50986999)(305945005)(86362001)(76176999)(36756003)(5003940100001)(478600001)(33646002)(2351001)(6666003)(4720700003)(47776003)(2906002)(7596002)(5660300001)(7636002)(104016004)(356003)(106466001)(53416004)(4326008);DIR:OUT;SFP:1102;SCL:1;SRVR:BN6PR09MB1476;H:smtp-ux-prd4.fnal.gov;FPR:;SPF:Pass;MLV:sfv;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;BN1BFFO11FD048;1:Y1CkIoorj0mkwWJi2EXHwQQ4qFv/QaC0V0X9ewLHPR2nkLki1DiD+HEAWkPHsZXIPTZioyp+luPcghT0Twy+IMx/Uy5Wf6jyN7NzHGhg2NQ1PPIEFb0j2ouVX/RGmKdSp5USjfwTg7g+8JmoDfZUjI4PfTjnnP3B398CKTw41I14M838PMgrl0FiCuBpsUCqKx0eynl78AQjo9U3NUGy1u921DBdoIAq/nCOk/LQLKtwC8VeiyugaOZbKAlACAOfMe8oFoGgIIcro5siKrUIS4X3to34PPbKGyBFLaHqVPhQaEI9hfkCD9fKi2ihVpqUnxA9aWq2PAPMeR+3EOv72nJVYGs36q2RoZ8EV6HPG1JpbEGHrvXtHjgAfgXQpj86ll+ZUsJanapYHs7uAyVwnqrBv2Vi5RtjKcjW+HvMvdbQcbjvrSGZVoTHapa50ex7xMbo06t4QInFgteN0xVCMnWM9TvkjVug/MnO6xMWqJ0Txc0XxPKHbo60A5eWdsLGlcmwMqKPfu9steFF0m73c0SLSQOC/lPmIeGbIKHPabsyePKxaf40ONj4LJAqbI2RDOBt2BOMNy53yOK4JjNY+HlpjWqNXbA3hd9dYEvWT02AxYm+RcbEW4vbuw3v9qFCFlCLQvQbJV89Mbau05oq1ruqFUut2M9oo4m4eZUJE98WxKZdkPboBZKsaLmj66zzO/LaQ/9teFsOLzYBPkzwjn8Q96i6PObLlYesxnchRgX79Rf6+nYEB7kvlX920MJV4YVoKvgYDBfW+07lWKLw9Sn+p2G+bIOe0l+ovdCn+J7LFB5M/7d+269UUKLMP64V37uKXnph+bJ/bGf0oMTcSvsqSN8ZlyELzlQZq2qv2ZjoQMsdKyFgMn3Ke4fc+Ej02RHt1c+xAWtie5DEt0z73j/ioMPJH8kJr7oDfham/Ug= MIME-Version: 1.0 Content-Type: text/plain X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 022ec753-40d2-42bc-1ff0-08d4bfd336f2 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(8251501002)(2017030254075)(300000503095)(300135400095)(2017052603031)(201703131423075)(201703031133081)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);SRVR:BN6PR09MB1476; X-Microsoft-Exchange-Diagnostics: 1;BN6PR09MB1476;3:apoJnkszlEi4S9K4TnL+Leefsmtva6JBkhki+ovbLWlzELesukKh5K+B1khVUDEqhB5xrhhly+urIjC0qObqVMXhC2CAyZ6A04Bq4EYqPzcISka8lk6CZ41qsp8lT6e7X02vZTQNH9K/RGUSawdMb5Pb/ROJLWL46wvQvtgr5Ss20xZO+XoT8SBSrvKX6aFsKqubVYtdJCuZS5dYO6qHCWcH6YFRrngG5y3/cYG58NnpPCOEPqyhTS47GFAhHHAtIIiLq3gYiXt2EBTtZy1MzmK9mhpglkyTmySFTAs3PgjtJmwdEQj6M0MCN0mvJFQ7E06c8vbyBcfCJLSEI5yQHppw2cKTRF4M8sdp41LL0IDJa0HJZR9CIEL5TznHqCukgFPD+J46fGRhJOrk0PBmscAhod3BFf7HllibuXbXVCnXMCz9ePur5P8a5lj9m4vcfxqFN2bNkaYKW+qX/7oKBSKcTKRS2QkWFhwd03gbx8NP18HdyAbi7d2Gz6eKg6W3II1SCZIt/6cQ4CyATBGOKCibYbVamre3blNQu9sLAJKMFyiBWWj2XW0OtbufyKhI20rWtzKhCBU/sKNXuoGy8+V6P47F8w/rwFYITyWA9oHyGJESbW5rhDMws5DkaEa8oAdHh39GhwbtcfJ6BXdjgG84PXB4xl2fiSy0I4UJK01e3UPhdb2UqDv+b6Wn0RmLF1PRopz3omrmqGG+WYL00yU0fEGTwF2vdxNYIuknHqGPR7Zmu5CsXxZoVX3lmouK2q4JtOiW1DWVFyxscHKj8liIAAAhTwVA/Z59VepsS/JWdJgDk3Z9i0IBRgEqiHMuvR/lErGlLIcS40GSt1sn4ZsU7gdddkoULRDO7/MNmab7Xy8PTgDb5kKhv0m39MLvYX4oVWBKHR+wMuKxbwQlcJzwOFglbvVOP76qZoR1D48pCDrzSN7WzxJuQmstqgU9 X-MS-TrafficTypeDiagnostic: BN6PR09MB1476:|BN6PR09MB1476: X-Microsoft-Exchange-Diagnostics: 1;BN6PR09MB1476;25:TjDU19jLPnl5zN+odLLbuQsq1MOt6fTg7KID2VkwWewatw/4eugXbrG6HfoUwWQrsYUP83pR4xDXRdBwil0FciBukwgIZVn3km12t94YmCNO+np0PKAShhis1eX7EN58ohC9sQNlyN0HJ5kWZFMho+loMwSj22xrwx9jMd/HSNejjhNNCRiyUSbqI5f3ow594Qhw7/FTqjpMuv2PhLixu6Z2oNSLe1Ijn5TuEpQkEk8cR1+1VcTbD8bnVNp5yJKVAD/BimCyy/vEPzE9iq+Es9EhidEjrkIYHxYPfk+C5aENh7nLEmIgiOIu3zZSFrcoHr3umxWZYLNbQAGGKrp/9yG2UxzDpB7k6CnEPeCoLtJwLL6GcB2ASIqYeVIbXpf/2RfEMdwpLbvnkgveBuq2BYSYlZKQJb50zURg0qxMzj11b8p4/8vfewQD9Q4wNAomZqR1a2NcxlGw3JHT3EPlwLn/NPIfymrs1y8ObfYxQipLhtBZDYDABtGPmUMdFM1Mh7mphAVjYbLoeZC/h/HJJFj8v2V+6wdLpxXDKWwGBCyosMgMuu+H0lN7O8S4+BrvZ/xrdbl0GZldX23c6W/0uBh3WxMOmB1+3Sc0BN+slrdRJ07ZBwbCHk2DATI5tJ3I+GyMPOt+cJra6PY+vIFYboTmD0BvS17Z3uFidVF+aRSMQ2CqwrofMg2vrIA+Qz0voyyB4KTyms/hE3gr5ETKkHO8S3vKwm+z9JvNC3he8/o5cXn5N1a3ru50vCf5+SCJz2U07UjSg+fcyQG6dNml0qudDo3NDcdBBeHrXmuEh10UvcrcWx0vUPXfOa1feDR7TzhpGw9qRTyQ2+5iOijRYApyr52HcINc9OAO/7I1BlMHEhbkrhn6gmdoP4vBTPQsuvkj+2WhvlTW8n0yB5akAfVn4HyvPBQNNnl2jN9oTrs= X-Microsoft-Exchange-Diagnostics: 1;BN6PR09MB1476;31:pGHV2tN874wxlVPKLHMKtsZVoMT7byyJ31bGVWL6Z+Ui4ohnyW1fRNTLVpvbunR75V1ogi6hIPLafSAZ7LnpLpvc+iA+JehyTNtrpICsQ4bcGvtMlGMOjqq/sALehW5SiNZAdaQPWYQJ7T9UnOYYpC1xt63rzT2eIKbCYX5oDz6K5WciXuG6KQdgr3YQjazA1c12CYyNZQD5kgAzZoPz0/Z9R34af5Ff/8SjhZDw6lkQCm+MG7m3l1cVBo/dgk71rOx6yEKPvqz7+c7TqHXsHiEJQF/cOU8U0S04NYp3ZRE8t2rKCsg8mITFKRRol9n7cK6EFP/rti+5YPMyTb3/2H6vob6P0BHSsn3kFVreaApsldYop93NIDYUK7CDAp2cY1kW7RnADvEiD649ev1f/+X4AaIiWzJiq/DLSB/0yS02lER3n+do5iVP/bQwGYxdVccNCoW/8hdMfq/SXYohS0O7uQrYehKtV3lm4arS2pKgSYJ0/G6IvGN/WAEhil1AZ9mLGvWKTpkroOl3jWoZppL9ZNikPUrtQdNSNtvKRr0+uxIPELNwHtG0bbtvjV5rUHiorVEhvh+6OQPwHUin7KQmitZeZMbJVE2Lmulq2hLyl2eqPE15X+DxeUESMMyBhl/psH4VTV3Faa5R/omwxSFAbt2fQwxz+QOGcIatQrw= X-Microsoft-Exchange-Diagnostics: 1;BN6PR09MB1476;20:uPl7Y9cL9BRiFU0wXI1jXSfXWfiYGznLc0RWH23Blp5mgTcKB8N3T+Hok3hQrEndWFos+7rD16vHe/gZZ7q58gl0avfDvRVqQKCBqhuaAwlYwLLWDile6Ani5/A/vPVnsD+Vq+2vCE/P1zdPohGEgNvdAEFc882Rk1PwnFNprI7X54eFxXV0j9b5nURCJ9lmvOS41r8zKDM6YKXGCfDE8mNHHY0S2NSWeRRPx2rzXSYH3xkND7jBFDnY/1meVF7+tQABAIXIQYMaMMZTOy2LubtBCCrC4EbZQMjcjn7eaLmJLgb4CbNCZ61R5WXmsOINcPZmwbDiEsFQAwDOqiiqA2zR01UyyfyjjXTKKpIhpJDi9s/hq7jRNjlPDQLl3L9WqEaokx7YmzUTNbmnhJ4/QMn4use2+/ebRpMGCgfCpgDi3u304cUeLzQAmPTbjLUub0FbaZP862cc49oxKj5heP/fZz7CDG3wVQpg97er1uJEX79Q6gdQNhyQlAUXRSqq X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(236129657087228); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(8121501046)(5005006)(13016025)(13018025)(93006095)(93004095)(3002001)(10201501046)(100000703101)(100105400095)(6055026)(6041248)(20161123555025)(20161123558100)(20161123562025)(20161123560025)(20161123564025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(6072148)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:BN6PR09MB1476;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:BN6PR09MB1476; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BN6PR09MB1476;4:LaG9i559++YClYKhqripmkX8vQORC1ohb6zztHW6Ze?= =?us-ascii?Q?QnINYPeu3ccS5Nl0Geh8puHAagO7X0iPR5+Fbcpk0Wp1HlQqUsTw1xdYPBIf?= =?us-ascii?Q?wNHabxYmqaVxJzLdEYHHcrC2o/1c5sdTMh2mEynwfciRBFr3E3A6izlTv6Ex?= =?us-ascii?Q?+bPR7F0i+gNNOGHnrwHKIWKYR+I7q97oF8+ZjA+RKudpUR+jqdSUH3ZgA9Be?= =?us-ascii?Q?4pvcMrn7i+iWc93GDXdN7diMsqOsbxhZYn3Q+TxHsFP5D30VgYNQNhtja8B7?= =?us-ascii?Q?lDFO4HcHurGbokkNiV8bmmxKwk/g2hZzxEGyDKve5MBFW84ahjTuk9h3xf3t?= =?us-ascii?Q?td1gztW+H/Hp1WZq/KsaITUPwOCty7AQqtqHwpUZ46PHriiB2tYE5PInFezQ?= =?us-ascii?Q?1UAHazbhtE0/LY/rfiL5a8O6D4l4glaEspYlTzJgLJCFq7diS3eZgNUku57Q?= =?us-ascii?Q?JnUuJ3DTZxcJw2TCraEP56PvoldVrBi1dS0FwZlhG1uxhSZbyScbOrJrszlQ?= =?us-ascii?Q?Hbf5D+2GmEE9egrxgXw9G+6Vk4eKmcSKAHRWPcVmeC1wJ8RM/ulbpmRtrfyx?= =?us-ascii?Q?MVKR2JM2WhZYDE3X54qMRCIM+90gUhI9E5lqhd0bd+Z9bvkWJDyig2cXbC9P?= =?us-ascii?Q?OVQM+GjFDsykQWwQC6GLmlIY9IflFpSMZgNQnG3A+5I837BbvMTnobou7XSO?= =?us-ascii?Q?gyU+lSO7xx9Rp6vZ7rth21iFefM0gG9Fe759fyufeA4Uim4QrfwIxIfzTGgo?= =?us-ascii?Q?Haqg/Nv3jsjaLPEwQcC/deDkwxt0KnLpkuBZE6sToHaLKybNpPkwGH+3RJdV?= =?us-ascii?Q?Fohoxs3qRJhA/jOec4vIjshN4PZy2tE2iPllGl4PBLcP87nPn1Ybyrw1mWt3?= =?us-ascii?Q?RzFouUEARq5Gcd//KfBI75nkCuLXjBZmznosLofe871VwkiSxADLgTNJlIL8?= =?us-ascii?Q?qdOgTKNf6aTHRhmUXUxZE3uURbChVg6wy9Odu7vp2IXxP4U30MkBWoX8ZfZY?= =?us-ascii?Q?uQ21HXj060wzj28x9jyjJVbO8gtWUvl7KlT7t9XCy74580bZAGsEFte5/tKL?= =?us-ascii?Q?B7MnfkRklCbFBwfQgpWF13HNRAFMQgTYNxGPYKpCCpAu3cvVO3o9hsyzshKz?= =?us-ascii?Q?7XgoYMaL/9HyErixa1Ho8YnbKSsyqjjAdsSjMc2spOdenHH6XC6PbDearjCg?= =?us-ascii?Q?ASbcYeIIIfmLtCwL4SEnd5TAwPSCRLGnVEwLYSNXpW+plu0IK3DRFAJvfFVW?= =?us-ascii?Q?ppb3FNtLqmCqrG4Y8=3D?= X-Forefront-PRVS: 0354B4BED2 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BN6PR09MB1476;23:tFErHzjx4/2SpA8rOIS+SFE+1AvOYbQYHkugV8p9k?= =?us-ascii?Q?S+sPX1+otk1tSDjZsSo0wkXwQkgxAvP13JPMZSgzr96BqTNL9teQHJdaNWZG?= =?us-ascii?Q?3slGgrExsyDUEyn5YRJVl+cXWjDzJVfGmoyiPijVgaYlfC/bZUglPD8ggmN6?= =?us-ascii?Q?ty9MgZokJteShIevDiXmUMH7Vyf2bk2Q9O+IXoGCxoWFs/LplDNqJwRmjoU8?= =?us-ascii?Q?AmLZDZ+fhzX5FxIdtddvuQAVG/96SICQQrBVNxmbTFv2yezpWSX2aO0P4GZw?= =?us-ascii?Q?qf50vO0SwH6/1uyOi5oTd+WpOL7Ylh+V26c36UVBvz55aqnuX87tu+tHjoH8?= =?us-ascii?Q?eKGTdI8C0SlryVDDx+c6/+bbWtZvvXeQ9QUCRcq4uqUpw3hgno5f47LPr0iv?= =?us-ascii?Q?PC2sW7w7DuRstS0tQxnydJUmF5RMAR8CjzN/M8HHBfIaRwJMUmCIXccWSuys?= =?us-ascii?Q?pDiLFXKoNIAHoBVVmLGSkGuJ+mCXwRnfVisUa/7KZlFCqMKEqer5Qkapt4X1?= =?us-ascii?Q?qXMPZjllbISer6fp3FbrRlIECLH66Ysk9wYOaKsh4/05AnbTn6eezafrLV/J?= =?us-ascii?Q?JcFbXBwLJoPK/pgABCZrA2kShF99Rtpa2ohAFYKXCvnaEuB98kjeJ0PR/LB/?= =?us-ascii?Q?+z2Eu0VEoJtVwHlYRjYQeYhlTjHD5ZzlfjjPu0TlRDFsA0bi1RrlYrJ8FgQ3?= =?us-ascii?Q?/mFwfqEF8/TRDQ1dnNvj/KvYntVM2MuBqsfdLNgPFb7lCuIcUWm2kBjntiwc?= =?us-ascii?Q?3pu2WsqQd1cg++dGqFfqv3a/ExICttGF+PPmzP/Ce3t+7T6tEp2J74PmPaAi?= =?us-ascii?Q?5m83VMQRTOie72OuG54xyPB66H3NowxQYD+zETE3MxzIPimFLBEvQ9GSwygf?= =?us-ascii?Q?SjhmRN2c/+viKUqJHLTL3DVWqFRNK7Vrf1Ro424F/en/9FXFsQXtIdVEj/vq?= =?us-ascii?Q?jHvMoXOjM3U0r9lLIMxthq0jryhff5m2CeBzHbHChJ/tYCmp4UkZnAlNqgQN?= =?us-ascii?Q?4lXlLpBO5ZsC21nq9NEi3fsXH4zBZN+sfyHs3c2nr8lgK7vgJHgAR0njj6by?= =?us-ascii?Q?MrpltK/gzuEI4mSmA3MFWtqYxAz6itbnfd91DMZlMwHNbFd+eKLvuiayVnz8?= =?us-ascii?Q?PetVE+zYEQDSUMmd2X1w51pHz2WzBlq?= X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BN6PR09MB1476;6:6eg3O7ZnyaG5V7NyQ/1bSVQHxa5e1JvLVpbpzoaqZr?= =?us-ascii?Q?xh4fVdl72H6CC+QTyHYrVb3DkQmfAmawl6unxNOW4T94aSwYpGqD1+eB3Ncl?= =?us-ascii?Q?haVhgPZ7jS/gJ/LPStLDhtvhAL3PeFSgNYW2V/kAUl71HmUBYas//mKUyHcA?= =?us-ascii?Q?Q8wW/Rt/XDLJUDn2GYf7ZLSdEx0XcTRdQy1E/R9NttvH5TGkvRZS1FrhxVrF?= =?us-ascii?Q?r91/amSOIBYcEZVa7eCHWLdSx9Ii6ZXzOsO6JmlKViVMuVEKa8xBsR5i0QLx?= =?us-ascii?Q?NwkfT7jPx6w6vxG7ep4grZ/j2utmPXGIjIACuryWrlPo19JgJNRNI0wBil1+?= =?us-ascii?Q?DehhkttR69rJCP2whCcZfLmMPrPdJRmWiRzQcL4vRodj+OLKy+bmNHXyp4nJ?= =?us-ascii?Q?iNDddqL7VzUUxg9iulw6naRO+WjVdxi2luI8jlEE3Jf5wyoNyxS+Kn+Bzdt2?= =?us-ascii?Q?4CiJBfvH8WwsQeMQ9CbfpG6EEUvthccefAc2f+/RTQODAN56gIZTYtAnjTmQ?= =?us-ascii?Q?CRj9RxnZkea+KTaB8eeITpuk1V1mU4HRbbZd/+uABr0njwqObljuKzsVDdlK?= =?us-ascii?Q?A2FGvApRiTL1e392YgLBZkGqcqfWc+gawTGCuxDwyaeJx033TAw81ZqO1IWZ?= =?us-ascii?Q?lSRIxUfuW3whdMoij+fQo6qO2/tZ9ZJ6E95ODUiGvznaSH8PZLkan2a4X41f?= =?us-ascii?Q?HFf6MhbR/d0H10x+TCovBvpfBsLgDM2PWReGCiCAkoEgx+xUQ5Dcnw0Alhee?= =?us-ascii?Q?BHCE9mCowGoX9/BVJ1Sw3SG/uTh2Cgf4LHOF9MnitWUsnNPBCtOpF2psVGOw?= =?us-ascii?Q?+yNzhRqdFDc2XXE5YW5k2CFnEALggEdaajJToA+5tiFafShv3sIwklLiDWsd?= =?us-ascii?Q?dwWSWtgcMfGwu3/8dEBoKRs/2QSsaVbnP+ieZxCWCqAFihuRWv2FIeC77Ybz?= =?us-ascii?Q?cohEA2VD+HmwCtpK+pTQD8ad98UWW1gTHBS95imi/MXNgnHMzVW8C8xdjCqG?= =?us-ascii?Q?tJTtyAIOXdqptG72z4TiRr?= X-Microsoft-Exchange-Diagnostics: 1;BN6PR09MB1476;5:LKke+AGnG7VXGC9ThV/XtKyzwf/2XvoIc3Hn6eGS9u2HFIZODTE7l5WB1biyfLSNtG7vrIGNJrj862JI4nTIEu+sbJKS472xcF3Fi/xOvxbTC3pK86kTlsER0ruP/FvhRbmh+FSgC8bnrY5oeNrNq14HXcO6OuU62MBkTmtaIEeBxerSP39Cyf1/U8jCNFOJu5bOhhrgkUsAqvRNaNjvnpi+rZR/1/d2ubtCZNs81JdH5CCtFvrbdF1UvDksyZ1SdK1EgurjGpUFsqhVeuWbRCyoOq5vSbO5PpgZQEF5qennorsqWCE1xxIWbVPxZnB4f4Aj1Dj0jnszT2bMceLg/7JnSdffYn+uIHQsS7I1xmg/jjjtrTA5YYiU8RAplczTuM3z9VZALUZiq9sw3XeMWJ8h7gZiYRIKqO8MaM5Q1Lxy/IQt8OpkIkF+PbKoYnvOGoWwV/12KAhKEg5+SnhGgPehCJKzT6Vc4FQ4499hemJovBl6M1EaKHiGisNOpvtu;24:a5KzaQrBvepL69zqN74dEDr3JR5fRuhw2FS9+Z++vn1vfv+y0yRxaR/CEKHGb0B8WpDvwrGBFCVkei+zYMlLVyO2tFqQIDMX03yM60xdmrI= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;BN6PR09MB1476;7:xo2N5unxIXmqj+nHwyrUDJfMOY2yWQF5LPc3B1EfmkezjjFaKzKB1zxGCdgY2Kw4ddWPbRO5tW2EhHPTJ894Ykeu6bblrSuL/ZPfdl6S7DKh8zHSbuqaz0EQN7662Pyu+wmx6DNH+vhZiF1WnnpNDlIX6I5gT3chuqaKVbnDAQR1cLsdaHZ/jKEW38Y8RcSLjkuGL305k37+JzveGtZENsHLIVIk77C7TwTUPBYaMzgl3DklV94pqp2UqOMKe1lXgqrXKuVw3vWG8BvENMKvWImQnfIHDlBYJ6ZWpbMTvUThk9rE3JJYlH4rIlmb2MhIVACP8MqsayTwFviaYhRAIz/GuOLRLosqU+bCYI3OhprNqYlzGvdxPquaMr1hFh7RehPJLtjG11WzUfolM4YmEdoWCBAEyDXGdDKyUgT4khB3K5PSlQI/NI5was/QcjE+rOMRmjS5g4e9acS1UHx/251j4cj5odTXfApNMkpMl5VeA4nmQoF1C0s4Zatr+6mXLQz7xjp4lhx4C90YRhv6hz2+DGHXdYeb1JXrCDmR3PACPNNJonC/RDgNV8BZHSe39JTQtxcvAxlDPq1MOLUZOOy7SK93Fh/Xa7xYaU7iKLyYSlF20thammmheU9qJw6cYRcfrMgNyERP63ejmZeBzSKnm3YbBx+/9pY5oquKgVKeDksYePvzFUD8a0MTIrRhHd0rg0oQ0JvE/kz8XskciWgtZ81tMe0uSENoJYiU/MtgJBipjtWQ9tBAV5xXZ8AH81YcQvkP0sfmvyvmXquAYMuTNV2jN7N2n66Vc86HJ2w= X-OriginatorOrg: fnal.gov X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Jun 2017 16:15:24.5832 (UTC) X-MS-Exchange-CrossTenant-Id: 9d5f83d3-d338-4fd3-b1c9-b7d94d70255a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=9d5f83d3-d338-4fd3-b1c9-b7d94d70255a;Ip=[131.225.12.126];Helo=[smtp-ux-prd4.fnal.gov] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR09MB1476 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2585 Lines: 76 Permit use of either fmc_device_register_n or fmc_device_register_n_gw depending on the type of device in use. Signed-off-by: Federico Vaga --- drivers/fmc/fmc-core.c | 15 ++++++++++++++- include/linux/fmc.h | 13 +++++++++++-- 2 files changed, 25 insertions(+), 3 deletions(-) diff --git a/drivers/fmc/fmc-core.c b/drivers/fmc/fmc-core.c index ef6d8ac..eabeac0 100644 --- a/drivers/fmc/fmc-core.c +++ b/drivers/fmc/fmc-core.c @@ -199,7 +199,8 @@ void fmc_driver_unregister(struct fmc_driver *drv) * When a device set is registered, all eeproms must be read * and all FRUs must be parsed */ -int fmc_device_register_n(struct fmc_device **devs, int n) +int fmc_device_register_n_gw(struct fmc_device **devs, int n, + struct fmc_gateware *gw) { struct fmc_device *fmc, **devarray; uint32_t device_id; @@ -313,8 +314,20 @@ int fmc_device_register_n(struct fmc_device **devs, int n) return ret; } +EXPORT_SYMBOL(fmc_device_register_n_gw); + +int fmc_device_register_n(struct fmc_device **devs, int n) +{ + return fmc_device_register_n_gw(devs, n, NULL); +} EXPORT_SYMBOL(fmc_device_register_n); +int fmc_device_register_gw(struct fmc_device *fmc, struct fmc_gateware *gw) +{ + return fmc_device_register_n_gw(&fmc, 1, gw); +} +EXPORT_SYMBOL(fmc_device_register_gw); + int fmc_device_register(struct fmc_device *fmc) { return fmc_device_register_n(&fmc, 1); diff --git a/include/linux/fmc.h b/include/linux/fmc.h index 5c8df0c..b6c73d5 100644 --- a/include/linux/fmc.h +++ b/include/linux/fmc.h @@ -220,14 +220,23 @@ static inline void fmc_set_drvdata(struct fmc_device *fmc, void *data) dev_set_drvdata(&fmc->dev, data); } -/* The 4 access points */ +struct fmc_gateware { + void *bitstream; + unsigned long len; +}; + +/* The 5 access points */ extern int fmc_driver_register(struct fmc_driver *drv); extern void fmc_driver_unregister(struct fmc_driver *drv); extern int fmc_device_register(struct fmc_device *tdev); +extern int fmc_device_register_gw(struct fmc_device *tdev, + struct fmc_gateware *gw); extern void fmc_device_unregister(struct fmc_device *tdev); -/* Two more for device sets, all driven by the same FPGA */ +/* Three more for device sets, all driven by the same FPGA */ extern int fmc_device_register_n(struct fmc_device **devs, int n); +extern int fmc_device_register_n_gw(struct fmc_device **devs, int n, + struct fmc_gateware *gw); extern void fmc_device_unregister_n(struct fmc_device **devs, int n); /* Internal cross-calls between files; not exported to other modules */ -- 1.8.3.1