rust: device: implement FwNode::is_of_node()
Implement FwNode::is_of_node() in order to check whether a FwNode instance is embedded in a struct device_node. Reviewed-by: Rob Herring (Arm) <robh@kernel.org> Signed-off-by: Igor Korotin <igor.korotin.linux@gmail.com> Link: https://lore.kernel.org/r/20250620151504.278766-1-igor.korotin.linux@gmail.com Signed-off-by: Danilo Krummrich <dakr@kernel.org>
This commit is contained in:
parent
c79cbde9b7
commit
56a789f776
|
|
@ -18580,6 +18580,7 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git
|
|||
F: Documentation/ABI/testing/sysfs-firmware-ofw
|
||||
F: drivers/of/
|
||||
F: include/linux/of*.h
|
||||
F: rust/helpers/of.c
|
||||
F: rust/kernel/of.rs
|
||||
F: scripts/dtc/
|
||||
F: tools/testing/selftests/dt/
|
||||
|
|
|
|||
|
|
@ -28,6 +28,7 @@
|
|||
#include "kunit.c"
|
||||
#include "mm.c"
|
||||
#include "mutex.c"
|
||||
#include "of.c"
|
||||
#include "page.c"
|
||||
#include "platform.c"
|
||||
#include "pci.c"
|
||||
|
|
|
|||
|
|
@ -0,0 +1,8 @@
|
|||
// SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
#include <linux/of.h>
|
||||
|
||||
bool rust_helper_is_of_node(const struct fwnode_handle *fwnode)
|
||||
{
|
||||
return is_of_node(fwnode);
|
||||
}
|
||||
|
|
@ -61,6 +61,13 @@ impl FwNode {
|
|||
self.0.get()
|
||||
}
|
||||
|
||||
/// Returns `true` if `&self` is an OF node, `false` otherwise.
|
||||
pub fn is_of_node(&self) -> bool {
|
||||
// SAFETY: The type invariant of `Self` guarantees that `self.as_raw() is a pointer to a
|
||||
// valid `struct fwnode_handle`.
|
||||
unsafe { bindings::is_of_node(self.as_raw()) }
|
||||
}
|
||||
|
||||
/// Returns an object that implements [`Display`](core::fmt::Display) for
|
||||
/// printing the name of a node.
|
||||
///
|
||||
|
|
|
|||
Loading…
Reference in New Issue