From nobody Mon Feb 9 00:42:54 2026 Received: from mail-lf1-f46.google.com (mail-lf1-f46.google.com [209.85.167.46]) (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 1871E349B06 for ; Sat, 10 Jan 2026 15:09:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.46 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768057795; cv=none; b=lybBZJmmECNaNR69sjnp2uO2m31yqlAIbF/tBxil77VF66e51p1x9KDP0mgxIbOjrRhZ0Mh0lVUJNV26F6q3DkSM+tEtmgcsHnC9cYTC2WptGWQSRK29c9fSMfcYtuX8SuiohH1+4HlTipPu7kFGCjK3Bdz/Ftkeg2wkKZ7lX+s= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768057795; c=relaxed/simple; bh=evAHr1gD6EfPZW8LvM5pPL6GuIcZSSelhlqgoHK4/G4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=pTSnGrR1xRYxLOlRdHwXR/2REE6/Jk1Y8FmtZTJBlW1T7lSpWBLE51ZsCs4NR3rkp7U1Obh0vEvxMpjBE1cQ+snht21ZjzWpvazAIjSYyBN+4kaYROiIZPeeFvqekljnHkSsl7tP2NQXdgu9OAv5xXgLxf80469IZcqQcEEK8oY= 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=jprEPOu0; arc=none smtp.client-ip=209.85.167.46 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="jprEPOu0" Received: by mail-lf1-f46.google.com with SMTP id 2adb3069b0e04-59b76844f89so2762737e87.1 for ; Sat, 10 Jan 2026 07:09:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1768057787; x=1768662587; 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=csZdrKP5V1PNFMXR8xX+/RBApYgeOuQXpn5FzbDjqFQ=; b=jprEPOu0JzVzUqPgkTNFG82LEhmBmd8CMiU24akxRrZ81ucHFywlnF2Hxl3iuD+zs8 ivkU4jY33zar8xxSnocmAIgMNQRMiXOG8xUTVoNOzUIz/5ehNP8Wg2YeGTJ/yJNzXzD2 LWWTGI/TqEDtS1wxmM7z5IG1KvC7Z5FbCM7BKeGlvwoT5l11RSh5utFkRdvEIMlJwlDI jD3nV2IBfdaBJ8IEeTfDsTx5/3cnJsZ/Ftb39BWQuEhdPu1MPXevjtLbOSXy0SfNt8HF JDL6NQNEooW+V4RvzzCFw1S1/zeQFpwB+Cp61bgtT9a/4DzZkL4sM2lpKexJ/Sc1bxGM Odzw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768057787; x=1768662587; 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=csZdrKP5V1PNFMXR8xX+/RBApYgeOuQXpn5FzbDjqFQ=; b=W7ku+Honlcan9AT086uWqRJtHLwoV2TG2UfhOQsFzDIhZuje52APM6YgGEJZzIO+2V LvBmiDSVqMntF6cPI8tYldofKSF/BfZg7zgMU9K8WYj5E7QommNNYkcPf6Ti7kKXPGuX yLEOMGrsFopSLUuzA4pPSsEtmMGBagi/dR+9weNn5CW2Ka1MuMUjIMwKIQYF8wvD62j8 E8ZslR713EveStn3C0Ay+9gxYl8L2Bm92z8hONvUR/ZMbjVOWRfScTZ4Awz3HZGfUNtX bcN36qbvLIOWWawYuC7z5F/HNjM2hI/iSmDk+spfoAVMyPtmW56sczZUZP8NsbXlBIq4 EXBg== X-Forwarded-Encrypted: i=1; AJvYcCUouQJ0nDVQLWHldZitaVRVtjpNFbm1mfbLjsggJrEf0DpsdAhOZDSme9RH/RlvDJ++UYGCnlLuAl/Pihk=@vger.kernel.org X-Gm-Message-State: AOJu0YzGKzaLdw53KuW1hrq81cMMbnmRwRxJSAKahnuXunhPdhELI1La OugodPyiA/4ZPpw4JIo6t0KWCzOiXvwqVt2LJ0zVz4btJ3kehua5Yvl/ X-Gm-Gg: AY/fxX56cJPHXH07aukW0wjsxPcPBXeTl+r/KmliC4ErgJZdjJndmlRI/KJ8K48aC7P Yp1Kn+GMkq37MerJSFFH+anhMwmJ73S3AmhL79c45drpeJsmppaYnj4GUXO9ZWyTwZegdL7xXhH U92fstu9U9n9+H7g8Ts8DjMFvoucpBg61qRsdN621H2gE6fJhT0QBESgurPCduZD8UmZY3RhHuf yaqCl4JInfvo1wommUHu8SBekxNNQ3ZmJlZAiBKrGD67Ued1TWHJL89G/KTU8DOxy3Dk3jJHnHK 3kLGODIQ+KvPOGqf+CheU8yHYmnji5bJrgWWHtD/KC9XvwZilYZWQB7JI1HIvbalFMoM8CqLPYy dz5nkoA18I5sEBOY1e6dITPt19eU/CtydFIuZKpMLMUrgi8o2Btp4OviIeXmvNB0aCKKprG+2sa anL4Nyl1/b7L3BKLT9ho8PXaDOvI//QU5bNl6U2v2MnTw2END4RVDVL9Ql54jbskESY5GBBft1 X-Google-Smtp-Source: AGHT+IFBX48hY3Q9PVP8SQO8XCpmSVoMleJSOwz7zkGOzjVdL6fPS2OSYcR91pM3G3FgTl60Yxo2Rg== X-Received: by 2002:a05:6512:3da7:b0:594:253c:209f with SMTP id 2adb3069b0e04-59b6f03520dmr4616760e87.39.1768057786509; Sat, 10 Jan 2026 07:09:46 -0800 (PST) Received: from LT-5CG5341NQ4.nordic.imtech.com (37-33-148-7.bb.dnainternet.fi. [37.33.148.7]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-59b75543a64sm2137059e87.49.2026.01.10.07.09.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 10 Jan 2026 07:09:45 -0800 (PST) From: Kari Argillander Date: Sat, 10 Jan 2026 17:08:13 +0200 Subject: [PATCH RFC v3 15/15] 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: <20260110-this_module_fix-v3-15-97a3d9c14e8b@gmail.com> References: <20260110-this_module_fix-v3-0-97a3d9c14e8b@gmail.com> In-Reply-To: <20260110-this_module_fix-v3-0-97a3d9c14e8b@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=1768057742; l=3438; i=kari.argillander@gmail.com; s=20251219; h=from:subject:message-id; bh=evAHr1gD6EfPZW8LvM5pPL6GuIcZSSelhlqgoHK4/G4=; b=PFKAsdYOgAKKCPm1WVwlkXpmaaN/dpAj9cbBEmgQyEeJJ4usBhD6p46VpXhsFr7jQVDIR8GLy nz5qXpoXcCEDRCygmv7YowFfq5KDSq1Gvbqm9IS5/ewHkyP6TQswkse 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 3acc60a83b09..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() - ) - }}; - - /// 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