Re: [PATCH 08/10] rust: property: Add property_get_reference_args

Andrew Ballance
2025-03-26T21:07:55Z

On Wed, Mar 26, 2025 at 12:13 PM Remo Senekowitsch Wrote:
> + pub fn property_get_reference_args(
> + &self,
> + prop: &CStr,
> + nargs: NArgs<'_>,
> + index: u32,
> + ) -> Result<(
> + ARef<Self>,
> + ArrayVec<{ bindings::NR_FWNODE_REFERENCE_ARGS as usize }, u64>,
> + )> {
> + let mut out_args = bindings::fwnode_reference_args::default();
> +
> + let (nargs_prop, nargs) = match nargs {
> + NArgs::Prop(nargs_prop) => (nargs_prop.as_char_ptr(), 0),
> + NArgs::N(nargs) => (ptr::null(), nargs),
> + };
> +
> + let ret = unsafe {
> + bindings::fwnode_property_get_reference_args(
> + self.0.get(),
> + prop.as_char_ptr(),
> + nargs_prop,
> + nargs,
> + index,
> + &mut out_args,
> + )
> + };
> + to_result(ret)?;
> +
> + let node = unsafe { FwNode::from_raw(out_args.fwnode) };
> + let mut args = ArrayVec::default();
> +
> + for i in 0..out_args.nargs {
> + args.push(out_args.args[i as usize]);
> + }
> +
> + Ok((node, args))
> + }

This function is missing safety comments.

Andrew