* [PATCH v2 1/3] rust: bitmap: add __rust_helper to helpers
2025-12-17 13:51 [PATCH v2 0/3] bitmap: add __rust_helper to helpers Alice Ryhl
@ 2025-12-17 13:51 ` Alice Ryhl
2025-12-17 13:51 ` [PATCH v2 2/3] rust: bitops: " Alice Ryhl
2025-12-17 13:51 ` [PATCH v2 3/3] rust: cpumask: " Alice Ryhl
2 siblings, 0 replies; 4+ messages in thread
From: Alice Ryhl @ 2025-12-17 13:51 UTC (permalink / raw)
To: Yury Norov; +Cc: rust-for-linux, linux-kernel, Alice Ryhl, Boqun Feng, Gary Guo
This is needed to inline these helpers into Rust code.
Reviewed-by: Boqun Feng <boqun.feng@gmail.com>
Reviewed-by: Gary Guo <gary@garyguo.net>
Signed-off-by: Alice Ryhl <aliceryhl@google.com>
---
rust/helpers/bitmap.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/rust/helpers/bitmap.c b/rust/helpers/bitmap.c
index a50e2f082e47..e4e9f4361270 100644
--- a/rust/helpers/bitmap.c
+++ b/rust/helpers/bitmap.c
@@ -2,6 +2,7 @@
#include <linux/bitmap.h>
+__rust_helper
void rust_helper_bitmap_copy_and_extend(unsigned long *to, const unsigned long *from,
unsigned int count, unsigned int size)
{
--
2.52.0.305.g3fc767764a-goog
^ permalink raw reply [flat|nested] 4+ messages in thread* [PATCH v2 2/3] rust: bitops: add __rust_helper to helpers
2025-12-17 13:51 [PATCH v2 0/3] bitmap: add __rust_helper to helpers Alice Ryhl
2025-12-17 13:51 ` [PATCH v2 1/3] rust: " Alice Ryhl
@ 2025-12-17 13:51 ` Alice Ryhl
2025-12-17 13:51 ` [PATCH v2 3/3] rust: cpumask: " Alice Ryhl
2 siblings, 0 replies; 4+ messages in thread
From: Alice Ryhl @ 2025-12-17 13:51 UTC (permalink / raw)
To: Yury Norov; +Cc: rust-for-linux, linux-kernel, Alice Ryhl, Boqun Feng, Gary Guo
This is needed to inline these helpers into Rust code.
Reviewed-by: Boqun Feng <boqun.feng@gmail.com>
Reviewed-by: Gary Guo <gary@garyguo.net>
Signed-off-by: Alice Ryhl <aliceryhl@google.com>
---
rust/helpers/bitops.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/rust/helpers/bitops.c b/rust/helpers/bitops.c
index 5d0861d29d3f..f875692ead30 100644
--- a/rust/helpers/bitops.c
+++ b/rust/helpers/bitops.c
@@ -2,21 +2,25 @@
#include <linux/bitops.h>
+__rust_helper
void rust_helper___set_bit(unsigned long nr, unsigned long *addr)
{
__set_bit(nr, addr);
}
+__rust_helper
void rust_helper___clear_bit(unsigned long nr, unsigned long *addr)
{
__clear_bit(nr, addr);
}
+__rust_helper
void rust_helper_set_bit(unsigned long nr, volatile unsigned long *addr)
{
set_bit(nr, addr);
}
+__rust_helper
void rust_helper_clear_bit(unsigned long nr, volatile unsigned long *addr)
{
clear_bit(nr, addr);
--
2.52.0.305.g3fc767764a-goog
^ permalink raw reply [flat|nested] 4+ messages in thread* [PATCH v2 3/3] rust: cpumask: add __rust_helper to helpers
2025-12-17 13:51 [PATCH v2 0/3] bitmap: add __rust_helper to helpers Alice Ryhl
2025-12-17 13:51 ` [PATCH v2 1/3] rust: " Alice Ryhl
2025-12-17 13:51 ` [PATCH v2 2/3] rust: bitops: " Alice Ryhl
@ 2025-12-17 13:51 ` Alice Ryhl
2 siblings, 0 replies; 4+ messages in thread
From: Alice Ryhl @ 2025-12-17 13:51 UTC (permalink / raw)
To: Yury Norov; +Cc: rust-for-linux, linux-kernel, Alice Ryhl, Boqun Feng, Gary Guo
This is needed to inline these helpers into Rust code.
Reviewed-by: Boqun Feng <boqun.feng@gmail.com>
Reviewed-by: Gary Guo <gary@garyguo.net>
Signed-off-by: Alice Ryhl <aliceryhl@google.com>
---
rust/helpers/cpumask.c | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/rust/helpers/cpumask.c b/rust/helpers/cpumask.c
index eb10598a0242..5deced5b975e 100644
--- a/rust/helpers/cpumask.c
+++ b/rust/helpers/cpumask.c
@@ -2,67 +2,80 @@
#include <linux/cpumask.h>
+__rust_helper
void rust_helper_cpumask_set_cpu(unsigned int cpu, struct cpumask *dstp)
{
cpumask_set_cpu(cpu, dstp);
}
+__rust_helper
void rust_helper___cpumask_set_cpu(unsigned int cpu, struct cpumask *dstp)
{
__cpumask_set_cpu(cpu, dstp);
}
+__rust_helper
void rust_helper_cpumask_clear_cpu(int cpu, struct cpumask *dstp)
{
cpumask_clear_cpu(cpu, dstp);
}
+__rust_helper
void rust_helper___cpumask_clear_cpu(int cpu, struct cpumask *dstp)
{
__cpumask_clear_cpu(cpu, dstp);
}
+__rust_helper
bool rust_helper_cpumask_test_cpu(int cpu, struct cpumask *srcp)
{
return cpumask_test_cpu(cpu, srcp);
}
+__rust_helper
void rust_helper_cpumask_setall(struct cpumask *dstp)
{
cpumask_setall(dstp);
}
+__rust_helper
bool rust_helper_cpumask_empty(struct cpumask *srcp)
{
return cpumask_empty(srcp);
}
+__rust_helper
bool rust_helper_cpumask_full(struct cpumask *srcp)
{
return cpumask_full(srcp);
}
+__rust_helper
unsigned int rust_helper_cpumask_weight(struct cpumask *srcp)
{
return cpumask_weight(srcp);
}
+__rust_helper
void rust_helper_cpumask_copy(struct cpumask *dstp, const struct cpumask *srcp)
{
cpumask_copy(dstp, srcp);
}
+__rust_helper
bool rust_helper_alloc_cpumask_var(cpumask_var_t *mask, gfp_t flags)
{
return alloc_cpumask_var(mask, flags);
}
+__rust_helper
bool rust_helper_zalloc_cpumask_var(cpumask_var_t *mask, gfp_t flags)
{
return zalloc_cpumask_var(mask, flags);
}
#ifndef CONFIG_CPUMASK_OFFSTACK
+__rust_helper
void rust_helper_free_cpumask_var(cpumask_var_t mask)
{
free_cpumask_var(mask);
--
2.52.0.305.g3fc767764a-goog
^ permalink raw reply [flat|nested] 4+ messages in thread