Message ID | 20250319-try_with-v2-2-822ec63c05fb@nvidia.com (mailing list archive) |
---|---|
State | Handled Elsewhere |
Delegated to: | Bjorn Helgaas |
Headers | show
Received: from NAM12-DM6-obe.outbound.protection.outlook.com (mail-dm6nam12on2074.outbound.protection.outlook.com [40.107.243.74]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3FD6D1C6FEE; Wed, 19 Mar 2025 14:19:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.243.74 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742393949; cv=fail; b=Rak/kCxBWUspGJbsYMWa4JosyBJF8PoNSEOuRxAds/WDcIqvx6eTsc2EgfPgyS0J2bNlc4uX5T4xOtY6eN3HyHybBIJ2aPO9iMk9TpEHhaRwvc8mw8GATjtSCk6EVo45ajMRoCz/SVaYBg4Sfftw5eh7pZ++pL8jRk0gMMTeOdI= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742393949; c=relaxed/simple; bh=sGuR/y+I/hfNrRHqw2C3aee/rQm2ahHYXY38fRTHYME=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=m2z3/l2v+lAoNvt+Bc5E5urHnvB/4q2/085a5rxo7OhmJffBfrp7JZCtfJZSgQN+9MpI8Ce35kEu0ADR0+HjIyiaSwYN8xMRHatV5iQHbSBlQ92zITCQOUBlbsSW0zLLWEduTrdlOCmd9Z+5FFeiYDuHRmjpPL+BrQgvTnXfEgg= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=iN8S2byZ; arc=fail smtp.client-ip=40.107.243.74 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="iN8S2byZ" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=r4SgmgjDc7Fj1amLDXUq1gq1fdU7DLV9mJbbETkVXRd+q2sB8UDozbGeWMTZPt2P1Ak76LRgOe9t2wrKZOuMUFTa0xO77rDRuTVFiDcN9OpUeLy2AFqrwgnyfhGgcAUWX2i+Nv9t6metTyGo1as6p7AvJ2zzTVRc4m2Xehuxfvzs+Ktt5NS4IJ2/RfT8fwdzoelDp1SH44wqXClvmelJyCoYD+fu4Zfr5Tt6z1QcFm+x11vFn/LNecPO+AoE0anaUeAnpRKvPLDR0F12ybejQEjB1AaPK1kYQyk/apTdmeJ1JHnSVBPUzO3EvkXeb+e9e0XyjkoSYX+zSFKtzasFtA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=g7SQmKroyePSTjssZFG1Ar1NnwprnQ5d7JfZrmaZ8qE=; b=Dbvz09I/7qKUPW3nJPUwKl360NWArmZ0ZI5OLCPGAkSz8RF8sABD247Az/tEw6YmV20uFhUj72GxLsnrqK192ZcoZro3DMJTH+Nz3We+lEsRIVXNc6y2k7ddSHxKmnfN466COBdBS2LxrOXyBYMGgFBdVJDklAgigII7ivGvsvzkT4DlMM/OuMgc27FAIA+EQT+B1dgMoBGfsAAraeggUefTkq0r+hbcFi8aGcT73PcVPAYJz4DPy6fLKsTomQAOs8wViacls9L1VRinNQCuPSCZXAesYmM9j9qBkbAAic3vG2Nq6AzsIocIUwQq1fabriLrOckfxp04WaLLT3yKfA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=g7SQmKroyePSTjssZFG1Ar1NnwprnQ5d7JfZrmaZ8qE=; b=iN8S2byZt1ckzV58gvvbpo+DSZInNCjpG5LRfLThIwmLhbEdUwUp5m8NSzN/rF5ecCLrXeMGlMcE7OHEBDuKZZo6iF5R8mrjvsQFIpj0q/INaIB7ACIImhYU33jsTyuH9cU+N+nKlCiC2lpUY3LJMhiYvQ6VTGS78r5nxpvwvT+NJmQ4EJS0nNqKjXtNcdgZctqOuOLC3w7+dQgDy3MqAzSlskUCJUvz45+aFFcyP2df/QkiWBIZoPUDoLXsehBy+E8Y8qtRO6mlKZk8mzpZPro3Co6zoixdbwbNEW7W64VueAPFEle0H2PBV60DkrScjsibljr758BVBk9In/4QOg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from CH2PR12MB3990.namprd12.prod.outlook.com (2603:10b6:610:28::18) by MW4PR12MB5643.namprd12.prod.outlook.com (2603:10b6:303:188::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.34; Wed, 19 Mar 2025 14:19:06 +0000 Received: from CH2PR12MB3990.namprd12.prod.outlook.com ([fe80::6e37:569f:82ee:3f99]) by CH2PR12MB3990.namprd12.prod.outlook.com ([fe80::6e37:569f:82ee:3f99%6]) with mapi id 15.20.8534.034; Wed, 19 Mar 2025 14:19:06 +0000 From: Alexandre Courbot <acourbot@nvidia.com> Date: Wed, 19 Mar 2025 23:18:56 +0900 Subject: [PATCH v2 2/2] samples: rust: convert PCI rust sample driver to use try_access_with() Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20250319-try_with-v2-2-822ec63c05fb@nvidia.com> References: <20250319-try_with-v2-0-822ec63c05fb@nvidia.com> In-Reply-To: <20250319-try_with-v2-0-822ec63c05fb@nvidia.com> To: Miguel Ojeda <ojeda@kernel.org>, Alex Gaynor <alex.gaynor@gmail.com>, Boqun Feng <boqun.feng@gmail.com>, Gary Guo <gary@garyguo.net>, Danilo Krummrich <dakr@kernel.org>, =?utf-8?q?Bj=C3=B6rn_Roy_Baron?= <bjorn3_gh@protonmail.com>, Benno Lossin <benno.lossin@proton.me>, Andreas Hindborg <a.hindborg@kernel.org>, Alice Ryhl <aliceryhl@google.com>, Trevor Gross <tmgross@umich.edu>, Bjorn Helgaas <bhelgaas@google.com> Cc: rust-for-linux@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org, Alexandre Courbot <acourbot@nvidia.com> X-Mailer: b4 0.14.2 X-ClientProxiedBy: TYCP301CA0087.JPNP301.PROD.OUTLOOK.COM (2603:1096:405:7b::6) To CH2PR12MB3990.namprd12.prod.outlook.com (2603:10b6:610:28::18) Precedence: bulk X-Mailing-List: linux-pci@vger.kernel.org List-Id: <linux-pci.vger.kernel.org> List-Subscribe: <mailto:linux-pci+subscribe@vger.kernel.org> List-Unsubscribe: <mailto:linux-pci+unsubscribe@vger.kernel.org> MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH2PR12MB3990:EE_|MW4PR12MB5643:EE_ X-MS-Office365-Filtering-Correlation-Id: 93339263-4de8-485c-0084-08dd66f101bd X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|10070799003|1800799024|376014|7416014|366016|921020; X-Microsoft-Antispam-Message-Info: =?utf-8?q?ApYaUuO0BV+n3MNHnjTB1FWgUoFXtnT?= =?utf-8?q?D6E/gqMMDtnTpqJb3IdAJ8DBREb5m3R9cPOvaZgb8URWelT957h+akP9OBkZAzfvI?= =?utf-8?q?oiFtL1a5rBu2xDxsuMpJHBM9bgtK4Try4aXEBJkxgzQA1txmby/2fRKWR2nF9JS6y?= =?utf-8?q?J7ZyzCjM9c1sGEKvBzlaZlOVIX0PHmKNi62JL68g3Cuk0MgeDd+rEgCFTgwzZ9pZP?= =?utf-8?q?VS/8VhDvol1SMEyI5HdCnFjr+OrqzQANVM5J2jTwGyC9rmsn5d53yoxvWO8Vu+faz?= =?utf-8?q?hS6gCnHfUztZOyYBEIEa0kMgpRdlO5bD2nIk8dmJgefEYGkzTZwh9qxxOTon8enye?= =?utf-8?q?GwXjY0kwcB2i6aYxl+8AbsMprKGyeesNg4+54Lb8deGP86YlaE0P3SV2w5hs3qqNT?= =?utf-8?q?gz2D1r7BYrMhRljoHTmmwY6alxsTd7ZGsrZVm/wtfQ8kWAAaS/p0nD/thfrrUyTgf?= =?utf-8?q?QpUOmPvGKmVHrCKldA9x0waaHr1d/ejQSAT5AcfxDp3zZORv1HDJJIbI12Cnfdtrf?= =?utf-8?q?R6g3DmMzEXbJdJkOSvaiQ7LsGwfGSUebRaLExzk8Qza9t8zJ+aKfN1YfjwsIjh1DO?= =?utf-8?q?Cx6ThZ6T1U81WQGhT9SIQFKcHMKZ4v5LslujKXgXGBn/J3Boc8JTZETYOKS5fyGou?= =?utf-8?q?aoJmcLKquC8ZKOag/pIywSR8UNZaE1zUzXy5q1IeIpbdHeFYiQfNlLay5zuXslECA?= =?utf-8?q?iRHHole4njx5KLA0faTJ+MR+JrULSyywq9T4fcAJ49h6nA1az4ofP+E4UkitThwa3?= =?utf-8?q?FqtUpXkVfIwH1vzuYIoB5ryoBNpOZ9LdiscEfQedObipdfiKk9Ll+Rg0NgzW64dhV?= =?utf-8?q?oq2k4mUwczbnbxkI0+T0sCDY/ED5xbdmCzrqKfoo5lUKjeMtD7cq3CwptnNCb4WaY?= =?utf-8?q?yX5S7TDcXFnsAjOI9ViSfl6xpIJi/MybjKMc8dOLD9o4KGP6lZOg3iMJ6+ofVmdeN?= =?utf-8?q?g3DTCA0snPeiyw0b5xE0Pou4wAcw9nPm7HX7RdxeyArvTnObEFI9UZoEZpRQEsdIA?= =?utf-8?q?IwIfkDB9RRKnsO6rcSHyyNJ3kxH8oTlXTbFZZUz909ZeWZXWYGa9KERsxSduixwPo?= =?utf-8?q?KAk+24LkdBi8gepR1p+HJ/gm+kGRPIrU8cnRSf2eqcKCA8pa8mVhC/5hW05v6Zb3h?= =?utf-8?q?IMAOQkaIQNG3snykSD6UVpoD6hyMl9u/lLJVu5W23J8iV1c8Y2D4rtLEg6B+zbdu2?= =?utf-8?q?yBis0TKQH7JCZXS5ITqkgGBGIqEDbvQ6lw1lnZU2xfGlSwY1iNB3oqz1af4L6VTNE?= =?utf-8?q?3Od2cGV0Je51jlV/jqWNITkrtoNMYE6FtgedGNKhVrV/jfjk+dEYdL4G3VhvpSotl?= =?utf-8?q?5Dr7cLJAyFRgsb5pjuhQGUhmvHsjEftJgyXyGnBcZlxz9npmk3ghS6Q=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH2PR12MB3990.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(10070799003)(1800799024)(376014)(7416014)(366016)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?VxyKEHeWTUGYXnSdxXLQnrq9kVjv?= =?utf-8?q?PJacvXTj+khgQmhWe0u04S9sKBjtNRTvzBaktihW7tODJmSnL5rN+Icm5EB0rG1Yz?= =?utf-8?q?qbqcjpX8jKbVro4NfLip/S1ZzxtjQOvPTQv3hwBgp80rTZDAsX8JBPWYd63M2MKOz?= =?utf-8?q?qjr2xSJjzl1S/OS/3V7GO5D3nWIuoAimFwjBxGcaPlY1/qXzVArLk7XQr09kIn8AN?= =?utf-8?q?nx3GvfSTECzHqYmKaTDkjbSi/Px6wcmq02WHB1UEbDdyazITE7jjwZmN8cdX756Xp?= =?utf-8?q?d0FpJwye6kmFJJkIwG5QCPwXx0uEVZ+X7PqcRcQ9EUekcGK1oRUUZ1fjp8hIoeBhn?= =?utf-8?q?TjsCMkCeSUQs6iApy4O5M0MAjmy2s++wcVvPwDVwnrECYR/oI++ZCRukbmEcIugkK?= =?utf-8?q?oGreKlHL75324Sr3+4Yh3SSSTT+LqBWSBVpx8YCSffHsKeW7VwVOozf7qI+ts45uo?= =?utf-8?q?FRHScitkLLysnXkO3gU/VTTNEOzVgIgDro4p/VwbZML6AEYwnts5E9xCJ9+c35brF?= =?utf-8?q?fQiYkQNQmTwCVpt9m6Kddef0YCBn2gZNK7Xleqbonn5HJZse2fB0GUwLGRXHeIY7+?= =?utf-8?q?qL9wL2EyAgL1WYsZtLkgztPhIz+e169Q+1VDD9sC9gSKwE2ULET50Y7d53CR8xG49?= =?utf-8?q?uqGcT87PGtVeP7zzAhyGDr9Z2gXOrDEbUoybYMAHDElroUy0QFGtWiG4fwpR/DA0o?= =?utf-8?q?/rcI6/cf2IYuby+ZnzEnCtA6A/vFKve3T9vKVxCSjeEXbmxzqlD9+Vs8UhbHCm/by?= =?utf-8?q?E21Rk9DO9Ea9kyKMi1mFs7Y0lQ/dTRjb83MSy/YVaLrc0LeSOMlzVlt9ly3GOEeFc?= =?utf-8?q?Uj3cyzcAG28mVhscsBTev2QVT+lfNfcIYf1LjcnYMwQOBs2jDy1JVZJtQtj19Oczh?= =?utf-8?q?lrhOnGPWqWc5IdpmLvKD1JIkMEasMnb9z/mWeUlvZAbDFPvU6Zv7tkK5bvKMVopmw?= =?utf-8?q?I4d2mDVlYjLhK1rzFvxPGPU7ni+vaSyWa899I0W16Erp6nhxYdydPUDedJY0h6jo0?= =?utf-8?q?DULlDO+L6s/cm+cX97QcTyPenrzutvYFoudGJVTWjCWKj7KZZJjMlzePt5B/GjzBW?= =?utf-8?q?CnfQ2cerquzu5w0tR77YwF3/94z1aPj8Tmou2fqSkv4Vm1J47ak+a7mNvthHKyFMI?= =?utf-8?q?GDKKBH+1NX7z+Rfdjg+K6U/xO67zJfLz87hwkgmuJmXY9awmDdlG+Cr3XlR0m9SzE?= =?utf-8?q?8zNUWUs+MtML1L7HGQoAWKuck7s7ngdZBdYEwQIWyuoXwfdSPmoE7a+TltjYw7iOD?= =?utf-8?q?n5k/InKTsrP3LMqNaqCCymxYNAOUd4DSuUEMUNQlU3s4cUR9AfxIRrLpQgoU9HPDC?= =?utf-8?q?+SWyScY/QAxF6x4FqsRYU7Jn8cOuqgWRAYfz3xYuYnOOT0KiybkFGKc4Qd87KvDzJ?= =?utf-8?q?VnTGD0bKv+Cg97h4/07Hjyei7+duGfbMaj7C5ck8QeJoSQfEJfUa7RuO8Lg6dT66E?= =?utf-8?q?A4mxhvhvNEWs2u2dKh/6KPAloFAnOTdGvdFx/fl21pP5z+dCk6hIkByAN/gYnDrdn?= =?utf-8?q?ccugSyNA4aK6OP0lc5G2lhhJmB0dO9MHoZHlBMvv58mEjBfnVVp/1P3mFIJLIQkLj?= =?utf-8?q?csDG7qb/BR4?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 93339263-4de8-485c-0084-08dd66f101bd X-MS-Exchange-CrossTenant-AuthSource: CH2PR12MB3990.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Mar 2025 14:19:06.1524 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 5AiIDpvFstOgCKAoMXlgBwz/NKaG9VYqtHJOKUqxnfhlCkd79/BmeRsDa4xGlog+laDXFPIZoq8FfG+MPbcQwQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR12MB5643 |
Series |
rust/revocable: add try_access_with() convenience method
|
expand
|
On Wed, Mar 19, 2025 at 11:18:56PM +0900, Alexandre Courbot wrote: > This method limits the scope of the revocable guard and is considered > safer to use for most cases, so let's showcase it here. > > Signed-off-by: Alexandre Courbot <acourbot@nvidia.com> Acked-by: Danilo Krummrich <dakr@kernel.org>
diff --git a/samples/rust/rust_driver_pci.rs b/samples/rust/rust_driver_pci.rs index 1fb6e44f33951c521c8b086a7a3a012af911cf26..f2cb1c220bce42d161cf48664e8a5dd19770ba97 100644 --- a/samples/rust/rust_driver_pci.rs +++ b/samples/rust/rust_driver_pci.rs @@ -83,13 +83,12 @@ fn probe(pdev: &mut pci::Device, info: &Self::IdInfo) -> Result<Pin<KBox<Self>>> GFP_KERNEL, )?; - let bar = drvdata.bar.try_access().ok_or(ENXIO)?; + let res = drvdata + .bar + .try_access_with(|b| Self::testdev(info, b)) + .ok_or(ENXIO)??; - dev_info!( - pdev.as_ref(), - "pci-testdev data-match count: {}\n", - Self::testdev(info, &bar)? - ); + dev_info!(pdev.as_ref(), "pci-testdev data-match count: {}\n", res); Ok(drvdata.into()) }
This method limits the scope of the revocable guard and is considered safer to use for most cases, so let's showcase it here. Signed-off-by: Alexandre Courbot <acourbot@nvidia.com> --- samples/rust/rust_driver_pci.rs | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-)