linux/rust/kernel
Gary Guo 631adefcac rust: io: register: remove relative registers
Relative registers can be better served by projection to subregion instead
of ad-hoc handling in register macro. Projection composes better (e.g. it
natively allows relative registers of relative registers without needing
additional support).

Remove relative register support, and update the documentation to
demonstrate how projection and subregions can be used to achieve this
instead.

Reviewed-by: Alexandre Courbot <acourbot@nvidia.com>
Signed-off-by: Gary Guo <gary@garyguo.net>
Tested-by: Alexandre Courbot <acourbot@nvidia.com>
Link: https://patch.msgid.link/20260901-typed_register-v4-14-5552b1d59525@garyguo.net
Signed-off-by: Danilo Krummrich <dakr@kernel.org>
2026-09-06 13:39:49 +02:00
..
alloc drm for 7.3-rc1 2026-08-21 08:41:00 -07:00
block rust: block: fix GenDisk cleanup paths 2026-05-31 19:45:06 -06:00
debugfs rust: debugfs: remove unsafe blocks from traits impl for Vec 2026-07-31 11:08:29 +02:00
device rust: device: replace kernel::c_str! with C-Strings 2025-12-22 17:30:24 +01:00
drm drm for 7.3-rc1 2026-08-21 08:41:00 -07:00
fs rust: fs: add file::Offset type alias 2025-11-05 00:05:38 +01:00
gpu rust: gpu: Add GPU buddy allocator bindings 2026-03-23 21:41:47 +01:00
interop rust: interop: Add list module for C linked list interface 2026-03-23 20:29:28 +01:00
io rust: io: register: remove relative registers 2026-09-06 13:39:49 +02:00
iommu drm for 7.3-rc1 2026-08-21 08:41:00 -07:00
irq rust: irq: make Registration compatible with lifetime-bound drivers 2026-08-04 23:30:34 +02:00
list Locking updates for v7.1: 2026-04-14 12:36:25 -07:00
mm mm: rename zap_page_range_single() to zap_vma_range() 2026-04-05 13:53:15 -07:00
net Char/Misc/IIO/etc driver update for 7.3-rc1 2026-08-25 09:38:50 -07:00
num rust: num: restrict bool conversion to unsigned Bounded 2026-08-24 13:21:12 +02:00
pci rust: pci: expose the allocated interrupt type 2026-08-17 01:43:31 +02:00
ptr rust: ptr: remove implicit index projection syntax 2026-06-05 10:16:47 +02:00
str rust: str: add radix prefixed integer parsing functions 2025-11-03 14:40:45 +01:00
sync rust: mem: add transmute with deferred size check 2026-09-06 13:39:26 +02:00
time hrtimer: add usage examples to documentation 2026-03-23 08:31:00 +01:00
types rust: types: introduce ForLt base trait for CovariantForLt 2026-07-11 19:42:03 +02:00
.gitignore
acpi.rs rust: driver: store pointers in DeviceId 2026-07-30 22:50:15 +02:00
alloc.rs rust: alloc: cleanup imports and use "kernel vertical" style 2026-05-20 17:34:17 +02:00
auxiliary.rs Driver core changes for 7.3-rc1 2026-08-19 10:42:18 -07:00
bitfield.rs rust: io: perform conversions using AsRepr 2026-09-06 13:39:48 +02:00
bitmap.rs rust: tests: add Kconfig for KUnit test 2026-06-08 02:30:33 +02:00
bits.rs rust: bits: always inline functions using build_assert with arguments 2026-01-18 20:40:11 +01:00
block.rs
bug.rs rust: bug: fix warn_on macro build error on UML 2026-08-10 07:14:24 +02:00
build_assert.rs rust: make build_assert module the home of related macros 2026-06-10 09:07:13 +02:00
clk.rs rust: clk: implement Send and Sync 2026-04-03 11:57:35 +02:00
configfs.rs rust: configfs: use LocalModule for THIS_MODULE 2026-08-12 09:36:26 +02:00
cpu.rs
cpufreq.rs CPUFreq arm updates for 7.3 2026-08-06 13:25:02 +02:00
cpumask.rs rust: cpumask: rename methods of Cpumask for clarity and consistency 2026-01-27 11:21:23 +05:30
cred.rs Char/Misc/IIO/Binder changes for 6.18-rc1 2025-10-04 16:26:32 -07:00
debugfs.rs rust: debugfs: Use kernel Atomic type in docs example 2026-01-19 15:02:46 +01:00
device_id.rs rust: mem: add transmute with deferred size check 2026-09-06 13:39:26 +02:00
device.rs Linux 7.2-rc7 2026-08-10 01:20:05 +02:00
devres.rs Linux 7.2 2026-08-20 10:58:44 +10:00
dma.rs drm for 7.3-rc1 2026-08-21 08:41:00 -07:00
driver.rs rust: driver: remove open-coded matching logic 2026-07-30 22:50:15 +02:00
error.rs rust: error: add remaining error codes 2026-08-10 07:57:34 +02:00
faux.rs rust: faux: add Device type with AsBusDevice support 2026-07-12 15:55:51 +02:00
firmware.rs drm for 7.3-rc1 2026-08-21 08:41:00 -07:00
fmt.rs rust: fmt: route {:p} through HashedPtr to prevent address leaks 2026-08-12 11:58:50 +02:00
fs.rs
fwctl.rs fwctl 7.3 pull request 2026-08-19 12:51:36 -07:00
generated_arch_reachable_asm.rs.S
generated_arch_static_branch_asm.rs.S
generated_arch_warn_asm.rs.S
gpu.rs rust: gpu: Add GPU buddy allocator bindings 2026-03-23 21:41:47 +01:00
i2c.rs i2c for v7.3, part 2 2026-08-24 09:07:15 -07:00
id_pool.rs rust: id_pool: do not immediately acquire new ids 2025-12-02 14:17:09 -05:00
impl_flags.rs rust: impl_flags: use bit helper in example 2026-08-10 06:44:10 +02:00
init.rs rust: treewide: replace __pinned_init with raw_[try_]init 2026-08-05 11:36:18 +01:00
interop.rs rust: interop: Add list module for C linked list interface 2026-03-23 20:29:28 +01:00
interrupt.rs rust: Introduce interrupt module 2026-08-10 12:53:09 +02:00
io.rs rust: io: register: make register have a typed base 2026-09-06 13:39:49 +02:00
ioctl.rs rust: make build_assert module the home of related macros 2026-06-10 09:07:13 +02:00
iov.rs
irq.rs rust: irq: fix C header path in module docs 2026-07-21 00:48:45 +02:00
jump_label.rs rust: jump_label: skip arch-specific asm in testlib builds 2026-08-23 21:27:16 +02:00
Kconfig.test rust: bitfield: Add KUnit tests for bitfield 2026-06-09 04:13:07 +02:00
kunit.rs kunit,rust: Add ability to skip entire test suites 2026-06-29 15:48:26 -06:00
lib.rs rust: mem: add transmute with deferred size check 2026-09-06 13:39:26 +02:00
list.rs rust: kernel: list: fix incorrect pop_back example comment 2026-08-23 21:27:16 +02:00
maple_tree.rs rust: maple_tree: rcu_read_lock() in destructor to silence lockdep 2025-12-23 11:23:15 -08:00
mem.rs rust: mem: add AsRepr and AsReprMut 2026-09-06 13:39:44 +02:00
miscdevice.rs Char/Misc/IIO/etc driver update for 7.3-rc1 2026-08-25 09:38:50 -07:00
mm.rs
module_param.rs rust: module_param: support bool parameters 2026-08-06 13:29:03 +02:00
module.rs rust: module: add THIS_MODULE const to ModuleMetadata trait 2026-08-12 09:36:26 +02:00
num.rs rust: add functions and traits for lossless integer conversions 2026-08-13 13:41:28 +02:00
of.rs rust: driver: store pointers in DeviceId 2026-07-30 22:50:15 +02:00
opp.rs opp: rust: mark OPP methods as inline 2026-05-25 09:40:52 +05:30
page.rs mm.git review status for mm-hotfixes-stable..mm-stable 2026-06-19 10:14:34 -07:00
pci.rs drm for 7.3-rc1 2026-08-21 08:41:00 -07:00
pid_namespace.rs
platform.rs Driver core changes for 7.3-rc1 2026-08-19 10:42:18 -07:00
prelude.rs rust: prelude: add zerocopy{,_derive}::IntoBytes 2026-06-17 00:32:42 +02:00
print.rs rust: print: fix broken _printk Rustdoc link 2026-08-03 08:03:24 +02:00
processor.rs
ptr.rs rust: io: add dynamically-sized Region type 2026-07-11 17:42:56 +02:00
pwm.rs pwm: Changes for v7.3-rc1 2026-08-19 09:03:59 -07:00
rbtree.rs Rust changes for v6.20 / v7.0 2026-02-10 11:53:01 -08:00
regulator.rs rust: regulator: do not assume that regulator_get() returns non-null 2026-03-24 13:08:21 +00:00
revocable.rs rust: revocable: Use LKMM atomics instead of Rust atomics 2026-08-04 05:52:54 -07:00
safety.rs rust: safety: introduce unsafe_precondition_assert! macro 2026-02-02 08:10:48 +01:00
scatterlist.rs rust: scatterlist: Update ARef imports to use sync::aref 2025-12-18 17:25:45 +01:00
security.rs rust_binder: add Rust Binder driver 2025-09-19 09:40:46 +02:00
seq_file.rs rust: seq_file: replace kernel::c_str! with C-Strings 2026-01-29 15:32:40 +01:00
serdev.rs Driver core changes for 7.3-rc1 2026-08-19 10:42:18 -07:00
sizes.rs rust: sizes: add SizeConstants trait for device address space constants 2026-04-07 12:57:50 +02:00
soc.rs rust: Add soc_device support 2025-12-28 12:43:56 +01:00
std_vendor.rs
str.rs rust: str: clean unused import for Rust >= 1.98 2026-06-10 09:07:13 +02:00
sync.rs RCU updates: 2026-08-23 18:00:22 -07:00
task.rs Char/Misc/IIO/etc driver update for 7.3-rc1 2026-08-25 09:38:50 -07:00
time.rs rust: time: add Delta::as_millis_ceil() 2026-08-11 11:34:06 +02:00
tracepoint.rs
transmute.rs rust: transmute: simplify code with Rust 1.80.0 split_at_*checked() 2026-04-07 10:00:24 +02:00
types.rs Driver core changes for 7.3-rc1 2026-08-19 10:42:18 -07:00
uaccess.rs Char/Misc/IIO/and others driver updates for 7.1-rc1 2026-04-24 13:23:50 -07:00
usb.rs USB / Thunderbolt changes for 7.3-rc1 2026-08-25 10:44:46 -07:00
workqueue.rs rust: workqueue: use new sync::aref path for imports 2026-03-26 15:45:34 +00:00
xarray.rs rust: make build_assert module the home of related macros 2026-06-10 09:07:13 +02:00