From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752081AbdFZVRf (ORCPT ); Mon, 26 Jun 2017 17:17:35 -0400 Received: from mail-co1nam03on0076.outbound.protection.outlook.com ([104.47.40.76]:60096 "EHLO NAM03-CO1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751381AbdFZVRX (ORCPT ); Mon, 26 Jun 2017 17:17:23 -0400 Authentication-Results: davemloft.net; dkim=none (message not signed) header.d=none;davemloft.net; dmarc=none action=none header.from=amd.com; Subject: Re: [PATCH v2 1/3] crypto: ccp - Use devres interface to allocate PCI/iomap and cleanup To: Brijesh Singh , linux-crypto@vger.kernel.org, linux-kernel@vger.kernel.org Cc: gary.hook@amd.com, herbert@gondor.apana.org.au, davem@davemloft.net References: <20170623160630.63292-1-brijesh.singh@amd.com> <20170623160630.63292-2-brijesh.singh@amd.com> From: Tom Lendacky Message-ID: <262828f7-b433-b271-3caf-dbb4a8a7c5dd@amd.com> Date: Mon, 26 Jun 2017 16:17:16 -0500 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 MIME-Version: 1.0 In-Reply-To: <20170623160630.63292-2-brijesh.singh@amd.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Originating-IP: [165.204.78.1] X-ClientProxiedBy: CO1PR15CA0065.namprd15.prod.outlook.com (10.175.176.33) To CY4PR12MB1141.namprd12.prod.outlook.com (10.168.163.149) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 34ddb67d-98c4-4575-3e25-08d4bcd8bbc7 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(48565401081)(300000503095)(300135400095)(201703131423075)(201703031133081)(300000504095)(300135200095)(300000505095)(300135600095);SRVR:CY4PR12MB1141; X-Microsoft-Exchange-Diagnostics: 1;CY4PR12MB1141;3:7LjxNaBLIfPAKJ1Lv3mrdURDPVTUYs/4EERQ/k2amA7WxjgUnAsSP7hEQyZOhS5AYlbISGKl7RHTsgLWh0M71FO8YY3MAgetJPqdHAhTTqoFaTQNcr6jlaSdPA4YWKfKYvN6ZrirTb8EfZQrEeji4lVqtmiCwIsRRfNL0Dh30oJ8vaO0jWF0aGsu3TVkpplg1vWZNsiLAQBvdnToQMSSyP9/4yoyP/drIYkYdOI2I7jH418TpCU8lOH8UudGeQuHBibm0tLpuctR21Q72ikQ7d3NjXTPfafDSMsUgBQ11xL4qLRVSGX3mCTifSzp8tDXQp9A2htAhYlgI1ZSBUy0EdGyQ4e7SBQnbVB4L2HpDU/Thuo6MkLK22ZEBTLPPGi2WjZAr9P//QB4yYJRDPfVAs3f3brK6AwhtbovdIccc/Lsfs7tkP4gxwUIWf3eU8ZejwpRyUa1E2wjADjr7R90HWuutdb1U4yYmjv1GXsqQFRjcBMvPle4uIdDHXz4kN7in1XDIElMmgUl462eWri0cyLUJwpPc5g0ERh3zZ14gryQgqoGkEbxDsHyDb0Nxm1AiryjysmJ/69uEYx9cjFrUtcEjWt7GGiQ0uWt2va4SCulscmf6IoCkTVtRnhVU3/vfqWTSu23VpwgiiUJ0WLbsOYYY/CEr3tMNrrNePQBEXw42HBapu0Rw+q0Iwi+GHlGDNHf+kXQOR4q7wGqcA0EHg== X-MS-TrafficTypeDiagnostic: CY4PR12MB1141: X-Microsoft-Exchange-Diagnostics: 1;CY4PR12MB1141;25:bAs5SJt0qhKQTPWfxHjk5czoORaBX+YxMNjioeApsGlSQs1SRx0oaNkkQD+4ZvRAKApV70TnvTMSc3SHCO/C9bz15ZyP5vXhIAHjE4LnglrtOmKMMDXF2frfqJ/G2Dpgr6IZ83Si/pi1fcwzBYOfKWGoNCi26CWUdiJ9wr//Wr2oLyEN50F5GeKGdRD6RRneEi14AuRgLdLm/mXmmin3wnsQDiYzOz4+N45Ql+fOUruH5nTyI9WrRa7AC8ytyuRpRdEYq+wNbNm1qmHUCMerDiG6p8AunM+t+RyylUyzH6biw8AH2d0zOuaBwk8fpPmXGd3rsM0Q8msnI81klDIXLctSfvpzdLM4Pq+zMngRCkjjt1SCo7U+7Gwupr+ndc59jXGmqIzQxguJZax9UEKS+MF1xB0hql217tXLxcAxsex71cogcxLNKuLjECeyNQgzUCceNXpqktnoHcyh6fXoOiGJfY96U+f7o3KUnV4gRDmOEg4F04hsq3ERXXuJIqk3Or01uoAWRHXL2GEwDAGG40AHh4e4Q1SuU2YjxHoCE+fJZsZ3/UVSNT5EeatptiTnhoCy73eqIlcT+N0GCDHZTEtJUbrJlKJ1FhUs7HkVZDDEm8k57NXtInUxch6oTNHr49QTrTtMljdi0lN7Pkjgeo+URnlAyYkKBUCdIoVQr+EcdhSsIQd998iN84ZhvItlxclW4PCK1FdZkuIkFh45IzQz0ngG4eFoIijfSWAr7hNg/xv8kJB3hYgoFSbIkd6IELS/fS5ptCPnPe0jCwTy5C/DGsM4uT7FDUSa3mtBmbYacN0lcJUTxdZDftmdbOca8s2IGeOIxaEVdf2bEO5fDDbUe40qHgr2xYQCnwGh4lDPgCyaHH02jVSNj++ESs/Vl6uEzmMEaSayMib/RhcYHSIk1Q5VE5/AAhe0q5261bo= X-Microsoft-Exchange-Diagnostics: 1;CY4PR12MB1141;31:9A4lrL8nBy/Zcu2RgXIpIYq3QqiQ81svb4dDMhZRkmcQMPH4S9+LpsunuRPrDhvDyQrLi0/BzznXiy1fGHlnD4rUL/WKKVbbFDq+Y7d25J9qOXLur71XI3cBt2orTawDonNjYmFnksUuCxpF5kZa3zun5Gi8sY/QGKPVQz9tR3BYdIT91A/78Aoq6tblnShDscfRLlbtqWcv2Y9DJw58uR9A8yUpUUzkf9B4hBSCxRo1z688MlGQ3wwFCLcS2Lup3Bn15ntfpoH3L1LlOoIWFd8Zmt4zao86hC4/uUCGTnNDFaH/I+QMLPh45LKjW1OTARJm/ELWSatQF2o8Yeg71K+DARXVVrIQxJLOv+tBdK0sUDvdbmOQp1nwNQt52QfpNBvlS5VmQJQR+jV0HE7xcLDgNUAlf6VYjz9MHL8w8mgBIKH1qFZM5i7yEws38xXMGRf4TcoIZ17KJkij4fXJWNZtPxG4TeIvNKAdewFKgFWtIc06h8gewVczMEqwq6ytYLNEJqBB8N9kvPh6muNkqHva2DKd3Al3O1t8J660EY2KTuJvqgSDvQixLK2MpvooX8Qwu+yQZr6I65A6dJHhbnnZ9Hfq9lj2jCWGOZQNObRC/YlA493jl2l+c71e+Sw1CY7o9EkIlJN4qDz5mAhlZmVerqBZGIxXqVTgzUteMiOVgpUUlOpwKF89nb0n6mB7vq6he0UpP1CpU8X5mJpmOQ== X-Microsoft-Exchange-Diagnostics: 1;CY4PR12MB1141;20:6ogjabYa05Wg8vadIf1xc1boTXWc57GqvdjRTS2rKmky06gEsAK3NvSNeFYGHwtYyNQ8xgzOvvxvwnTTyzGOcIqbRXs/DssFj90J/Yzg/ZJMTRvORubgZX1zGiB+fHu8XevwxEutUkKDR3IDw3Lz27Da02FMhObaNRjEqO7XCqybuL7hdqnUkyhlDp2kPMSH3Mhir+ez8b/nojnVxIHnARj/9BcwNzRLXlGvLowlUbSuEgQYrOsOOi8Icmhxbl1QLsRPYGcTdl3K5cakrqXikAVfB1wozeZ/fZa9VeFc8FqGZ4OqykSzXNuqDY6dsvRom1tmXikjDPnjTRpzElN8PLUoiRTIlYLf+GuaNOf6RjqCIsOhFdsLeVV/OR1tQnTGH/ziUtM745IfFlLnf9UcJnm8WXTEBQAn3/6U5j6EW810xOrn6hDztSXaHa72YOJCRvSC9baxEM3PLokgGPwtWkKZHX7jUUILnSxsgUUfEq4DGKzKfVzYRQPqgGQRpwpR X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(236129657087228)(767451399110)(167848164394848); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(5005006)(8121501046)(3002001)(93006095)(93001095)(10201501046)(100000703101)(100105400095)(6055026)(6041248)(20161123555025)(20161123558100)(20161123564025)(20161123560025)(20161123562025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(6072148)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:CY4PR12MB1141;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:CY4PR12MB1141; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtDWTRQUjEyTUIxMTQxOzQ6Vy9SeCtYdlh4ZVNSV2dha0pDUkVXc0pLSjNx?= =?utf-8?B?cUFwTDFiVk1ZUGNHTlBaWUZJYVVwc1JyM2J5RGFueUVZRVp5RnpSSiticm85?= =?utf-8?B?WS9UOUZoTlBkV013Q1hUa3d0Ymk2RTFyV0JMRTFaTFA4RktLdXBWbndwaUU0?= =?utf-8?B?SEp5YitDWmhETlNUUXVoUTVsOFhJejA1bzNjRzF0Nm5rSzBsS2sxb0NIWW5F?= =?utf-8?B?aXFEaDdrbHgvUnVqVktpaW45b0hQSlNjSnVNOUh5VkJrU21jZmtSWkc5Y3E3?= =?utf-8?B?bi9PWEpxQXU2Uk1kT2d1UWZZK0o1NzBJZGd0Ykk2cXVxMEZXaEN5ZC9YeTlB?= =?utf-8?B?akY0MjVEWENnNGFSeTZpQzVNZTBadkVJOEhJV3Y5ZTNoaWQ3dTdoYlJxMVFi?= =?utf-8?B?Rm4zVHdMcFIvdEVCZEhYUVVIVVdvUXpOOTZSQit4SGYyTWNZNXgyNWY2R0h0?= =?utf-8?B?UmJlN3VlZXJ6S0tTakZEYTdqc3lQNC9nWVNWUlhQMlZKcWVYeXFXYWd6NjZM?= =?utf-8?B?UjJ2MXhBRE1IaHczcEFwUVFjdFVDd2djZUtBVVpxWHRhMVNna205cU9FcGVH?= =?utf-8?B?allFbjRFS09zQytaOTRWUmZwYzZXWWNvTTBKcURSNjFMaTM3SWxtaTUwT25H?= =?utf-8?B?eGQ2SHJvZENEU0Q5TmZXQzk3Q3pxSmg5MVVJZERhZW9IYW1hS25oWlYvbUY0?= =?utf-8?B?MUtaTVBIaWZZaEpZQ29hM0hrUk1BTGZNVHlPOGFqOU5hd3ZhanFpTFNTbHZ6?= =?utf-8?B?WXEyRkdoa0RrYWFoSEZqZnFuWmJLL1JPeVRwQjZkbHBqUjJvTmt1eVBEQjAw?= =?utf-8?B?cnN0Q1BNMG9obkVNWDkrcGhjeEZSZktKZ0tiTHZSZlFvUE9EYkhtOHBkeTBE?= =?utf-8?B?ZGJhTnNEQ0tRdVpVcnZqZGNDZzNIM2NFL0xsNkNzY0Z4ZVdWN1pKeEZlRktM?= =?utf-8?B?VTdMS3VjeE9BRFE2MmVkTEhsQXowcmZwQU0wV3h5U1dLNStJM0xjNVIrTUc1?= =?utf-8?B?RnJkUU9ybjd1bEppUlY0ODIxTnR4NmFhN1dncW9EZ25JWEQzTEVMb3dWeDVE?= =?utf-8?B?RzY5WHRYMTN3R2I3T0tlMVZ0SWt3ZkZhQTR0M1R3K3NGUm8wcWY5eTlmYXcx?= =?utf-8?B?QTQzRm1DN1puM1gyOTFGcjZMNm9kTVZzZmpiWGdFWnUxa3ZLNWNSNTUzcGRC?= =?utf-8?B?SDl4NVoxVmFGUVYvMVR6d3hTMGZSU1dWSURLbXJzQ3h3ZGR2aGhqT3Y1MStF?= =?utf-8?B?L1YrNDZSNTdIOVJqTDd0WnlPbUZSRWhVQWdSZXBOOThMOFZSUk9RVEREcGlD?= =?utf-8?B?S2pFWk5hUytpTHdLVU1QVUJkUWM0VEJJZk9tRkVYTWZCa2JSaWF2RVJDQXlD?= =?utf-8?B?aDh1TWl4cXp5MHN5WU5BSE14aVorZ000MEtWdXd0TlBoQUhIOVhmRFBYdzQ0?= =?utf-8?B?YllUY0dBN1RDTVpHeC9OTHVpM3dUU21DLzc4Y0wzYklZbEFRRjZiR1dVdkR6?= =?utf-8?B?YWVtNWdjNWdRdlZWL0ppYTY0SkY1MGphbzczZzhNMnZSNFRWWGE0TlM2V0hR?= =?utf-8?B?NzhGM1Z0WXRydjllQTR4QUNaTEtlLzdtekFEc3YySlBlMGt2VlNnTmtQMWFX?= =?utf-8?B?ZlNlSDB0T1RCaWZRY1ZIOW5TUmhObS9IYXdheXJpdUkxVWE3WnhiQnJuMDA3?= =?utf-8?Q?JO/4/0X5YhGV6dGH49a3HRa1doBwHpc4wFWqDO?= X-Forefront-PRVS: 0350D7A55D X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(6049001)(39400400002)(39850400002)(39860400002)(39410400002)(39450400003)(377454003)(24454002)(6666003)(77096006)(5660300001)(53546010)(65956001)(86362001)(23676002)(38730400002)(66066001)(50466002)(42186005)(65826007)(36756003)(6246003)(2950100002)(6486002)(53936002)(31696002)(7736002)(305945005)(110136004)(31686004)(81166006)(4001350100001)(478600001)(83506001)(8676002)(189998001)(3260700006)(25786009)(65806001)(229853002)(3846002)(6116002)(230700001)(2906002)(54356999)(76176999)(33646002)(72206003)(50986999)(4326008);DIR:OUT;SFP:1101;SCL:1;SRVR:CY4PR12MB1141;H:[10.236.64.250];FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtDWTRQUjEyTUIxMTQxOzIzOlI4ZWtaaUZFV013S2QxZE94RFJUYS9TTS9E?= =?utf-8?B?c2JFR2ppK2wvRzRpVE5hb01tdkprbVhGSDZUc1FVK3BsUXZBbU0xd1dCVHA2?= =?utf-8?B?cEpRMGpadmYwWFBwcW9WdlcvVS96czJjdHlsRzZENWJUUXV5a2dlVGwzSnlG?= =?utf-8?B?MmlqTDAwSmdOalIwMjBSRUdXMEFDWjZMM3oySnJ3blYrSFJKRCsva1k1MDBR?= =?utf-8?B?b1BuZld4N1BvdE9HdG5vSmg1eTRRdncrbUU3VDJzVEE4QTZkSXVqZ2Y1VmNx?= =?utf-8?B?SHZUYjUvck8yNjhCRzRQZXFLdDNjRlVidlI0cjVZb1FIYVh6QW16ZURjWld6?= =?utf-8?B?SXduUWdiM0RNc240NnVJem1NNmJEY1NuZU5jNDRKRmFZYnRKRWhxTnY5YkRp?= =?utf-8?B?cTNlMTJ2OWNnbW0xdmVmeE8yeDB6b2hxVWpCSE5RYTJLMHFMZXU2cnJObUtt?= =?utf-8?B?Mm5yNk5lNFhpc2M1WUNjTi91VzFxazZpeDdMQjJldjJZa0haSVhvc1IxeFBB?= =?utf-8?B?SFRYaDkwcHBLWnRFeWxDTE1oL1BlZWlxNlJ1eFVVRnl5OTdqc3pBVzE0ekhN?= =?utf-8?B?RVFpNHVNeTJqYVlyYWRWc3JISVREZVA2RTZ6VWpPMHQwWXlFK3IybEZ3N2Jz?= =?utf-8?B?RXhPaU1KK0p2QTd4dW5PaTVmVGZPS3FETWlkMVcvZ0dMT2tadnV3Yzc5VTVV?= =?utf-8?B?dS9qQ2JjUFlVYmJkM0p3bUdTd3JheS9kaDYyN3g0YW5RckJHVitMbFJvQzBk?= =?utf-8?B?MjRLOTMwbGpnVEg4MWs1blN4Qmd5MFl2dUh2bEdtcU1UejBGWjFaUVJvRU14?= =?utf-8?B?Z0pQeFZpdjg2QkVrYUtWWFpTMEhqeXBFdzVjU0hqODRld1FHMElDUnpManJp?= =?utf-8?B?bnhOeU52elJabGJQRUtWTXV4VmUvVDY5cTYwMDg2bGxERnRSdVRJUXRORVJ5?= =?utf-8?B?emhheVFubVM4RDl5eUdVbTZORS9xcW5sczBPT2ZtUDJjZnNNWFV4dDlPc1Jv?= =?utf-8?B?a2EwY001Z2tKRHlGdHhwQ0c1c0Y4TU5OZ29Dc2pLUy84VzBORUZOVmRSLzln?= =?utf-8?B?QlhBSFJVZnMxMVpCQ2p4RGRpbzFTc2tpd0k3UUNmKyt3T3cwTGovYXREV0Fq?= =?utf-8?B?a1NEdXdQOHR3UDdlRFpIRVVEcnFqQk1rb252a0p0YUxSUUNGeFJrY0I4RXlr?= =?utf-8?B?ZituSlYwUU5BYzNscHE5ZEQvMERjbk9hUU9sQ3Z4b2xBdlV0S1VHYUM4ZXZt?= =?utf-8?B?Qm1vbHZXUGQ5SFlBSEFTVFZqOWtIZlUxVnJNU2ptZEZZZEw0KzV0RkFXMXJO?= =?utf-8?B?OVdlK3N3aG45bTkvUUM3MnIvRHBkSjBNdkg1ejBjV1hEZTg1OThlTDNQR1VO?= =?utf-8?B?NTJxTmhiVlZHTmZ2QVEvbGZnd2dlRUdjNDE3Mzd5L1Z6dlk1ZFNrV0NpUFFh?= =?utf-8?B?aGxpQm9VZlUxdE9lMGpyWHFoRXZDNWFKa1YyalVFdjYyNXNjbnpsWXVwd2ZS?= =?utf-8?B?bUtBblV2MkVWanF1cXNqeTBqT2l2SVdZMWtwRTdUN3VNQ01vb3VaQ3l5SlNt?= =?utf-8?B?Z0JmZXdVTUMyQzFMV00xZ1pPWFRjS1FJU200TUxKcm1HRjdFR1A2R2tmY3JP?= =?utf-8?B?TUpONWp5YlcyUGh6aXhCVVlHK21OUk5yaEVlRVMyOEk0YlcySVl5WHJyVWR4?= =?utf-8?B?V0wwbkJGNFpVZ0dTRVJXYi84Y2gxYlRocTdtWU8vOTBNT0pJRXdsbTZManZ2?= =?utf-8?B?NCtwUldUd3FLWlpITFM0dz09?= X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtDWTRQUjEyTUIxMTQxOzY6UjhFV2VsL041UysrZ1BSc28yTEFrcnhyZFo0?= =?utf-8?B?N29tMitlYjEyOXNVTHJXL3BKSDV5eWxjTXBTTFpvenUzOUlYR2xhVlBFVXJt?= =?utf-8?B?dDdTWFNqMk1mNWxrUlVMRWJDVFNsdXdTdWdaZ2ZKcHpwS0ZZSEpiVzJxbnBv?= =?utf-8?B?bE5PVk1NNTNQZ3ByUEFoTE9uTFZON2t6SDhDNzRJMmZsdzQwdHFGcmRJdlgv?= =?utf-8?B?eFU3WGU0cGt4Y0pqTWM1dlZkMVVrRlpiNGVZSFJBbk05S1hLN2Y0WThkMU1t?= =?utf-8?B?cjZEVW9kRXAvcVEvZFZHdUViQUEraWNRakVOcTVVMmVkL2Vpd2RIK2piVERY?= =?utf-8?B?eGpXcGc4SWQ2elZ1SDduU3Ztb09tM01wbTN5bFpzVWJMaDl3NVgzaTZZZkJ3?= =?utf-8?B?VjFnbE1nZVkrRTdzays2UGhFWW45aTkwaU5ldVBrZ2R1NVZyb2N4NnlVUG5r?= =?utf-8?B?TVIxUjM0UlovSTNHTHVxaWltczA0UkVRN01aN0d1QjFzaDBmUkdUZVZ3Nk5S?= =?utf-8?B?TDh1L05BRDhDR2xTeTN4Y0FkUCtyNlkrU05lTks1T21kUnpkd2FNOFZ4NGJh?= =?utf-8?B?dks3RkdwNmdpUzc1b2U1WGZqU1dWWlVsc1M3ZEdYNnFFUWZzOVVORGtYSHpI?= =?utf-8?B?MkZBM3YvZzIxZkppbXRab3EvWFprYXhUUmF6eExGNFVUWjZEeXJ2L0J4M1ZX?= =?utf-8?B?Y0dMSC9QMXJBM0xaZG5OUFdHdm4vOTBoaDUrOThROE5oczkvSGw4LzVQbXA1?= =?utf-8?B?ZmJram5WMjZ3bmw1UXQ2NnFIQ0ppYkNXcVFHL2xFV1MvN1piTS91MTBZR01j?= =?utf-8?B?cDcvanRXWHJhcUhpRjNXUGNEeTVETDZWTm1FYUxEejgxc1l6TUZlaVFyZkt3?= =?utf-8?B?VkdKRWlzRjlDNENGeDlIK0lmaStRaHBrSjhPbU4wWm1jenJyelJ5b0RhR0l1?= =?utf-8?B?ZnVYTlFseGJWWnArNDJscGlJUmJTSHFxM1ZVQ2tiY0pDN0tPZG9WY1FwYUpn?= =?utf-8?B?VUJEamd5R2N4Q3B6cThlK3RleWFoekl2enhwTk9RRGl3NEk4eEZSNVNJUkhj?= =?utf-8?B?ZUtNcU5QSGNVS0VXdUs4Z3diOFdlTVUwamZpVWdnanQwaFFmckFKQUVaeG1E?= =?utf-8?B?WEdZUnVUWi85QU91Q3VKdlNqWTlUUGVSOEoxNHBSZjJDUmt6YXZsaG9oekpX?= =?utf-8?B?ZnFJOURsYVVZL3grM3ZMbnY3dnliK1BIVlBweThrT1FoTzVXanIwSjhUNGpw?= =?utf-8?B?MGl6Q1hoL2ZvZXViNC8vVnY3QVltT2dRWFdKVS9QSWloMXJZQ3NOMkZYQUo4?= =?utf-8?B?SFl5bC9NWUlMNXZHeXd6K3k3Z28xU2lzN2RocG9YU0czanR6ZG9zUU1XZ2Jk?= =?utf-8?Q?Eg7vapo?= X-Microsoft-Exchange-Diagnostics: 1;CY4PR12MB1141;5:1j+mxs2ZaQvolRbQhsmdZHfTtmhBbuBGxpMNVp5IwbJCanrDUXxB0ITkICFd31Sj+KMQhmx82BGP+I+mLeulHcDgUB2EceMjgUShxH/rgtTE09+WQa03biLzf5zijOXAtKNVSjzYBB9TIcy/kfoQYfCroto8+vvTVvdv2ovdq9jKtHhpOULaVCvTAz4F69jCGMyzrJ6CQcHZbXb4kjRV36BGCkQhaW5g41+NH6AQpyCzwwobfbEDacA1tyeJv27pdJCLiahHTBs6qrqSicWtT6pZ+BMQjJIIhcAs9aYNMdOJTBcAU6xA4rCKtBFODY61df9viURW6ke07FIaMq/JKscoF/5T/cGVfiY9abLC5jP+div19g2BijX3OY9Lz66kqvpM1HTh0H0E9jTC4esl52deKmPaISquD7PksZ8LBALM7NjScfhIdEzOzkPAPIO4S5sX95mZgACVfCwDwwh/UHlti8FDDC/b+GAMqyWnW5xCSJPe+UWbY6xPaadNNHS8;24:g8oR041p/D/BzZUXL+UmeFOsSIInuZuWQxgDZ1F97XzC4DruLntuPciRj8x3DCt+YTXTEcp+9E93H9kLQV1+9Z043cQCg/UXEUncAkuxu4g= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;CY4PR12MB1141;7:/V+PvJXIVhGznqjR6IjBWIPOFyMTcVPu2SfFlx4o++U/ouhEDPzurrktduqlQksUO8AsX34GVvkh/VTpsWw+4pHKXyXZXoi4y8Kg+XRz7/L7PDtiI6ytd9ayLXiXtlZ1BGr/CrXNWegfb3p+c72oM7JeOl5Rt7ccJ4Y2Q8Y8MD9msXCA6gmJ2TMhNL9Ok3c09+bf7YNFqa7mlO6VUF1obQSCMUFdWV3o/FHUPwi5+ErSPLOcCtbE2OQLgU9lnUR67DQnv3E9UEgYuzgD7qKoAgtjuJup2d7wdUq9lX8Tjlpj9VzLcJVfr2f0hmLIoSoUJIDSjEleI2xvozxzKRIw0K3zW2TXt8vzQTbnzpSQ/y8KCES0kP1PRs/oZCsyWCj3WT9n++MFex/WwmsgJhBuvJb1h+hhiygLEl7RzI4bXzjm0bhGYxqJhkBM7yrdh/8/6TFhKW6d7N3k94oY3xA8Jh1XTPRsS9ZhxTu3ByU1JaHD25AOEmnI8i56IAi+r/FBQLRrGUfmjFm3utV6wwKIsfBRpGcxC5iczaosCWfZwjbm5sQRmUKk/TQXnJXiquWqbCP9Ybo3a22IZzzumOsOLOPJEn6brO++XZnLX1giDJJv/agkQNJe0aV377JcLELoIY+hiiNSyLZlQSACXnMQqQGCHiIKoMnl5rB3Rf2FUZEXuogvBE0muNeSKOb05OOvUG3UvI0FlhikHgW24ee+/+ps7h11ujqcNvPWGrQ6SUDOGepLp3EoezShpeED1SEOOXLLHS85pwK8wfxpuK8SPNMXKlD7iAqiYXyUp/U/Tmg= X-Microsoft-Exchange-Diagnostics: 1;CY4PR12MB1141;20:YZzuvE1dsLq7paFUBweb7eJyZ9CUBBWbEb0Yar8qEBUCBeIrkv/rSAMwr2DvBPDL3LYubcSa+q0GQfyLmNE0MLVs+oWQ36N14xwLd5aM62sSU5B51elgn1ec9UFDIKacYH29evq7BxdOCYh9gZ07XQlAnxP09OUhBym4nBji0E5cKr9bDdgj/tDNpKYNaBbEYh+E8fZ+236E5xrX9RZS091GaBRBuBZ6y0fBgAJyZXqHtjBgBA87eBfbrUNhdyTX X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jun 2017 21:17:20.7840 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR12MB1141 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 6/23/2017 11:06 AM, Brijesh Singh wrote: > Update pci and platform files to use devres interface to allocate the PCI > and iomap resources. Also add helper functions to consolicate module init, > exit and power mangagement code duplication. > > Signed-off-by: Brijesh Singh > --- > drivers/crypto/ccp/ccp-dev-v3.c | 8 +++ > drivers/crypto/ccp/ccp-dev.c | 61 ++++++++++++++++++++ > drivers/crypto/ccp/ccp-dev.h | 6 ++ > drivers/crypto/ccp/ccp-pci.c | 114 +++++++++----------------------------- > drivers/crypto/ccp/ccp-platform.c | 56 ++----------------- > 5 files changed, 107 insertions(+), 138 deletions(-) > > diff --git a/drivers/crypto/ccp/ccp-dev-v3.c b/drivers/crypto/ccp/ccp-dev-v3.c > index 367c2e3..1cae5a3 100644 > --- a/drivers/crypto/ccp/ccp-dev-v3.c > +++ b/drivers/crypto/ccp/ccp-dev-v3.c > @@ -586,6 +586,14 @@ static const struct ccp_actions ccp3_actions = { > .irqhandler = ccp_irq_handler, > }; > > +const struct ccp_vdata ccpv3_platform = { > + .version = CCP_VERSION(3, 0), > + .setup = NULL, > + .perform = &ccp3_actions, > + .bar = 2, Platform devices don't use BARs so should probably delete this (unless you want to make it more generic and then use this value for the IORESOURCE_MEM entry). > + .offset = 0, > +}; > + > const struct ccp_vdata ccpv3 = { > .version = CCP_VERSION(3, 0), > .setup = NULL, > diff --git a/drivers/crypto/ccp/ccp-dev.c b/drivers/crypto/ccp/ccp-dev.c > index 2506b50..ce35e43 100644 > --- a/drivers/crypto/ccp/ccp-dev.c > +++ b/drivers/crypto/ccp/ccp-dev.c > @@ -538,8 +538,69 @@ bool ccp_queues_suspended(struct ccp_device *ccp) > > return ccp->cmd_q_count == suspended; > } > + > +int ccp_dev_suspend(struct ccp_device *ccp, pm_message_t state) > +{ > + unsigned long flags; > + unsigned int i; > + > + spin_lock_irqsave(&ccp->cmd_lock, flags); > + > + ccp->suspending = 1; > + > + /* Wake all the queue kthreads to prepare for suspend */ > + for (i = 0; i < ccp->cmd_q_count; i++) > + wake_up_process(ccp->cmd_q[i].kthread); > + > + spin_unlock_irqrestore(&ccp->cmd_lock, flags); > + > + /* Wait for all queue kthreads to say they're done */ > + while (!ccp_queues_suspended(ccp)) > + wait_event_interruptible(ccp->suspend_queue, > + ccp_queues_suspended(ccp)); > + > + return 0; > +} > + > +int ccp_dev_resume(struct ccp_device *ccp) > +{ > + unsigned long flags; > + unsigned int i; > + > + spin_lock_irqsave(&ccp->cmd_lock, flags); > + > + ccp->suspending = 0; > + > + /* Wake up all the kthreads */ > + for (i = 0; i < ccp->cmd_q_count; i++) { > + ccp->cmd_q[i].suspended = 0; > + wake_up_process(ccp->cmd_q[i].kthread); > + } > + > + spin_unlock_irqrestore(&ccp->cmd_lock, flags); > + > + return 0; > +} > #endif > > +int ccp_dev_init(struct ccp_device *ccp) > +{ > + if (ccp->vdata->setup) > + ccp->vdata->setup(ccp); > + > + ccp->io_regs = ccp->io_map + ccp->vdata->offset; This should be before the above call to setup(). Thanks, Tom > + > + return ccp->vdata->perform->init(ccp); > +} > + > +void ccp_dev_destroy(struct ccp_device *ccp) > +{ > + if (!ccp) > + return; > + > + ccp->vdata->perform->destroy(ccp); > +} > + > static int __init ccp_mod_init(void) > { > #ifdef CONFIG_X86