From: Benno Lossin <lossin@kernel.org>
To: "Miguel Ojeda" <ojeda@kernel.org>,
"Alex Gaynor" <alex.gaynor@gmail.com>,
"Boqun Feng" <boqun.feng@gmail.com>,
"Gary Guo" <gary@garyguo.net>,
"Björn Roy Baron" <bjorn3_gh@protonmail.com>,
"Benno Lossin" <lossin@kernel.org>,
"Andreas Hindborg" <a.hindborg@kernel.org>,
"Alice Ryhl" <aliceryhl@google.com>,
"Trevor Gross" <tmgross@umich.edu>,
"Danilo Krummrich" <dakr@kernel.org>
Cc: rust-for-linux@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [PATCH v3 01/11] rust: add `pin-init` as a dependency to `bindings` and `uapi`
Date: Thu, 14 Aug 2025 11:30:28 +0200 [thread overview]
Message-ID: <20250814093046.2071971-2-lossin@kernel.org> (raw)
In-Reply-To: <20250814093046.2071971-1-lossin@kernel.org>
This allows `bindings` and `uapi` to implement `Zeroable` and use other
items from pin-init.
Co-developed-by: Miguel Ojeda <ojeda@kernel.org>
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
Link: https://rust-for-linux.zulipchat.com/#narrow/channel/291565-Help/topic/Zeroable.20trait.20for.20C.20structs/near/510264158
Signed-off-by: Benno Lossin <lossin@kernel.org>
---
rust/Makefile | 14 ++++++++------
scripts/generate_rust_analyzer.py | 4 ++--
2 files changed, 10 insertions(+), 8 deletions(-)
diff --git a/rust/Makefile b/rust/Makefile
index 4263462b8470..09d4f389240a 100644
--- a/rust/Makefile
+++ b/rust/Makefile
@@ -184,12 +184,12 @@ rusttestlib-kernel: $(src)/kernel/lib.rs rusttestlib-bindings rusttestlib-uapi \
$(obj)/bindings.o FORCE
+$(call if_changed,rustc_test_library)
-rusttestlib-bindings: private rustc_target_flags = --extern ffi
-rusttestlib-bindings: $(src)/bindings/lib.rs rusttestlib-ffi FORCE
+rusttestlib-bindings: private rustc_target_flags = --extern ffi --extern pin_init
+rusttestlib-bindings: $(src)/bindings/lib.rs rusttestlib-ffi rusttestlib-pin_init FORCE
+$(call if_changed,rustc_test_library)
-rusttestlib-uapi: private rustc_target_flags = --extern ffi
-rusttestlib-uapi: $(src)/uapi/lib.rs rusttestlib-ffi FORCE
+rusttestlib-uapi: private rustc_target_flags = --extern ffi --extern pin_init
+rusttestlib-uapi: $(src)/uapi/lib.rs rusttestlib-ffi rusttestlib-pin_init FORCE
+$(call if_changed,rustc_test_library)
quiet_cmd_rustdoc_test = RUSTDOC T $<
@@ -521,17 +521,19 @@ $(obj)/ffi.o: private skip_gendwarfksyms = 1
$(obj)/ffi.o: $(src)/ffi.rs $(obj)/compiler_builtins.o FORCE
+$(call if_changed_rule,rustc_library)
-$(obj)/bindings.o: private rustc_target_flags = --extern ffi
+$(obj)/bindings.o: private rustc_target_flags = --extern ffi --extern pin_init
$(obj)/bindings.o: $(src)/bindings/lib.rs \
$(obj)/ffi.o \
+ $(obj)/pin_init.o \
$(obj)/bindings/bindings_generated.rs \
$(obj)/bindings/bindings_helpers_generated.rs FORCE
+$(call if_changed_rule,rustc_library)
-$(obj)/uapi.o: private rustc_target_flags = --extern ffi
+$(obj)/uapi.o: private rustc_target_flags = --extern ffi --extern pin_init
$(obj)/uapi.o: private skip_gendwarfksyms = 1
$(obj)/uapi.o: $(src)/uapi/lib.rs \
$(obj)/ffi.o \
+ $(obj)/pin_init.o \
$(obj)/uapi/uapi_generated.rs FORCE
+$(call if_changed_rule,rustc_library)
diff --git a/scripts/generate_rust_analyzer.py b/scripts/generate_rust_analyzer.py
index 7c3ea2b55041..fc27f0cca752 100755
--- a/scripts/generate_rust_analyzer.py
+++ b/scripts/generate_rust_analyzer.py
@@ -139,8 +139,8 @@ def generate_crates(srctree, objtree, sysroot_src, external_src, cfgs, core_edit
"exclude_dirs": [],
}
- append_crate_with_generated("bindings", ["core", "ffi"])
- append_crate_with_generated("uapi", ["core", "ffi"])
+ append_crate_with_generated("bindings", ["core", "ffi", "pin_init"])
+ append_crate_with_generated("uapi", ["core", "ffi", "pin_init"])
append_crate_with_generated("kernel", ["core", "macros", "build_error", "pin_init", "ffi", "bindings", "uapi"])
def is_root_crate(build_file, target):
--
2.50.1
next prev parent reply other threads:[~2025-08-14 9:31 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-08-14 9:30 [PATCH v3 00/11] `Zeroable` improvements & bindings integration Benno Lossin
2025-08-14 9:30 ` Benno Lossin [this message]
2025-08-27 17:30 ` [PATCH v3 01/11] rust: add `pin-init` as a dependency to `bindings` and `uapi` Alice Ryhl
2025-08-14 9:30 ` [PATCH v3 02/11] rust: derive `Zeroable` for all structs & unions generated by bindgen where possible Benno Lossin
2025-08-27 17:30 ` Alice Ryhl
2025-08-14 9:30 ` [PATCH v3 03/11] rust: miscdevice: replace `MaybeUninit::zeroed().assume_init()` with `pin_init::zeroed()` Benno Lossin
2025-08-14 9:30 ` [PATCH v3 04/11] rust: phy: " Benno Lossin
2025-08-14 9:30 ` [PATCH v3 05/11] rust: block: replace `core::mem::zeroed` with `pin_init::zeroed` Benno Lossin
2025-09-17 10:52 ` Andreas Hindborg
2025-08-14 9:30 ` [PATCH v3 06/11] rust: of: " Benno Lossin
2025-08-14 9:30 ` [PATCH v3 07/11] rust: security: " Benno Lossin
2025-08-14 15:19 ` Paul Moore
2025-08-14 15:31 ` Miguel Ojeda
2025-08-14 15:33 ` Miguel Ojeda
2025-08-14 15:38 ` Benno Lossin
2025-08-14 17:42 ` Miguel Ojeda
2025-08-14 15:54 ` Paul Moore
2025-08-14 17:28 ` Benno Lossin
2025-08-14 22:01 ` Paul Moore
2025-08-14 17:48 ` Miguel Ojeda
2025-08-14 9:30 ` [PATCH v3 08/11] rust: drm: " Benno Lossin
2025-08-14 9:30 ` [PATCH v3 09/11] rust: auxiliary: " Benno Lossin
2025-08-14 9:30 ` [PATCH v3 10/11] rust: acpi: " Benno Lossin
2025-08-14 9:30 ` [PATCH v3 11/11] rust: cpufreq: replace `MaybeUninit::zeroed().assume_init()` with `pin_init::zeroed()` Benno Lossin
2025-08-14 9:33 ` Viresh Kumar
2025-08-27 17:19 ` [PATCH v3 00/11] `Zeroable` improvements & bindings integration Alice Ryhl
2025-09-20 10:31 ` Benno Lossin
2025-09-08 12:04 ` Miguel Ojeda
2025-09-20 10:45 ` Benno Lossin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250814093046.2071971-2-lossin@kernel.org \
--to=lossin@kernel.org \
--cc=a.hindborg@kernel.org \
--cc=alex.gaynor@gmail.com \
--cc=aliceryhl@google.com \
--cc=bjorn3_gh@protonmail.com \
--cc=boqun.feng@gmail.com \
--cc=dakr@kernel.org \
--cc=gary@garyguo.net \
--cc=linux-kernel@vger.kernel.org \
--cc=ojeda@kernel.org \
--cc=rust-for-linux@vger.kernel.org \
--cc=tmgross@umich.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.