Re: [RFC PATCH 3/3] cpufreq: Add Rust based cpufreq-dt driver

From: Benno Lossin
Date: Thu Apr 25 2024 - 12:42:31 EST


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