|
|
Log in / Subscribe / Register

rust: Add RTC driver support

From:  Ke Sun <sunke-AT-kylinos.cn>
To:  Alexandre Belloni <alexandre.belloni-AT-bootlin.com>, Miguel Ojeda <ojeda-AT-kernel.org>, Boqun Feng <boqun.feng-AT-gmail.com>, Gary Guo <gary-AT-garyguo.net>, Björn Roy Baron <bjorn3_gh-AT-protonmail.com>, Benno Lossin <lossin-AT-kernel.org>, Andreas Hindborg <a.hindborg-AT-kernel.org>, Alice Ryhl <aliceryhl-AT-google.com>, Trevor Gross <tmgross-AT-umich.edu>, Danilo Krummrich <dakr-AT-kernel.org>
Subject:  [RFC PATCH v2 0/5] rust: Add RTC driver support
Date:  Wed, 07 Jan 2026 22:37:32 +0800
Message-ID:  <20260107143738.3021892-1-sunke@kylinos.cn>
Cc:  linux-rtc-AT-vger.kernel.org, rust-for-linux-AT-vger.kernel.org, Alvin Sun <sk.alvin.x-AT-gmail.com>, Ke Sun <sunke-AT-kylinos.cn>

This patch series adds RTC (Real-Time Clock) driver support for the Rust
kernel, including the necessary infrastructure and a complete driver implementation
for the PL031 RTC.

---
v2:
- Migrate RTC driver data storage from parent device to RTC device for unified interface
- Expand AMBA bus abstractions to full driver support with enhanced functionality
- Refactor device wakeup API by moving wake IRQ setup to IRQ layer
- Simplify RTC core framework by removing multi-bus abstractions, focusing on core operations
- Optimize PL031 driver implementation and remove build assertion dependency

v1: https://lore.kernel.org/rust-for-linux/20260104060621.375...
- Add AMBA bus abstractions
- Add device wakeup support
- Add RTC core framework with multi-bus support
- Add PL031 RTC driver

base-commit:
---

Ke Sun (5):
  rtc: migrate driver data to RTC device
  rust: add AMBA bus driver support
  rust: add device wakeup capability support
  rust: add RTC core abstractions and data structures
  rust: add PL031 RTC driver

 drivers/rtc/Kconfig             |   9 +
 drivers/rtc/Makefile            |   1 +
 drivers/rtc/dev.c               |   4 +-
 drivers/rtc/interface.c         |  18 +-
 drivers/rtc/rtc-pl031.c         |   9 +-
 drivers/rtc/rtc_pl031_rust.rs   | 503 ++++++++++++++++
 rust/bindings/bindings_helper.h |   3 +
 rust/helpers/device.c           |   7 +
 rust/helpers/helpers.c          |   1 +
 rust/helpers/rtc.c              |   9 +
 rust/kernel/amba.rs             | 396 +++++++++++++
 rust/kernel/device.rs           |  17 +-
 rust/kernel/irq/request.rs      |   7 +
 rust/kernel/lib.rs              |   4 +
 rust/kernel/rtc.rs              | 985 ++++++++++++++++++++++++++++++++
 15 files changed, 1954 insertions(+), 19 deletions(-)
 create mode 100644 drivers/rtc/rtc_pl031_rust.rs
 create mode 100644 rust/helpers/rtc.c
 create mode 100644 rust/kernel/amba.rs
 create mode 100644 rust/kernel/rtc.rs

-- 
2.43.0




Copyright © 2026, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds