rust: device: Add property_present()

This implements Device::property_present(), which calls C APIs
device_property_present() helper.

The new helper will be used by Rust based cpufreq drivers.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Link: https://lore.kernel.org/r/f43fe3f7b3151a89c261ad728b0f3bb2fc24caef.1736766672.git.viresh.kumar@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Viresh Kumar 2025-01-13 16:52:59 +05:30 committed by Greg Kroah-Hartman
parent f7862dfef6
commit e3a89cc281
2 changed files with 8 additions and 0 deletions

View File

@ -26,6 +26,7 @@
#include <linux/pid_namespace.h>
#include <linux/platform_device.h>
#include <linux/poll.h>
#include <linux/property.h>
#include <linux/refcount.h>
#include <linux/sched.h>
#include <linux/security.h>

View File

@ -6,6 +6,7 @@
use crate::{
bindings,
str::CString,
types::{ARef, Opaque},
};
use core::{fmt, ptr};
@ -180,6 +181,12 @@ impl Device {
)
};
}
/// Checks if property is present or not.
pub fn property_present(&self, name: &CString) -> bool {
// SAFETY: By the invariant of `CString`, `name` is null-terminated.
unsafe { bindings::device_property_present(self.as_raw().cast_const(), name.as_ptr() as *const _) }
}
}
// SAFETY: Instances of `Device` are always reference-counted.