linux/rust/kernel
FUJITA Tomonori cc6d1098b4 rust: time: Add ktime_get() to ClockSource trait
Introduce the ktime_get() associated function to the ClockSource
trait, allowing each clock source to specify how it retrieves the
current time. This enables Instant::now() to be implemented
generically using the type-level ClockSource abstraction.

This change enhances the type safety and extensibility of timekeeping
by statically associating time retrieval mechanisms with their
respective clock types. It also reduces the reliance on hardcoded
clock logic within Instant.

Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
Link: https://lore.kernel.org/r/20250610093258.3435874-4-fujita.tomonori@gmail.com
Signed-off-by: Andreas Hindborg <a.hindborg@kernel.org>
2025-06-16 15:02:29 +02:00
..
alloc rust: alloc: add missing Markdown code span 2025-05-25 22:58:35 +02:00
block rust: convert raw URLs to Markdown autolinks in comments 2025-05-12 00:20:25 +02:00
drm Rust changes for v6.16 2025-06-04 21:18:37 -07:00
fs rust: file: improve safety comments 2025-05-30 07:12:05 +02:00
list rust: list: Fix typo `much` in arc.rs 2025-05-29 23:35:44 +02:00
mm mm: rust: make CONFIG_MMU ifdefs more narrow 2025-05-31 22:46:12 -07:00
net net: phy: pass PHY driver to .match_phy_device OP 2025-05-21 15:56:09 -07:00
sync Rust changes for v6.16 2025-06-04 21:18:37 -07:00
time rust: time: Replace ClockId enum with ClockSource trait 2025-06-16 15:01:37 +02:00
.gitignore rust: jump_label: skip formatting generated file 2024-11-20 13:32:42 -05:00
alloc.rs rust: alloc: add missing Markdown code spans 2025-05-25 22:58:35 +02:00
auxiliary.rs Rust changes for v6.16 2025-06-04 21:18:37 -07:00
block.rs rust: block: introduce `kernel::block::mq` module 2024-06-14 07:45:04 -06:00
build_assert.rs rust: add `build_error!` to the prelude 2025-01-10 00:19:09 +01:00
clk.rs rust: clk: Add initial abstractions 2025-05-19 12:55:40 +05:30
configfs.rs Rust changes for v6.16 2025-06-04 21:18:37 -07:00
cpu.rs rust: cpu: Add CpuId::current() to retrieve current CPU ID 2025-06-12 10:31:28 +05:30
cpufreq.rs rust: Use CpuId in place of raw CPU numbers 2025-06-12 10:31:28 +05:30
cpumask.rs rust: Use CpuId in place of raw CPU numbers 2025-06-12 10:31:28 +05:30
cred.rs cred,rust: mark Credential methods inline 2025-03-04 17:07:49 -05:00
device.rs Rust changes for v6.16 2025-06-04 21:18:37 -07:00
device_id.rs rust: use absolute paths in macros referencing core and kernel 2025-05-23 00:12:14 +02:00
devres.rs rust: devres: fix doctest build under `!CONFIG_PCI` 2025-05-12 09:35:44 +02:00
dma.rs Rust changes for v6.16 2025-06-04 21:18:37 -07:00
driver.rs rust: make pin-init its own crate 2025-03-16 21:59:19 +01:00
error.rs Rust changes for v6.15 2025-03-30 17:03:26 -07:00
faux.rs rust/kernel/faux: mark Registration methods inline 2025-03-11 10:42:23 +01:00
firmware.rs rust: firmware: Use `ffi::c_char` type in `FwFunc` 2025-04-14 14:13:23 +02:00
fs.rs rust: file: add Rust abstraction for `struct file` 2024-09-30 13:02:28 +02:00
generated_arch_static_branch_asm.rs.S rust: jump_label: skip formatting generated file 2024-11-20 13:32:42 -05:00
init.rs Rust changes for v6.15 2025-03-30 17:03:26 -07:00
io.rs rust: io: rename `io::Io` accessors 2025-02-22 15:44:19 +01:00
ioctl.rs rust: start using the `#[expect(...)]` attribute 2024-10-07 21:39:57 +02:00
jump_label.rs rust: jump_label: skip formatting generated file 2024-11-20 13:32:42 -05:00
kunit.rs rust: add `kunit_tests` to the prelude 2025-05-27 20:09:59 +02:00
lib.rs Rust changes for v6.16 2025-06-04 21:18:37 -07:00
list.rs rust: list: Add examples for linked list 2025-05-22 12:00:52 +02:00
miscdevice.rs Char/Misc/IIO pull request for 6.16-rc1 2025-06-06 11:50:47 -07:00
mm.rs mm: rust: make CONFIG_MMU ifdefs more narrow 2025-05-31 22:46:12 -07:00
net.rs rust: core abstractions for network PHY drivers 2023-12-15 09:35:50 +00:00
of.rs rust: of: add `of::DeviceId` abstraction 2024-12-20 17:21:04 +01:00
opp.rs rust: opp: Move `cfg(CONFIG_OF)` attribute to the top of doc test 2025-05-27 15:29:17 +02:00
page.rs rust: page: optimize rust symbol generation for Page 2025-05-12 00:20:25 +02:00
pci.rs Rust changes for v6.16 2025-06-04 21:18:37 -07:00
pid_namespace.rs rust: add PidNamespace 2024-10-08 15:44:36 +02:00
platform.rs Rust changes for v6.16 2025-06-04 21:18:37 -07:00
prelude.rs rust: add `kunit_tests` to the prelude 2025-05-27 20:09:59 +02:00
print.rs rust: replace rustdoc references to alloc::format 2025-05-12 00:20:25 +02:00
rbtree.rs rust: retain pointer mut-ness in `container_of!` 2025-05-28 18:54:09 +02:00
revocable.rs rust: revocable: implement Revocable::access() 2025-05-04 17:43:45 +02:00
security.rs lsm,rust: reword "destroy" -> "release" in SecurityCtx 2025-03-04 15:44:46 -05:00
seq_file.rs Rust changes for v6.15 2025-03-30 17:03:26 -07:00
sizes.rs rust: sizes: add commonly used constants 2024-08-30 10:27:34 +01:00
static_assert.rs rust: use absolute paths in macros referencing core and kernel 2025-05-23 00:12:14 +02:00
std_vendor.rs rust: convert raw URLs to Markdown autolinks in comments 2025-05-12 00:20:25 +02:00
str.rs rust: str: take advantage of the `-> Result` support in KUnit `#[test]`'s 2025-05-27 20:09:59 +02:00
sync.rs Rust changes for v6.15 2025-03-30 17:03:26 -07:00
task.rs rust: task: add missing Markdown code spans and intra-doc links 2025-05-25 22:58:35 +02:00
time.rs rust: time: Add ktime_get() to ClockSource trait 2025-06-16 15:02:29 +02:00
tracepoint.rs rust: add tracepoint support 2024-11-04 16:21:44 -05:00
transmute.rs rust: kernel: move `FromBytes` and `AsBytes` traits to a new `transmute` module 2024-10-10 00:33:42 +02:00
types.rs Rust changes for v6.16 2025-06-04 21:18:37 -07:00
uaccess.rs Alloc changes for v6.16 2025-05-18 20:56:03 +02:00
workqueue.rs rust: workqueue: remove HasWork::OFFSET 2025-05-29 01:34:52 +02:00
xarray.rs rust: xarray: Add an abstraction for XArray 2025-05-01 11:37:59 +02:00