Re: [PATCH v5 3/4] rust: clk: add devres-managed clks
"Alexandre Courbot" <[email protected]> Sun, 02 Aug 2026 14:24:17 +0900
| Newsgroups | org.kernel.vger.linux-pwm,org.freedesktop.lists.dri-devel,org.infradead.lists.linux-riscv,org.kernel.vger.linux-clk,org.kernel.vger.linux-kernel,org.kernel.vger.linux-pm,org.kernel.vger.rust-for-linux |
|---|---|
| Message-ID | <[email protected]> |
On Mon Jul 6, 2026 at 11:37 PM JST, Daniel Almeida wrote: > The clk API allows fine-grained control, but some drivers might be > more interested in a "set and forget" API. > > Expand the current API to support this. The clock will automatically be > disabled, unprepared and freed when the device is unbound from the bus > without further intervention by the driver. > > Signed-off-by: Daniel Almeida <[email protected]> Reviewed-by: Alexandre Courbot <[email protected]> One nit below. > --- > rust/kernel/clk.rs | 46 ++++++++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 46 insertions(+) > > diff --git a/rust/kernel/clk.rs b/rust/kernel/clk.rs > index dd5fd656271e..b9a44f83843a 100644 > --- a/rust/kernel/clk.rs > +++ b/rust/kernel/clk.rs > @@ -96,6 +96,52 @@ impl Sealed for super::Prepared {} > impl Sealed for super::Enabled {} > } > =20 > + /// Obtains and enables a [`devres`]-managed [`Clk`] for a bound dev= ice. > + /// > + /// [`devres`]: crate::devres::Devres > + #[inline] > + pub fn devm_enable(dev: &Device<Bound>, name: Option<&CStr>) -> Resu= lt { > + let name =3D name.map_or(ptr::null(), |n| n.as_char_ptr()); > + > + // SAFETY: It is safe to call [`devm_clk_get_enabled`] with a va= lid > + // device pointer. > + from_err_ptr(unsafe { bindings::devm_clk_get_enabled(dev.as_raw(= ), name) })?; > + Ok(()) > + } > + > + /// Obtains and enables a [`devres`]-managed [`Clk`] for a bound dev= ice. > + /// > + /// This does not print any error messages if the clock is not found= . This sounds like a clock not being found returns an error, but no message is printed.