From nobody Mon Feb 9 13:57:58 2026 Received: from mail-lj1-f177.google.com (mail-lj1-f177.google.com [209.85.208.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7FCC833B6EF for ; Tue, 6 Jan 2026 16:13:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.177 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767716013; cv=none; b=In0GF88NipFYCaJX4/D+7DNbu1hXEOvie5MDQwtBjgqQLLOJ/IEXB8JQy472hWbAnHTNrp/2VqfXTaRiYDm/SKSpqlXGGfyMj4gEZQ9kfK+0whwzrcLij2JnLKYhQ+HPclX967G2HYLmhy2eQeO/3UspDOO9Ixix9yennwWLqQI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767716013; c=relaxed/simple; bh=DmmtaDAQNblc8YsS6wVHtlUqz9NIYJ5OZn7ml6apuUc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ILpQFkfK7k+NGc7nIE00OisHv0R3HN4kzcr28JHZfRbT1UJoYn7EARM+yirxfJGZYvQYyOG1oTFHhQ99iAAm80LyJssHhFCrSQcRNEKlNhqQAo9Sc/B3zyzJHfwxAbnsy9QGyv9r9X8DIlZQ8IiDlkml9dH4NM7mtp8ofvePUkg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=USf8ptYU; arc=none smtp.client-ip=209.85.208.177 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="USf8ptYU" Received: by mail-lj1-f177.google.com with SMTP id 38308e7fff4ca-382fe06aa94so22371fa.0 for ; Tue, 06 Jan 2026 08:13:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1767716009; x=1768320809; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=yD1KNN5/TWj3t1cQe+Jpa13onMvM2XzOEo1ubv8aag4=; b=USf8ptYUDxHpzCm9+DVHO4RWuMzUZTZawfX40J9OI6HOS90AATEmtGxwaSy3YcnXbM 5hHFZU+I57W8wLiA9LrkBhL3R2ENebO0tyv4ncFJ22QgNMDN4kCNM1iwb5bAPaWgmcHk qclIkVvBi9wlUE027PBeaEvKzP5yjQhjP3wdgZ/pcJXIaJP+66emkYmLHPoIyRocp16H VK1s/MC31CYC50vULt1/yjivjBWDNeGATarBS8VTMcW9vL640XNngSKzmyn5KImxjiRV EC6szmQXC3scWBye4f2Vt4/T3a83jq6Kg3Weg3lDmx19hu5OkKFPiyvVe7/7+6+Ru8Kc rWRg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767716009; x=1768320809; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=yD1KNN5/TWj3t1cQe+Jpa13onMvM2XzOEo1ubv8aag4=; b=XCRB3U5HTgJ9iPTpRhIWuHkwat8OhgBDzzBq4nTOh8icPV8ECVrQghOc7PB68e9DU8 X0dYe74f9cVapbeuyJm/7Yjg05kxsXD3LTEOH2i83mVUGwtxeSNnZaF/U1DezVinrftL ILcILBtEcyhRTTWgBkSQznnGZsMV/JD56EN89cKhTCXjKnSNdKxas2Ypnx2k0t+JCWyW FHko0QNLFafbK/FWxhE9ixYHH2fjw62OkWnntCXV5RHFloL3qIhQeJZEmTOCpJcCP4qy 7jQjjggi2hoabnQz9HRxhDuufeJ53A/YE6RYY+nrWhsZkN7GzHCwOzEMQlSw8uim6Okn XMrw== X-Forwarded-Encrypted: i=1; AJvYcCX/vKuo9Qztsa159xZX8N+fQRor/1r0oJMK7E8Q2j0CCMV+g8c6KxYT/oYoc3v9PXgzg7lMr28BA8dhhQQ=@vger.kernel.org X-Gm-Message-State: AOJu0Ywdi71nZEiBiT1/++Lu1PjC5SlrvMa/JFUtzSWtoHcLL6qjmtzv K4PpO1jADg2FlNd0UaR2kVBJrE392RAtIb/6D2GScY0c9uT0yubgDs40 X-Gm-Gg: AY/fxX6qLYwn3uRdRhwYmOX32V0OZ7wECDTKqwO1a8jBBYrf1VAQBs+RM4NMLio6chr jD4WjyI2pUSQmKuAJOURsDrAld4BVNER/dFUJh4THbqSAV3b9BQS4BBMFETCqkNv1yLiIORiUUU nCylpXl0cudDin6dyhSGL7tGMYsm2qsZlYPewX3tO3j6Ub16rqAslVqcTnofH0Sa7BflFHJ1IHS G4NJl9j3EyAR/soezWPjE/nBH21V8T3OhY28duG+bk54s2/I0GVjqqj45Z4SsCqLcUj0oF5lA00 XNXyNqYBTRNhzRQdYQXyGC60E5oY1iNf0eGxG3xC2RkFy6t14Ufkqcs3XdGfLtHni1GFhzR0oZa E6iOipeMDW4FeBGNH8NX6nEpuONar58GhhB1HFp9xD5sIt61VvAtm7HtgMmafBXxiS+rAjyjf85 k1O4UOFfgSAbSVI3o+zj6gefiqD/6Q/MomMBmUaYRohcXfizxm+mGtXIGzrUeJ/P9GkU5OcXT8r 8csIg== X-Google-Smtp-Source: AGHT+IGJWfLGBy47BJ7PbhNF+N9zhPP31NLcPDf0py/c4ZK/NKQFnYsEpUrBObyH1jqbw52Z4Ikz8A== X-Received: by 2002:a2e:a988:0:b0:381:ca5:e893 with SMTP id 38308e7fff4ca-382eaace214mr11548671fa.29.1767716009250; Tue, 06 Jan 2026 08:13:29 -0800 (PST) Received: from LT-5CG5341NQ4.nordic.imtech.com (37-33-180-149.bb.dnainternet.fi. [37.33.180.149]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-382eb91dfbdsm5256091fa.44.2026.01.06.08.13.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 06 Jan 2026 08:13:28 -0800 (PST) From: Kari Argillander Date: Tue, 06 Jan 2026 18:11:49 +0200 Subject: [PATCH RFC v2 11/11] rust: remove old version of ThisModule Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260106-this_module_fix-v2-11-842ac026f00b@gmail.com> References: <20260106-this_module_fix-v2-0-842ac026f00b@gmail.com> In-Reply-To: <20260106-this_module_fix-v2-0-842ac026f00b@gmail.com> To: Miguel Ojeda , Boqun Feng , Gary Guo , =?utf-8?q?Bj=C3=B6rn_Roy_Baron?= , Benno Lossin , Andreas Hindborg , Alice Ryhl , Trevor Gross , Danilo Krummrich , Alexandre Courbot Cc: Greg Kroah-Hartman , rust-for-linux@vger.kernel.org, linux-kernel@vger.kernel.org, linux-modules@vger.kernel.org, Luis Chamberlain , Petr Pavlu , Daniel Gomez , Sami Tolvanen , Aaron Tomlin , Kari Argillander X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1767715983; l=3442; i=kari.argillander@gmail.com; s=20251219; h=from:subject:message-id; bh=DmmtaDAQNblc8YsS6wVHtlUqz9NIYJ5OZn7ml6apuUc=; b=uYBIMLvMg9r/ZOwGJHxD6HePpybjrDmSrwNbtIJYvgRSrcfWVRaic3h5c24eIiIqJmaUBSlPW 8XKbEuvtZb8A9rti2Mh6Q5HGTetYgo061eGl7iK6Gpzab9/0YztStRN X-Developer-Key: i=kari.argillander@gmail.com; a=ed25519; pk=RwSxyhTpE3z4sywdDbIkC3q33ZQLNyhYWxT44iTY6r4= There are now users anymore which use old ThisModule. Also new ThisModule did have couple quirks which where there only to probide fucntionality what old ThisModule provided. Those also are not needed anymore. Closes: https://github.com/Rust-for-Linux/linux/issues/212 Closes: https://github.com/Rust-for-Linux/linux/issues/1176 Signed-off-by: Kari Argillander --- rust/kernel/lib.rs | 47 ----------------------------------------------- rust/kernel/prelude.rs | 2 +- 2 files changed, 1 insertion(+), 48 deletions(-) diff --git a/rust/kernel/lib.rs b/rust/kernel/lib.rs index dec1d05ebe7b..e709f85ec4b5 100644 --- a/rust/kernel/lib.rs +++ b/rust/kernel/lib.rs @@ -201,32 +201,6 @@ fn init() -> impl pin_init::PinInit { } } =20 -/// Equivalent to `THIS_MODULE` in the C API. -/// -/// C header: [`include/linux/init.h`](srctree/include/linux/init.h) -pub struct ThisModule(*mut bindings::module); - -// SAFETY: `THIS_MODULE` may be used from all threads within a module. -unsafe impl Sync for ThisModule {} - -impl ThisModule { - /// Creates a [`ThisModule`] given the `THIS_MODULE` pointer. - /// - /// # Safety - /// - /// The pointer must be equal to the right `THIS_MODULE`. - pub const unsafe fn from_ptr(ptr: *mut bindings::module) -> ThisModule= { - ThisModule(ptr) - } - - /// Access the raw pointer for this module. - /// - /// It is up to the user to use it correctly. - pub const fn as_ptr(&self) -> *mut bindings::module { - self.0 - } -} - pub mod this_module { //! Access to the module identity and ownership information. //! @@ -360,27 +334,6 @@ impl THIS_MODULE { pub const fn name() -> &'static ::kernel::str::CStr { $crate::c_str!($name) } - - // TODO: Temporary to provide functionality old `THIS_MODU= LE` provided. - // SAFETY: `__this_module` is constructed by the kernel at= load time and - // will not be freed until the module is unloaded. - const ThisModule: ::kernel::ThisModule =3D unsafe {{ - ::kernel::ThisModule::from_ptr( - ::OWNER= .as_ptr() - ) - }}; - =20 - /// Gets a pointer to the underlying `struct module`. - // TODO: Temporary to provide functionality old `THIS_MODU= LE` provided. - pub const fn as_ptr(&self) -> *mut ::kernel::bindings::mod= ule {{ - Self::ThisModule.as_ptr() - }} - - /// Gets a reference to the underlying `ThisModule`. - /// TODO: Temporary to provide functionality old `THIS_MOD= ULE` provided. - pub const fn as_ref(&self) -> &'static ::kernel::ThisModul= e {{ - &Self::ThisModule - }} } }; } diff --git a/rust/kernel/prelude.rs b/rust/kernel/prelude.rs index 2877e3f7b6d3..66974ec20ef4 100644 --- a/rust/kernel/prelude.rs +++ b/rust/kernel/prelude.rs @@ -43,7 +43,7 @@ =20 pub use super::error::{code::*, Error, Result}; =20 -pub use super::{str::CStrExt as _, ThisModule}; +pub use super::str::CStrExt as _; =20 pub use super::init::InPlaceInit; =20 --=20 2.43.0