[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <cover.1712314032.git.viresh.kumar@linaro.org>
Date: Fri, 5 Apr 2024 16:39:37 +0530
From: Viresh Kumar <viresh.kumar@...aro.org>
To: "Rafael J. Wysocki" <rafael@...nel.org>,
Miguel Ojeda <miguel.ojeda.sandonis@...il.com>,
Alex Gaynor <alex.gaynor@...il.com>,
Alice Ryhl <aliceryhl@...gle.com>,
Andreas Hindborg <a.hindborg@...sung.com>,
Benno Lossin <benno.lossin@...ton.me>,
Björn Roy Baron <bjorn3_gh@...tonmail.com>,
Boqun Feng <boqun.feng@...il.com>,
Gary Guo <gary@...yguo.net>,
Miguel Ojeda <ojeda@...nel.org>,
Viresh Kumar <viresh.kumar@...aro.org>,
Wedson Almeida Filho <wedsonaf@...il.com>
Cc: linux-pm@...r.kernel.org,
Vincent Guittot <vincent.guittot@...aro.org>,
Stephen Boyd <sboyd@...nel.org>,
Nishanth Menon <nm@...com>,
rust-for-linux@...r.kernel.org,
Manos Pitsidianakis <manos.pitsidianakis@...aro.org>,
Erik Schilling <erik.schilling@...aro.org>,
Alex Bennée <alex.bennee@...aro.org>,
Joakim Bech <joakim.bech@...aro.org>,
linux-kernel@...r.kernel.org
Subject: [RFC PATCH 0/3] Rust bindings for cpufreq and OPP core + sample driver
Hello,
This RFC adds initial rust bindings for two subsystems, cpufreq and operating
performance points (OPP). The bindings are provided for most of the interface
these subsystems expose.
This series also provides a sample cpufreq driver rcpufreq-dt, which is a
duplicate of the merged cpufreq-dt driver (A generic platform agnostic device
tree based cpufreq driver) used on most of the ARM platforms.
This is tested with the help of QEMU for now and frequency transitions and
configurations work as expected. No performance measurement is done as of now
with this.
These patches (along with a lot of other dependencies) are pushed here for
anyone to give them a try:
git://git.kernel.org/pub/scm/linux/kernel/git/vireshk/linux.git rust/cpufreq-dt
I understand that there is a long road ahead before these patches can get merged
as a lot of other stuff needs to get in first, i.e. Rust bindings for:
- generic device / driver
- platform device / driver
- clk, regulator, OF, cpumask, etc
Because of the missing bindings for above APIs, lot of calls are made directly
into the bindgen generated bindings for now, to make this work. Hopefully we can
have a lot less unsafe code once we get all those things merged.
Based over v6.9-rc1.
Thanks.
Viresh Kumar (3):
rust: Add bindings for OPP framework
rust: Add bindings for cpufreq framework
cpufreq: Add Rust based cpufreq-dt driver
drivers/cpufreq/Kconfig | 12 +
drivers/cpufreq/Makefile | 1 +
drivers/cpufreq/rcpufreq_dt.rs | 264 ++++++++
rust/bindings/bindings_helper.h | 2 +
rust/helpers.c | 15 +
rust/kernel/cpufreq.rs | 1090 +++++++++++++++++++++++++++++++
rust/kernel/lib.rs | 4 +
rust/kernel/opp.rs | 895 +++++++++++++++++++++++++
8 files changed, 2283 insertions(+)
create mode 100644 drivers/cpufreq/rcpufreq_dt.rs
create mode 100644 rust/kernel/cpufreq.rs
create mode 100644 rust/kernel/opp.rs
--
2.31.1.272.g89b43f80a514
Powered by blists - more mailing lists