From nobody Fri Jul 24 21:29:27 2026 Received: from BL2PR02CU003.outbound.protection.outlook.com (mail-eastusazon11011025.outbound.protection.outlook.com [52.101.52.25]) (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 DABA642A160; Fri, 24 Jul 2026 11:37:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.52.25 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784893049; cv=fail; b=lKBwKhXb2l+poOs62cZHmbRMdpxsV8jVOlxy9o5AF+24lm0mXR4d4/1ve+62fE5VrgAkU7wk7wPz5v1/uiXnyN4XqIYDBYVmk6Bg0w/SoxYIxl9fUyGJ58W13GuggjVOTgNvBqy6+V3/JdSFpiJmgSKSnpFrcivwZf1YN4FJ8Mw= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784893049; c=relaxed/simple; bh=ft8OILWvkvp2rhv/qaAG73Pq8I6j7bEv/GgJ8Rbi7ig=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=ZMP7/morwb7Ddk76hafNPRrkeTcCupAvB6cjd5R9j9n9CIG92cJmRqJYRZEUJiliF98UPeOulIsMVzEylXQQRr3NFjiF2T83aquO19EX4IdxWeoAarWgXaNysaWFHdy7Mb3zydQGrCKwqARYv1n8xtWJB+lOjKHxlYb2pcQUfGY= 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=nj7HB0S5; arc=fail smtp.client-ip=52.101.52.25 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="nj7HB0S5" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=YTT1Gukcno7sj6uJrXqFyzj/gSecWM0dEqZfiJlDaR7UuNpfnuNnHEZkrFYpKXevwEHVtfZ98cNf2x5MxbxDpfEnGGkc7FDgcTrNl+GKrzNnOpgw55vt3znYb8zNCo3NSJEj5TwDPZ56e3VIiBR8sSzVt4GoADGiEgCaacEVpyVU4gnKQvbWWmR1/vWPxTfOWwWEsTh1jrrTeGunSmDgcl1geo/8cddf/ZGMbuAbZ9stfMEg//cP4ezTycwQZDeVbEQGx02fTInOCzZ2ae/VdTjuGJwPszPScJAcj4mB0xB1rCHTSf+argFpGSE4Z8P1bAizL3o0KqEzitgQ6Yh1gQ== 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=K/6Ebh2jF1Cnq2wX+MZQQgSgS/db03IYW4ILczb898Y=; b=Vd5O8Q+I1lS5sv3fHYqg/1PLNz6PCrOhwiisBgLZsKVFN+N9ngopfqbfitr1HhgHg54X3WoyDSEMe7v1J6G80LmFXmbBLJGNzeLO5X2L5NRWbthEbWpi60ZUqooZDhMK2EJ5//Em8w6xOJGgFiq++EAx9SwAtnLVYj86XYPnxk7sNFhpMxmvuv+J8RZT9F0jkoACTg+iSGjhsnKqhdXwn2roE/JKvJUhpuPSFQ/aUKInZmuH16zuLp5C/zKs3UgqCI1NRv2txEf0Aiy7wm+PBPqxDHIgBP0uwt3Rt2u1aB5Q4rycmoIzVLjUFzMv1FGTE5c6xOs3kF6RlRGtEF/Hpg== 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=K/6Ebh2jF1Cnq2wX+MZQQgSgS/db03IYW4ILczb898Y=; b=nj7HB0S5xWX/gronHlQ7GUoGuWXousP0bHSpjFhrgX6cLEDm9H/Sxcj+yTIr9/ehM4q+M/5DYrLZWEn+Zt8sjmlhCeOY3LDPHyguhlBNdiOhhrSaQmNxHlMHjSPM8zNg639KtWyqRuQ7LsIXTvs8bd84WQod2mi/D/9KwvHVDGLrwEDmO7bDuFwCAXGMpIwcBU3ntMs5muPjGzLZVBIN0D1LmAqmAVnP1DIEYP4zOT903hQRwdoWgduXbjnSXpltv6zTpMgWL/ThRQAeRKOvvjlKR8JUSPs/I2nyqqMwFrU5xMh6Fbi0F+zpGarEJ0XTZQeFujPfRg0zL8teZULadQ== 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 MW4PR12MB6974.namprd12.prod.outlook.com (2603:10b6:303:207::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.245.11; Fri, 24 Jul 2026 11:37:18 +0000 Received: from CH2PR12MB3990.namprd12.prod.outlook.com ([fe80::7de1:4fe5:8ead:5989]) by CH2PR12MB3990.namprd12.prod.outlook.com ([fe80::7de1:4fe5:8ead:5989%4]) with mapi id 15.21.0245.010; Fri, 24 Jul 2026 11:37:18 +0000 From: Alexandre Courbot Date: Fri, 24 Jul 2026 20:37:04 +0900 Subject: [PATCH v2 1/3] rust: io: register: dispatch shortcut rules internally Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260724-registers_fix-v2-1-a0fb58b02185@nvidia.com> References: <20260724-registers_fix-v2-0-a0fb58b02185@nvidia.com> In-Reply-To: <20260724-registers_fix-v2-0-a0fb58b02185@nvidia.com> To: Danilo Krummrich , Alice Ryhl , Daniel Almeida , Miguel Ojeda , Boqun Feng , Gary Guo , =?utf-8?q?Bj=C3=B6rn_Roy_Baron?= , Benno Lossin , Andreas Hindborg , Trevor Gross , Tamir Duberstein , =?utf-8?q?Onur_=C3=96zkan?= Cc: John Hubbard , Alistair Popple , Timur Tabi , Eliot Courtney , Zhi Wang , driver-core@lists.linux.dev, rust-for-linux@vger.kernel.org, linux-kernel@vger.kernel.org, nova-gpu@lists.linux.dev, dri-devel@lists.freedesktop.org, Alexandre Courbot X-Mailer: b4 0.15.2 X-ClientProxiedBy: TYCP301CA0068.JPNP301.PROD.OUTLOOK.COM (2603:1096:405:7d::19) To CH2PR12MB3990.namprd12.prod.outlook.com (2603:10b6:610:28::18) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH2PR12MB3990:EE_|MW4PR12MB6974:EE_ X-MS-Office365-Filtering-Correlation-Id: 9b1d5b4a-0d6f-418f-f15d-08dee977eab9 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|10070799003|23010399003|7416014|376014|1800799024|366016|5023799004|11063799006|56012099006|10067099003|6133799003|18002099003|22082099003|921020; X-Microsoft-Antispam-Message-Info: Eynf8v8LoQ84tBf8ErqrAJQDcfDUKRldewUE4Qm9QcGKvXs/B/MKm7ioOBhJK3eL8+2ByS9xVJjvqjiHNX1JJSuycq3eIC4AxKg6aQ6THL2vPFq0aqas7wUymbBPlybCPS5DatXWPNubGN6r4uIfpfHUz7klwq4cmddCfSJ05sSJTCTYO1P4j16vfLWY5PiaHqJQlrSjlZXbUAcwh1F96Betru2XOsUg64ATEBp0z18XCYq/ccN7dxKrOG8DvKlMBDr/ZNEVjWdypxZg3i3pKLC7Lks1xzm2/ZHW0Ph1ekt3tSzELkIJMu1S6TxDQwzCZOO3LWmanM0vCARoQ4uq4n1wVKZb2n2w68mElUtXkLskqC8q3djUna+TzDPewQXIf4LKJjELCuNt0ynXG/jZrTpB2zhZnpv9qVy6Bf43B1nuFES0UO7EauxMLpH/9Jh1cm9Fe5g1r71i14PG3A71PjnyurNUYp2qXkCWRIc7anbP/chwVEAYW2tVDZbSeV3ZXwVd2LyPusnz592gZ2TfIo5in4sit2kXZj3mqWcpAWWjnS6DG29BJfrXqZfNqij9B2gMlyNXrc2gywqXX8pNVnj+oY0B7ZXpSCBy3ylnrAoPANvsFiUczy5TUM9jhI4CyAWPWvOeGpXh5B+9dXfMm4QBR/6YTMcWme43vKs0CTEP6mGsQO+2ymCLHjCp2dacHsCCYZYhJeNKtuNNFpjRVw== 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)(23010399003)(7416014)(376014)(1800799024)(366016)(5023799004)(11063799006)(56012099006)(10067099003)(6133799003)(18002099003)(22082099003)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?T0QvZmF2SmxBdWtYSWFzWDVrVVF3THBOWWRhM0RBMUVjTjdaLzUxcm5sbFpa?= =?utf-8?B?am0zeHVFaTJXcXl2K3g2Zk9icGsyZUZmaGxPdHFPbG1TcDhyU3M0VzNrbzBt?= =?utf-8?B?Mm5LNVlLT2U5OTBDZWc1bTZYQWQ2d2ptWDB2bGMrYWgrS2xsWDdsZlVzdjY1?= =?utf-8?B?b1R3WUJoOTNpaWFPWWV0TjVDQXprMkRxMDNPRnVMeHB4OW41S2pxNTkrZkMy?= =?utf-8?B?Rmd5NWFjSHB1TnFCQXN1bnhrbzN1eWRteEpmYU1yUnhJa3RQWHN5SW1WSHZI?= =?utf-8?B?ZkZ3cm1LaTBNa1N2R0tzbmNMam4rT0QraVhLZUxTeHZwMFg5T01UOXRFelRn?= =?utf-8?B?UkJHbk5DcXRYaWREVEhJdW9tNFlERW9mRy8rZ3lMOWNrcndPZGpsVjJwcmhm?= =?utf-8?B?bnhjS1c4ZVdHc1R4UGU5c2xXNzZTWkdGOVh3bUE2K0hLTEhPUmNnUGhRd0sx?= =?utf-8?B?N2JKazdJSFFZWkFIWVpxYk1YVWptaFJ1czlNaFpKcHdtRUtJTVNHQlpvM1Fh?= =?utf-8?B?bWdFUXFJWlFjUTJVUXNzNms5NDVBYnNNOTZJazJ3UzlCb2ZER2YyYk84L2sr?= =?utf-8?B?RHRZeWJtd2Z5anhwaVZFM3Z0TldNUHU0NndBbEdGRzlPUkdIQnJBVE9BM2V1?= =?utf-8?B?UHVXSnh0SmdWSWJKYnJqYVFMZTZ2TFVwczFLRnRCaUh2S01SSjMzRjhhY2pI?= =?utf-8?B?ZkxFYXNaNThIc0w2eGxYd29vRmFHNk1rS3ZCNzl1dkc5cmRuaHYyZ25xaTVD?= =?utf-8?B?ZDNGK0NibEtobTFjVFIzaTBCcDZZLzUxU2w4azhvS3QxdXoveDlxeDJxZEYr?= =?utf-8?B?TGFIdmU2QW1LNUxYSStwUVFUWTBHN3E0Z1hWK29nV1JYTngxWTZ6cFEya0JU?= =?utf-8?B?L2FHRXNiQzdDM0JzMlprb1JFOWVmK2lRZXhsaFpRN3JzejZTVDZjL2V6Rk5i?= =?utf-8?B?bkpSWmxGNTJwak9xQkxIUEdac1NjamJyVFdDWU5jOC9qeEdDdUpVU0FoajRx?= =?utf-8?B?MnRoWUtwMlVNZzJ4QVczbVBGdHJxeDRhK3FENEsrRDQxSUF3QkVNQmxPd013?= =?utf-8?B?OGxzVUY5OTk4WmI5TGR6ZFRrdGp2NkR4Wm9PRDd1cE8rc2NXai8ra2FxYlZV?= =?utf-8?B?dy9qOUJVMEZERVAwa0xTT0s5VUJTSDJmcjRwZVpySTRiUjdpUFRPb2xzTUNj?= =?utf-8?B?cFJCL2h1UnlycHZrSGJtQkNGZnhabDRES1J0WkhacDBiTVRIaGNCSEk2T2Zh?= =?utf-8?B?dUh6R2JBQjZLaW1DdXRweE9RVDZFYm5mNEVsL1UzQUZWeVVQd1JLa21JL3N6?= =?utf-8?B?enpsUVFtdmJCZ2MvN0x2M01LMUttMUliR2l5QTk3TFFkRGllWE9nbExabnpO?= =?utf-8?B?Yk1tWm44NjVqQVg4YzdrRGZjMVRVampESm9pTWhkN3hzQ3dOMDFzYXIxTTJa?= =?utf-8?B?SFl4SHRJOVlDeHFFciswclhuYzE4eEhhdjYweFlOMjdLVzAwOTd3SlJXamxm?= =?utf-8?B?RkpMb1VJdDNjR1ZuZEtwbmkzUzFUWjBmNjFjMmNCZkd5a3pqM1ZDZkY5VThP?= =?utf-8?B?eDRraForM3hZZTJRVDNYRldwRXBWb2loSU9BY1FtTnRWcVd6dlJxdVVvZVVa?= =?utf-8?B?K256TjlFU2Jmek5Zd1RjcGY2cHBmVWJmRDg1QWlzb2tNdDVseUg1WWVJdkU1?= =?utf-8?B?Sjd2dWdpUVZpa2Z1THhBQmhBR3JBUWw1VmEwRjdyUVk0OFR5aXhscmYvYTEx?= =?utf-8?B?azdBZURWQWlvSDkrVjByWXhCd2FqQWRLODc5Zit0K1d5K3lKcjk1Q0tmYnlL?= =?utf-8?B?NFE5eGF0Snh2QnRkeDNjekxwc3NBSys1a3FGWWUwRDZhdzAzZkplb1dPdUxN?= =?utf-8?B?dkZMb2h1a29hTUY1NmtoMDJnVDFUNG5QdnVuM3lPdHpJc1V6YnJCd0RTblhp?= =?utf-8?B?Y0lTMndEOW1GM2I1alJVei9Dd01BeVVXZUxQZFN1RFFQZGNBWEtCT0VmN1Fk?= =?utf-8?B?dUZCL3BGR25vRC9SWFoyZG5lMG1xYS83bVlMd3k4VVV6OEpUZjhlQjMrTkpU?= =?utf-8?B?cUsvY3ZsQ0prSXBaZWt4b3AxRHNIZlBOQ29LdHA1L1p3QUhGamM4b25QaHFr?= =?utf-8?B?bk5PTGdScHFQZUpLOEs0QzgwbU9YS0RpM2ErbEF4SjQvVk1aZ2NRd0JIaXJy?= =?utf-8?B?UlcwMkZBL2I5dmdHM3QvbzZhbHpaNWZZVEpOS1EvV3NCSzdIZnFBQ1JwdlVu?= =?utf-8?B?VGQrVTFCNGhWajJvbGhkSENxUzBLNTBrMGYvcnB5K2JaK1JMNzRvRFlGaFlF?= =?utf-8?B?cDZhSmFtVFROZnJjNUxoeTEybGo0U2l1ZE9HdmM1YTNnb2lHOFF1R0gzUzVp?= =?utf-8?Q?gjzsxxIs5MhfQTycN3/vzi5k5ooIwvsu3Y34RTYR6J189?= X-MS-Exchange-AntiSpam-MessageData-1: A0ljJphwYmSlQw== X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9b1d5b4a-0d6f-418f-f15d-08dee977eab9 X-MS-Exchange-CrossTenant-AuthSource: CH2PR12MB3990.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jul 2026 11:37:18.3033 (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: wGrgk0kECXyO6hH0crCJngN8+EVlrH6Fb/Hb1aW27wv5F2ffXQ1qBXVUPnMMrRjpUuD8TTDlzoDNA0xTel0VXQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR12MB6974 A couple of shortcut rules redispatch an already normalized declaration through the public register! entry point. This is unneeded - the public rule should only be invoked by users. Dispatch directly to the appropriate internal @reg rule instead. Signed-off-by: Alexandre Courbot Reviewed-by: Gary Guo --- rust/kernel/io/register.rs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/rust/kernel/io/register.rs b/rust/kernel/io/register.rs index 80e638a892d7..e9ee8c2b60e7 100644 --- a/rust/kernel/io/register.rs +++ b/rust/kernel/io/register.rs @@ -888,7 +888,8 @@ macro_rules! register { { $($fields:tt)* } ) =3D> { $crate::register!( - $(#[$attr])* $vis $name($storage) [ $size, stride =3D ::core::= mem::size_of::<$storage>() ] + @reg $(#[$attr])* $vis $name($storage) + [ $size, stride =3D ::core::mem::size_of::<$storage>() ] @ $offset { $($fields)* } ); }; @@ -932,7 +933,8 @@ macro_rules! register { @ $base:ident + $offset:literal { $($fields:tt)* } ) =3D> { $crate::register!( - $(#[$attr])* $vis $name($storage) [ $size, stride =3D ::core::= mem::size_of::<$storage>() ] + @reg $(#[$attr])* $vis $name($storage) + [ $size, stride =3D ::core::mem::size_of::<$storage>() ] @ $base + $offset { $($fields)* } ); }; --=20 2.55.0 From nobody Fri Jul 24 21:29:27 2026 Received: from BL2PR02CU003.outbound.protection.outlook.com (mail-eastusazon11011025.outbound.protection.outlook.com [52.101.52.25]) (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 7A02742AF95; Fri, 24 Jul 2026 11:37:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.52.25 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784893051; cv=fail; b=ABrL902Gg0xF2J8R2JPtfmMvmqd12JQ2xTZT74RRqPTjHdGNGy46mlLW+plX6ekWkhFfXsEcMrG2tx+2ru+Bqm3goLB4ZLu7ukyZdDcn+b7j3vjKIoxoBlD9GiWYOm90SG9Rs4UdLfxbRh6rPvWysden1qrOp2FIiBKb8wD+Udk= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784893051; c=relaxed/simple; bh=o0F6QujPeOhVNgs2GYM40ClsnGnfI/wSNHM0TjAJRss=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=Wqj8ogd9iKf3poc+yj4KYODfK2CK2lsCFVW4AWvecJRZ72b4zLsUTlD7sT4dP4QTO5o6PFIiR6dZSM9B8vtVb+5kSC0GgyGmuSl+j1ZM4ZD0aF8vguV2IM0BWO8fas7QrAz3lY57rRL8YcyORis3mnWObeyFUNZzXdcJe1xY9d8= 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=WTKcliWR; arc=fail smtp.client-ip=52.101.52.25 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="WTKcliWR" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=hKAaMZ1Gq8fKxDiPB+wUD5D4smvOVTT6//dNtS8MAIK6sRdxFdM79xOVC1K1PwuyTb0ghz0IyVss+slx2e7Z88iscw9g9+FDl/6E/wAXyQgWRjguFQ1B/c6I3u7BCMoKhrLCbzAxUx5gwFB2+0M6JhcHrkC/OGRRw929GP3ZQ9DI4WxARWWf+PRRA/VA8wMTFGxIAQwm10Sk4GdvgK38tKePw/yZmzF/cXpNwpFoszhXpacb1kDHjvGbRchKCTRFsE1nO+H/RnUR4GYpiy5/fSgouBhna+O3GSvvfNZ8gq551dmHuL7aLMnUiZ1iytiFFDizbTzbC3hPmE5odctezA== 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=lJAWkVXTn5K2QB31wACPmEB/qhX7I6JzKQAhVgOuREM=; b=cFA1mZGAgUt+yyrlLbJH9D1dbi2F0bqtWcIT+/l1x9ZIQgOUx7cso29DmWTgDZCd4WmwAfv/bHh7eszFmZuPudMzHWYLGslJOYRYH4LsHdhetjxtrjKm4sj2GgP3zaTb32vg9PtL/07xUeCyi2fOLIQvjlDL6t99hVwN7SPUG+Jv45QbR9XABXWku4n+jc8GWLSmebFNtS8O/bZ8OVORGtB01ilFmTzRoqleM3OlghydinhjfXeSXi2l9Y5+sQpGycTsVnzMV3K+pBfITu8++xmdamKNyL1FmCwx0pXcV9yK5xm/44eFF6Zcgo6HuDsa/lRG8qWdSVM9PPqUb3Ysgg== 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=lJAWkVXTn5K2QB31wACPmEB/qhX7I6JzKQAhVgOuREM=; b=WTKcliWR308e+gWVMFLh0Iumk4l6y1SuYewp8LVILL7zRSUs7s03UobGPQvMCJ/uD5DFn3Wqf9+LrQK7d1HevFaOjtMriZvZBdwBkwftr+AdX/Kjxe/3h0ATlbFJFxztvA40iBHeQNv1GHDvWN8Q+Zkfc0iH4voLZmKMUGuTK4BBQq09hYmkWW6IOLu4ig5Nm0qabv+4vy7GJwvh9wTDjVxmujvaMX0WXd/9b39ByCxmOmt4eD8utruwBFLbzyUHYwt8oIeKmsiuZm8glr/Qx7NrNNyK1j9HYtrWs/Tvnkv6vsCFyE443Ljlitg39F01hhlDZoiRPG8D1COa/Gpo9w== 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 MW4PR12MB6974.namprd12.prod.outlook.com (2603:10b6:303:207::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.245.11; Fri, 24 Jul 2026 11:37:21 +0000 Received: from CH2PR12MB3990.namprd12.prod.outlook.com ([fe80::7de1:4fe5:8ead:5989]) by CH2PR12MB3990.namprd12.prod.outlook.com ([fe80::7de1:4fe5:8ead:5989%4]) with mapi id 15.21.0245.010; Fri, 24 Jul 2026 11:37:21 +0000 From: Alexandre Courbot Date: Fri, 24 Jul 2026 20:37:05 +0900 Subject: [PATCH v2 2/3] rust: io: register: remove unused rule arguments Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260724-registers_fix-v2-2-a0fb58b02185@nvidia.com> References: <20260724-registers_fix-v2-0-a0fb58b02185@nvidia.com> In-Reply-To: <20260724-registers_fix-v2-0-a0fb58b02185@nvidia.com> To: Danilo Krummrich , Alice Ryhl , Daniel Almeida , Miguel Ojeda , Boqun Feng , Gary Guo , =?utf-8?q?Bj=C3=B6rn_Roy_Baron?= , Benno Lossin , Andreas Hindborg , Trevor Gross , Tamir Duberstein , =?utf-8?q?Onur_=C3=96zkan?= Cc: John Hubbard , Alistair Popple , Timur Tabi , Eliot Courtney , Zhi Wang , driver-core@lists.linux.dev, rust-for-linux@vger.kernel.org, linux-kernel@vger.kernel.org, nova-gpu@lists.linux.dev, dri-devel@lists.freedesktop.org, Alexandre Courbot X-Mailer: b4 0.15.2 X-ClientProxiedBy: TY4PR01CA0010.jpnprd01.prod.outlook.com (2603:1096:405:26e::18) To CH2PR12MB3990.namprd12.prod.outlook.com (2603:10b6:610:28::18) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH2PR12MB3990:EE_|MW4PR12MB6974:EE_ X-MS-Office365-Filtering-Correlation-Id: 1fc63207-83c7-4d92-5e41-08dee977ec85 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|10070799003|23010399003|7416014|376014|1800799024|366016|11063799006|56012099006|10067099003|18002099003|22082099003|921020; X-Microsoft-Antispam-Message-Info: vsSBypPvnQ6DkGWpZ2yl+0cwdCp9gDFvgZG8V7EagiIT0cmPU2FBZCOPR4rPhOc17zLQqVHm9v0c/ZqILsPQmU5vDvZZpHO3qN/qwMVU2tL6Jt0EhCWU+X7bv9M+1DFbnxHPIfTg3axBbdqj0tLNSv4xlm7+uI8UP023MZD5kfXeYsJOp+VgZcWlEenJiUyyfHjioF0+eph3RzoEo0hW/9sjwou1khf9egbUDS4tcGgJukdsbEsEZ+dyIiF/4J0as32930fmINE3DG2/MBYIlfeZ/3HTWySsyi0kOwdx+eA3wCt8dkI9VOvBzCvo91UcAh3ToVEiAgJflXOzVMVyFk9i48pZP9azeHDStPUehTOZzRsJEO8wgPahsccvEZg8SQQ8nb7mW9v5I2x43Mj0WuoZSh/mveNFHhuulhmHGsFdd833J8Maq2mF0VsquhZZE7/1V4zMCQSapSdOjoDAWKYjL2SHea4k0xZLESU9W339x6g7v35tKCepcAfOpVMoYfUqvKaBYpdM4YFUSO01FyeYtjI0WlH1//iwa6vw8LnHcYFlmERuC9kTZkZh5gpJKNK4p5FI7v6I2Bex4q2W3/neiZGcR+QOAJm2ye7A2b8pngLLK7q2vYKQ7YNc95hHZOL8IKir5w03orKZaHqaBNnuoCOnj8C+URmnYEniTcpp2QuHR+ZOmS/vISJmcv9W86DaOb5covCLhgekTcXC2g== 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)(23010399003)(7416014)(376014)(1800799024)(366016)(11063799006)(56012099006)(10067099003)(18002099003)(22082099003)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?YlZWUjBjTzM3aWRlRjhFekU4emU1UnFFN3JMYmhVUjA2UjkvT1pnLzkwT1Bo?= =?utf-8?B?c0JPY0ZTRDhCVDNneEl6bkFEMkprQm0zRmVRRkpXcUc4Y01BMERHU0FaenRo?= =?utf-8?B?WWtXNGRvNWVQeHFLaFN2TnMwd0lXejdWcHZwYmNwNWU5STJiTlQwSUhHKzds?= =?utf-8?B?WFpaV2ExM0VQNEgyVnlIbGJIZmZlUDU4bnBHQ2RZL2F5MWY2V2JnUS9MeFF1?= =?utf-8?B?VHh3OGJPMjNPU1FqWlVuWHBDNURxYThMVVlJQnVkSlIveW9ib0FUQTQ3MzNz?= =?utf-8?B?N1JCZHpmTlk5azQ5dU82UDZ2eHlTU1dyekptY1UyakZ5dzloZElpclZRSjdi?= =?utf-8?B?eUJiSkd2N0U1Z25rTjE2ZUZnTGRkWS9hTUVQLzdXQVlrc1N5dk4wckcyVzNr?= =?utf-8?B?VWVmT01jQ2pHaXVZbjZFZDZGYVlrQkdyQkR5ampDR3RTRXNsVmgrdGJHRysx?= =?utf-8?B?WnFaT1hTMExaazhpY2xzakt4TTFLS25hSGF2UkFOVWFjVVA0Z2UwcGxwS0VT?= =?utf-8?B?UkEwSlU3blp5bXF4L1RBb0F1ditsbnJyRHFUd0JqQXAzbHN2bkF4UmF3L1VQ?= =?utf-8?B?eGxkaFUvR0VCVnlSSGpHY2dkWDNHNTdnRDkvL2hGM1orZ2FUWEVvRG5lcGpV?= =?utf-8?B?Vk5VSE85Y21HQ21SUDRUU1p3VEdhOHJjOWZzY2dQYkJrUDVaWTVTOHh1Sjhw?= =?utf-8?B?V2V2dGFBL1B6dXpXRmpJbFlVV1h5UEVKNGx6NS96K0I2dUVQeE5BbzEvQkNR?= =?utf-8?B?SitWZGV5VC9lTWtwd3NNYXh3WWtTeUNRV0RhTG13V3ZycURVMk1OS2RicklN?= =?utf-8?B?a0o3a0NVQURtbmQrQnlVQ09XR0xNYmIzQ3pkOVFkU09XMkRVVFU0UFE3a2xj?= =?utf-8?B?Qm4rb1dRdDRiemozN3AzVEVHZ3pSZ3h6VTdwZHhLVXdhNWh5VjVISkRFS2or?= =?utf-8?B?Um4xT2JVRzZWSEF4UzUvb0dZRU52QmdnL0xkS3dubXVlM05zM0NYd3lFcVhX?= =?utf-8?B?TEVPcWtHcm0yU3NYZWtkM1dNSUcwZFM5U3lMYi94d2tmbEFlS0Jmdnh0elNJ?= =?utf-8?B?NDBmcC80SHFlaWs5b0h0NmNRaE45WkgrZGtmTEJkQmk5MUZUVzcwVnZxOVYw?= =?utf-8?B?Zlh4L1YxVVlxMEx2dkpMTU1LcGZvMWdLMmw0Mk5icGFHcE9RWW5lWGNPZXdZ?= =?utf-8?B?MkFyYkFvZjNhRDlnbHZjeUJYNTVNL2wvOTJwZVhzRGRFQ21WWWhsZ2JFVmVT?= =?utf-8?B?LzhGcHBYTG1WSmMrcU1FYWIwYmlBZnZFeDlXUi9WOVJvZGxWY1dQb3JDQlpI?= =?utf-8?B?eUs2YVhnQ2R5T3JtWTdkbzNaaldNZ2xRWk5ENnNUek5iZXZ5bUlWVGdmOUFq?= =?utf-8?B?NXlhWEdCaWJjYjRwYnNuV1cxWG1HaURSZFprT0d1dURuZy9jWkw5Mm1QNUhj?= =?utf-8?B?ek5YREdkSGdaTTNoUlhwYTFPbXVweUNUZ0hDMzlvQldRRDYvNEE1N25tTlBm?= =?utf-8?B?UXNUZXUzdGVVT25weTBvMzZib1dackQrU0xQa0daQk1rNVREMXpyZUE4eFBr?= =?utf-8?B?RDFvR1JVbkxob0hnZWxJaytWM0VPTTlYQVNkVDJxaDN1VXplZ3I3Qk9nUXZu?= =?utf-8?B?Z3QzLy9GNnF0b1ladUtRRUp1a2kveHdubzl5S0h6Z0FaUlBDelZLelA1U0pR?= =?utf-8?B?TktOSkFWVXFWTnRrZnpVV01tOTlUbXAvQlpBQlo1ZmtGc1d4QkpOc0xWdnFt?= =?utf-8?B?VGdIS01NOFJhWmdyZjhxTlpSUU9UYkhlS2FUMitqWDVkaFhTWjliK2RFcE05?= =?utf-8?B?SlB1U3R5SUEzdUpueXJIaDdWSlQzK3F2SGQvUVY5K1FLald1djZwLzdOYjRo?= =?utf-8?B?SlYxYkFFWXpVcWkzMnlRZ3h2bXhRdlhZSXF6aHNocnl1ZkVYMWFVVVdSVG5v?= =?utf-8?B?QUNzandrdlBoeE1GRVlGYUpseTY4cXRkZUNINUVnemM2cFJOTmJHSENWZXRm?= =?utf-8?B?ZVlFWU1KdUE4c09SZ3IrZTR5VkdvSS9YcFo2azFPN0pOWkJFVTF5NkFXdVdo?= =?utf-8?B?eG5vWlRTOStqak1ZUkFleGxVSmVuS0VBVDhiUG5oYmYxZkZIazdlUEVGWHN2?= =?utf-8?B?NmFLVWI3d2lKTlkyLzh5UnQ2bWo3dmx1N2RCZ05qVFB0UGRmOVlpNDhMeTZo?= =?utf-8?B?cG9MVEEzVzVJT01VVHdGWGhWcGd5MHUyeFNPSXlNcGIwU1YxSjNvSGZBcDlN?= =?utf-8?B?cUY1a28vSVVYb1dzRjlUTm9TU01FRnVrejgwcXlwUkFJTngvVkxkbmxmOE0w?= =?utf-8?B?alYxS2ExMm9OektpR083eGc1Q0JCbGxucHZrUTNvSy83U3dubWpoMzNZWldD?= =?utf-8?Q?yWGYG8WInMkFRtWbPT6IUWG0TH9Cv16rhyHQdvynTW1rW?= X-MS-Exchange-AntiSpam-MessageData-1: ovcraVnsx77shA== X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1fc63207-83c7-4d92-5e41-08dee977ec85 X-MS-Exchange-CrossTenant-AuthSource: CH2PR12MB3990.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jul 2026 11:37:21.3201 (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: /MK5kpnCoQwv2trJwC8m/qDffxicikWh81xvuFXFT99fjsy9CGeQD/KJkWP3whnf/2dktB6Oktz5eV7XI520hg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR12MB6974 A few arguments passed to internal rules are never used and just add unneeded complexity. Remove them to simplify the rules a bit. Signed-off-by: Alexandre Courbot --- rust/kernel/io/register.rs | 27 ++++++++++++--------------- 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/rust/kernel/io/register.rs b/rust/kernel/io/register.rs index e9ee8c2b60e7..32cab54aafff 100644 --- a/rust/kernel/io/register.rs +++ b/rust/kernel/io/register.rs @@ -832,7 +832,7 @@ macro_rules! register { ) =3D> { $crate::register!(@bitfield $(#[$attr])* $vis struct $name($storag= e) { $($fields)* }); $crate::register!(@io_base $name($storage) @ $offset); - $crate::register!(@io_fixed $(#[$attr])* $vis $name($storage)); + $crate::register!(@io_fixed $(#[$attr])* $vis $name); }; =20 // Creates an alias register of fixed offset register `alias` with its= own fields. @@ -845,7 +845,7 @@ macro_rules! register { @io_base $name($storage) @ <$alias as $crate::io::register::Register>::OFFSET ); - $crate::register!(@io_fixed $(#[$attr])* $vis $name($storage)); + $crate::register!(@io_fixed $(#[$attr])* $vis $name); }; =20 // Creates a register at a relative offset from a base address provide= r. @@ -855,7 +855,7 @@ macro_rules! register { ) =3D> { $crate::register!(@bitfield $(#[$attr])* $vis struct $name($storag= e) { $($fields)* }); $crate::register!(@io_base $name($storage) @ $offset); - $crate::register!(@io_relative $vis $name($storage) @ $base); + $crate::register!(@io_relative $name @ $base); }; =20 // Creates an alias register of relative offset register `alias` with = its own fields. @@ -867,7 +867,7 @@ macro_rules! register { $crate::register!( @io_base $name($storage) @ <$alias as $crate::io::register::Re= gister>::OFFSET ); - $crate::register!(@io_relative $vis $name($storage) @ $base); + $crate::register!(@io_relative $name @ $base); }; =20 // Creates an array of registers at a fixed offset of the MMIO space. @@ -879,7 +879,7 @@ macro_rules! register { =20 $crate::register!(@bitfield $(#[$attr])* $vis struct $name($storag= e) { $($fields)* }); $crate::register!(@io_base $name($storage) @ $offset); - $crate::register!(@io_array $vis $name($storage) [ $size, stride = =3D $stride ]); + $crate::register!(@io_array $name [ $size, stride =3D $stride ]); }; =20 // Shortcut for contiguous array of registers (stride =3D=3D size of e= lement). @@ -909,7 +909,7 @@ macro_rules! register { <$alias as $crate::io::register::Register>::OFFSET + $idx * <$alias as $crate::io::register::RegisterArray>::= STRIDE ); - $crate::register!(@io_fixed $(#[$attr])* $vis $name($storage)); + $crate::register!(@io_fixed $(#[$attr])* $vis $name); }; =20 // Creates an array of registers at a relative offset from a base addr= ess provider. @@ -922,9 +922,7 @@ macro_rules! register { =20 $crate::register!(@bitfield $(#[$attr])* $vis struct $name($storag= e) { $($fields)* }); $crate::register!(@io_base $name($storage) @ $offset); - $crate::register!( - @io_relative_array $vis $name($storage) [ $size, stride =3D $s= tride ] @ $base + $offset - ); + $crate::register!(@io_relative_array $name [ $size, stride =3D $st= ride ] @ $base); }; =20 // Shortcut for contiguous array of relative registers (stride =3D=3D = size of element). @@ -955,7 +953,7 @@ macro_rules! register { <$alias as $crate::io::register::Register>::OFFSET + $idx * <$alias as $crate::io::register::RegisterArray>::ST= RIDE ); - $crate::register!(@io_relative $vis $name($storage) @ $base); + $crate::register!(@io_relative $name @ $base); }; =20 // Generates the bitfield for the register. @@ -981,7 +979,7 @@ impl $crate::io::register::Register for $name { }; =20 // Implementations of fixed registers. - (@io_fixed $(#[$attr:meta])* $vis:vis $name:ident ($storage:ty)) =3D> { + (@io_fixed $(#[$attr:meta])* $vis:vis $name:ident) =3D> { impl $crate::io::register::FixedRegister for $name {} =20 $(#[$attr])* @@ -990,7 +988,7 @@ impl $crate::io::register::FixedRegister for $name {} }; =20 // Implementations of relative registers. - (@io_relative $vis:vis $name:ident ($storage:ty) @ $base:ident) =3D> { + (@io_relative $name:ident @ $base:ident) =3D> { impl $crate::io::register::WithBase for $name { type BaseFamily =3D $base; } @@ -999,7 +997,7 @@ impl $crate::io::register::RelativeRegister for $name {} }; =20 // Implementations of register arrays. - (@io_array $vis:vis $name:ident ($storage:ty) [ $size:expr, stride =3D= $stride:expr ]) =3D> { + (@io_array $name:ident [ $size:expr, stride =3D $stride:expr ]) =3D> { impl $crate::io::register::Array for $name {} =20 impl $crate::io::register::RegisterArray for $name { @@ -1010,8 +1008,7 @@ impl $crate::io::register::RegisterArray for $name { =20 // Implementations of relative array registers. ( - @io_relative_array $vis:vis $name:ident ($storage:ty) [ $size:expr= , stride =3D $stride:expr ] - @ $base:ident + $offset:literal + @io_relative_array $name:ident [ $size:expr, stride =3D $stride:ex= pr ] @ $base:ident ) =3D> { impl $crate::io::register::WithBase for $name { type BaseFamily =3D $base; --=20 2.55.0 From nobody Fri Jul 24 21:29:27 2026 Received: from BL2PR02CU003.outbound.protection.outlook.com (mail-eastusazon11011025.outbound.protection.outlook.com [52.101.52.25]) (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 C4887427FAF; Fri, 24 Jul 2026 11:37:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.52.25 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784893055; cv=fail; b=s5ftk/q9RP6Ki7HxytUkqO4ngwPvb4M2/jHTtorhDd1r7S8hxjlTWtYeTAtpvxykbDOSVZTOxKbK8b0qnnaXbI8X9kO5iHs6dHb7AMsFYuS2YR1IU1dLOP5dfqxZbNbYUNtzQf6coPj/o4MRq2C84/xz+31SY0A9COYTjZS1bRI= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784893055; c=relaxed/simple; bh=PHE/lzwDe7MKWBwoyf0Ahckw7ShV8+fnZUBW7rIfyQQ=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=fedeoZaSgZ60e2w53ogkJktTuN92h3Zmk7eSN2XwhaITv85+YrHCNNmSn+AZXIOYPkaBbzXzsHFfhBf0CD64P7GcRH2Ke9AfJLhi5d6e1Z53RRaDfdb1pPETCqOXEINcbi12NtQZ2juaJZ0UGJRUq/HqPnB2b9UVy2Gq69Bg8YM= 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=VKprNf99; arc=fail smtp.client-ip=52.101.52.25 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="VKprNf99" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=IfHoeNg4GXIQgP7lox9g4OUHbHaJm6PhMxCER6SCRAphKqSIQDBnoLU3f5mbF5UlcwhIiViv01VY/jEB6TCuG0DJOrPlqpcjtiRH24g8EAQOPk3ATGcIWpR7zuvl6C4rUEq8P9AwelQ22qxBGTctp4FnMB7bFC9vjhdR9yZUL7lvywPUJLmu8IyDTtkHBH5dKEQ2kEyCv4FJHXaf/Z6xL4Nddz1Onqi3Cx6jjVHzLMimv7ZPhwNu0hJDDBvTW5t/eIAes5CA/9l9Ha658FDyoZcjJN30AEwTHn0dysnxQSDvXwlVB9vy2o+uPwXaB5OzLYWF8LX/wsb5RKda7TKedg== 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=fvVGXGTZSnjjpUhMr8pilyCSsRECy1As/VYK2b9SFks=; b=PdO6C+M3PttEtP7X2AQDnnfxlZuzkELf7t/imVnB48yfQTsCfZSyTB7Jgt5A1Da8mbfzjSowykeWjSQay8ATt0USREyPYeecMx2nHanzVF3bIidMQrZzcqbcuKP5XjyGAcdO0iTT/5hKoV8cvXET0CmcXfznO448o61wp0Im8XaNZ5Obx09u6/5yW1bHNyDHH4cd+6r5vT39vrbY5L8TUcH7LZRTNb3GEHV7TRcjVYzGIAVCxGAidRMjEyJjg4c8DVMDqZbinsIC/mDzspKHlPqixBFbAMB0ApjRgDkAoVbqlFsa8lYNpghChehTb34M7Xo2J3Du8YlfVtm2rsPptA== 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=fvVGXGTZSnjjpUhMr8pilyCSsRECy1As/VYK2b9SFks=; b=VKprNf99HcEcP75hJIa2Il2lUGIqN1z18G/3SPyMgEJ25/sg9VYbsaC6GVxgPpoYNBpSjZpEZ4f1zmwa6OVYPvCxyRGUYypCvuRbnmAI5weie8Cc1a71S9ErhorAaaUIA76Ix+Jxt46KHiQZrBLvizO+Y1sQeBxxENz01Rj+v8BSzOdpQklB0pt92om7iDH4GORsFseILs0YEw7UhCjTxNxLkbmY8q5DwzDRMjyC6f7Qaq6egh59UOS55EUfFzJhLO5IFYc3reCDH2XsIIcN+jVCb2SFcnWfzKsJjHZsZIHP86TdpD+Mb1dOk8HfZp+rrVrElUgR6CPKH3lWG4dWSg== 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 MW4PR12MB6974.namprd12.prod.outlook.com (2603:10b6:303:207::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.245.11; Fri, 24 Jul 2026 11:37:24 +0000 Received: from CH2PR12MB3990.namprd12.prod.outlook.com ([fe80::7de1:4fe5:8ead:5989]) by CH2PR12MB3990.namprd12.prod.outlook.com ([fe80::7de1:4fe5:8ead:5989%4]) with mapi id 15.21.0245.010; Fri, 24 Jul 2026 11:37:24 +0000 From: Alexandre Courbot Date: Fri, 24 Jul 2026 20:37:06 +0900 Subject: [PATCH v2 3/3] rust: io: register: use path fragment for alias destination Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260724-registers_fix-v2-3-a0fb58b02185@nvidia.com> References: <20260724-registers_fix-v2-0-a0fb58b02185@nvidia.com> In-Reply-To: <20260724-registers_fix-v2-0-a0fb58b02185@nvidia.com> To: Danilo Krummrich , Alice Ryhl , Daniel Almeida , Miguel Ojeda , Boqun Feng , Gary Guo , =?utf-8?q?Bj=C3=B6rn_Roy_Baron?= , Benno Lossin , Andreas Hindborg , Trevor Gross , Tamir Duberstein , =?utf-8?q?Onur_=C3=96zkan?= Cc: John Hubbard , Alistair Popple , Timur Tabi , Eliot Courtney , Zhi Wang , driver-core@lists.linux.dev, rust-for-linux@vger.kernel.org, linux-kernel@vger.kernel.org, nova-gpu@lists.linux.dev, dri-devel@lists.freedesktop.org, Alexandre Courbot X-Mailer: b4 0.15.2 X-ClientProxiedBy: TYCP286CA0066.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:31a::10) To CH2PR12MB3990.namprd12.prod.outlook.com (2603:10b6:610:28::18) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH2PR12MB3990:EE_|MW4PR12MB6974:EE_ X-MS-Office365-Filtering-Correlation-Id: 7f9bf4d6-4db7-423d-751e-08dee977ee81 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|10070799003|23010399003|7416014|376014|1800799024|366016|11063799006|56012099006|10067099003|18002099003|22082099003|921020; X-Microsoft-Antispam-Message-Info: stkmRzkNowQenZgVBPpziQQ37O6EFkA64rPuR3Fxkl0XvKO3utjU8qoGc+yyZGgY0gfYabY/H4xfnUw6uNO7VaoQcLRrh5Oe/kOfH6IQ5Sg9iUgPQGZ0u/tR4RmLyDlwI+y5/oYitMta572g5rTF6maR9sXbAen29qe4g8/kPyA2tEdETYgHYCtxPeCBHRoB53tUhWwZDRgtZVEEq5HAqzEvs3/PloCs8Or4+LHY8H/OcEZfhXQJxfhIdhBMHiFzuVumiwpz7vc5ndT0Omyf+wHIbBxsUyTuD3dX47rpRcDc/voxPPE1tqBDcr/Yg7+fLdnxGc+3Hp2J5VGbh0wtkfmoT/HWmpXVJ62ILZLgwyXSGqaybPbd2qu+ud3gz5f8jkYgBs1GmlaGJKId4jFI/DMOpc6UGU7SDdgECeVkPnTAenZ80Vz1v5uMnwuQgePs7iCL/L7CSRkuxCn0Zw0Q3dsRfadpc1AZY8NzLun/MG1ycDk0SFSUcPVjAzBPD3EOStGTQ6ZB+CFnRRgXwXbWxhh6L19/c7+9iF7RPe+LxRZ7lmjwLGhBIyGUm/h30Bf/1G32P5ejDT5MwsrPtboKYlFfjbe/5TS3QOxQucnpE2t0WTa0rNLHSymf4AYto3bRKXBqALxSJm4ctvQMxoOCG9HygrMDCesFbZlaNkyfcUfHxQGK6PlbffjBJxrIJlL0TrxScdnjzrmsSzROXQ1u1A== 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)(23010399003)(7416014)(376014)(1800799024)(366016)(11063799006)(56012099006)(10067099003)(18002099003)(22082099003)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?akpieWhUQUwrU3J2UURoVzJoVzdQWnpVRXpFTFpuOERXYlBkekpBWXlEcklB?= =?utf-8?B?TG9EcThUTGFrcUZLTjJiOVA0REYvU3Boc3UrdHhFMjFTRTlpancyMUJZbHRa?= =?utf-8?B?T0xaMzc3MG9QVi9rQ2RFa0NqcHNaWDJ6dk8rS1VIdUNxRGQzTy9ZUkFsa0xV?= =?utf-8?B?S3g4QXlSNlNyU01SdzczNlNTUC9xemQrU2oybDFTc0cwOTdFYXVHdG1uRXkw?= =?utf-8?B?L2ZLOFV1cFY5czhFR3h5NUJ5ZzhQZkdpZ2xrcnZlWUowS05HZVl0SFVkcnFC?= =?utf-8?B?dDQrdHptQkNhczQvM0lCUVZMb3VOaitCSmZvdUlvbnJRR0swVnNFdG9GRUFX?= =?utf-8?B?ZDhtdW5wRklWU1BkVml0emplcHVBNU5DQkZrUlJsMDBXQjRpS2dZeXg5T1ZV?= =?utf-8?B?bVN0dW5wQjlhakZBUXJ6TThhdm5lbWxuTmlKMXdxanZpVFlaR08wcno4aUVr?= =?utf-8?B?UzM2VkZJRUN2aGY5blMzUUUrSmtFQ1Nwb05CMy9ubVhXNXdtRjY2L3RMaGdh?= =?utf-8?B?TGIrN21QVUU3RzJrQVhDKy9yVEdmQ1FuSFE5aWluS0FBbTYrYmoweC90L0Fz?= =?utf-8?B?bU5iUS9vVXlhL1hiUXRHTGVsWVZqajVsR0NGWWxqSTdBT3ROckc3c3MwQ283?= =?utf-8?B?eGdFSStvZEVVckNpQVNHaEYwbUFvY3o4UVo2bXMwS2NSWWVDK0h1ZEhnL3Iv?= =?utf-8?B?RXpJMC90ekpuYkp0Q1dEajc3QjcrQVhpdzd6VzVoTHlrYmpQOGJvclZua3Ba?= =?utf-8?B?VzBLSFNLdXI3TVZaVng2S0NFVE42ZFhSTitvTkpEcGRTcE8zMFBEZzgwcjB2?= =?utf-8?B?NDFvRVFIbTBNZ2NHaXNoWitkYnZ6enF4QTFYQnk4VDRIZFRGTE9mM3FjakFv?= =?utf-8?B?eFhWTW0xajN2SUJZWU5qeHRGMDVQNXZ1ZFZHdHVPb2J4aHdXRkhrWVBHNVJS?= =?utf-8?B?dW1IVzdCcGNGcXJFZ1ZmUzYzc3FkbDZha3N0R0ZGRjd6bmVUUkUxWm1STW9V?= =?utf-8?B?UDJMWmhOY1cxeHJFTXpUaWVVV2I3NWVvcGRuZC83cUlTcW04akNQOWhzanlu?= =?utf-8?B?akJwT1plV0l3NjE4ejJIZ1Z3Y0hPZ2RqYW44THdJeWtBcm84Rzd0Ym1nUWdL?= =?utf-8?B?ZnFHWlBuTGZKOWlTLy9xQXJYL0EwcExCZGVrQ0VNWXl6MUxkM1VMZkhjZTNj?= =?utf-8?B?V3Z3K0dUa2QzK1JyczQ3dW1mN3F5MlozVDlZVDhaK0g1bVZaNThYNnhxcGJx?= =?utf-8?B?RVYzTEFTMDgvUjFrVXdKRUtBZVJNOHBrL3hHS052cyt6eFVQNmFOWTlFRktp?= =?utf-8?B?WllFRFFHNFhyNXF6OExMNTZUc3NsdkYybVRjSWhsSHVEeDNkU2M1Wi9uZGdE?= =?utf-8?B?K3REY21pWDk4c3IvNWR1Yy9pZTNVcTJjTTRwZUNHckpqaUJSUEhJZEwvNCtl?= =?utf-8?B?SHZHMzRYMUJvSWNacDV2clNsVlEzWXFIRXlDcVVXa1R2cFFPYkpDTlJPdWJv?= =?utf-8?B?aHd3bStxTzlXZGc0dlFmQUFtMlBhZ0ZVRGhPOWJqaExqUlhmZllPdTIwbUo5?= =?utf-8?B?QUt3OCtrNGw0aXNVWWtnckYxOTNDOFRFSVlYRG9FWjdEZ1hIcXhXRlZwNmNJ?= =?utf-8?B?czJEcUt4NXFobWFmRTBxclVjbjNqM3dFQ2M5V3gwNkNNMDdzU2FHbEdtOWtt?= =?utf-8?B?TXkvZnBBdm5wYXo0cUVHaDlpU1dUeTdsWDhyZnJCbHowZUE2aHg3R3BLTVkx?= =?utf-8?B?MHdGd3JiZGpjcHB6S1ZXa0ZBZitlNmlaeE0vWGhvdENnZ3hjckFrV0ZVSXBD?= =?utf-8?B?Y0gxeUo1VHBTUzNUcHVVSno5dmt6Z29OUzduRU1lY241MXNyeWNPYVpqQ1U3?= =?utf-8?B?NnhTaThScHZneCt0cDZPSERvb1paRDJxMXdNTjkvR2pKR2RwVDFRMFI2VTBY?= =?utf-8?B?dlRpSnhJbG1taVFSVGkzUDAwNld6WExxcyt0NDFMYTRJQmZRSmx5K0llUnR2?= =?utf-8?B?QXdQdzREeWtpcEIrRDYxN2owc1pxNG9yaFk0SE9PZ0NIcmVNVSsydVRwekdN?= =?utf-8?B?cUY4M0J4MXZROVoyWm5XaXBnTUFvdUFXREg5NmxpdFZDeGJwdmdSNnZiczFP?= =?utf-8?B?bGlVZXRacnF5aTBObEk2c0ovNmZNYVY3Z25XWHlwNXRmL05QRDliRlpNdjFL?= =?utf-8?B?Ui9IK3Q3bW5sNTRIbXhPYzRiSzFLU2VhWGpDSXdveG9aN2hxUHN0bEk4RExw?= =?utf-8?B?K3V6NTY0em13RkoycFd1VkxPSTF3Z2RVUEMvZWRsYWZadmhhTXMrNnlKMC9P?= =?utf-8?B?ZXh1SVE5NUVKRmNUeWh1cG10MndjYzVtMFRZWmdvbTZrT1lmUC8ycjhzMGs5?= =?utf-8?Q?SzrYG7wyqoMFbW4q9CW+sV6esAI1HG4udYIpvXe1qwRq4?= X-MS-Exchange-AntiSpam-MessageData-1: 61OwWtaM2UmnHA== X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7f9bf4d6-4db7-423d-751e-08dee977ee81 X-MS-Exchange-CrossTenant-AuthSource: CH2PR12MB3990.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jul 2026 11:37:24.6208 (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: BS33X3bXRHjbRJqQf+3uTA2HI8CPAmx9OA9RpnwQVUQByed+X5M7VjvYujE0kgKXxt+5pR7/RY58XJBMV2vSOA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR12MB6974 The destination of an alias is always another register, i.e. a `struct` type. Replace the `ident` fragment with a `path` one in the internal rules: `path` is more accurate, and allows referencing registers using a qualified path instead of only identifiers visible from the current module. This covers all aliases, except the relative register ones which are to be removed soon. The public rule cannot be updated yet because a `+` can still be matched after the alias; add a TODO item to update it after relative registers are removed. Signed-off-by: Alexandre Courbot --- rust/kernel/io/register.rs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/rust/kernel/io/register.rs b/rust/kernel/io/register.rs index 32cab54aafff..c945eb149cd7 100644 --- a/rust/kernel/io/register.rs +++ b/rust/kernel/io/register.rs @@ -804,6 +804,9 @@ macro_rules! register { // Entry point for the macro, allowing multiple registers to be define= d in one call. // It matches all possible register declaration patterns to dispatch t= hem to corresponding // `@reg` rule that defines a single register. + // + // TODO: change `alias:ident` to `alias:path` once relative registers = are replaced by I/O + // projections. ( $( $(#[$attr:meta])* $vis:vis $name:ident ($storage:ty) @@ -837,7 +840,7 @@ macro_rules! register { =20 // Creates an alias register of fixed offset register `alias` with its= own fields. ( - @reg $(#[$attr:meta])* $vis:vis $name:ident ($storage:ty) =3D> $al= ias:ident + @reg $(#[$attr:meta])* $vis:vis $name:ident ($storage:ty) =3D> $al= ias:path { $($fields:tt)* } ) =3D> { $crate::register!(@bitfield $(#[$attr])* $vis struct $name($storag= e) { $($fields)* }); @@ -896,7 +899,7 @@ macro_rules! register { =20 // Creates an alias of register `idx` of array of registers `alias` wi= th its own fields. ( - @reg $(#[$attr:meta])* $vis:vis $name:ident ($storage:ty) =3D> $al= ias:ident [ $idx:expr ] + @reg $(#[$attr:meta])* $vis:vis $name:ident ($storage:ty) =3D> $al= ias:path [ $idx:expr ] { $($fields:tt)* } ) =3D> { $crate::build_assert::static_assert!( --=20 2.55.0