Re: [PATCH V2 2/2] rust: Add basic bindings for clk APIs
From: Viresh Kumar
Date: Mon Feb 24 2025 - 05:04:31 EST
On 21-02-25, 15:59, Rob Herring wrote:
> It would be nice to handle the optional case from the start. Otherwise,
> driver writers handle optional or not optional themselves. The not
> optional case is typically some form of error message duplicated in
> every driver.
>
> Every foo_get() needs foo_get_optional(), so let's figure out the rust
> way to handle this once for everyone.
Are we talking about adding another field here (like below code) or
something else ?
impl Clk {
pub fn get(dev: &Device, name: Option<&CStr>, optional: bool) -> Result<Self> {
...
let clk = if optional {
bindings::clk_get(dev.as_raw(), con_id)
else {
bindings::clk_get_optional(dev.as_raw(), con_id)
};
Ok(Self(from_err_ptr(clk)?))
}
}
--
viresh