Messages in this thread | | | Date | Thu, 25 Apr 2024 15:54:27 +0000 | From | Benno Lossin <> | Subject | Re: [RFC PATCH 3/3] cpufreq: Add Rust based cpufreq-dt driver |
| |
On 22.04.24 12:30, Viresh Kumar wrote: > On 07-04-24, 10:17, Benno Lossin wrote: >> On 07.04.24 11:54, Benno Lossin wrote: >>> On 05.04.24 13:09, Viresh Kumar wrote: >>>> +// Finds exact supply name from the OF node. >>>> +fn find_supply_name_exact(np: *mut bindings::device_node, name: &str) -> Option<CString> { >>>> + let sname = CString::try_from_fmt(fmt!("{}-supply", name)).ok()?; >>>> + >>>> + // SAFETY: The OF node is guaranteed by the C code to be valid. >>>> + let pp = unsafe { bindings::of_find_property(np, sname.as_ptr() as *mut _, ptr::null_mut()) }; >>> >>> Drivers should avoid calling `unsafe` code as much as possible. They >>> also should not be calling `bindings` code directly. Please write (or >>> find) abstractions for these `unsafe` calls. >> >> Having re-read the cover letter, I see that you are already aware of >> this. If you need any help with creating the abstractions, feel free to >> reach out! > > Thanks Benno. I am not sure what's the right approach here as there > are so many missing things (frameworks) I need. Though I don't need > full support for them but just a handful of APIs. > > And then there is dependency on the generic support for device/driver, > platform device/driver, etc.
I don't know exactly what you are referring to, but you can try to reach out to other people on our zulip. Splitting the work with others could help you :)
Also if the frameworks that you need are particularly difficult to upstream, because they have a lot of dependencies, then you can try to create something similar to [1].
[1]: https://github.com/Rust-for-Linux/linux/issues/1004
-- Cheers, Benno
| |