]> www.infradead.org Git - users/jedix/linux-maple.git/commit
rust: device: Create FwNode abstraction for accessing device properties
authorRemo Senekowitsch <remo@buenzli.dev>
Wed, 11 Jun 2025 10:29:00 +0000 (12:29 +0200)
committerDanilo Krummrich <dakr@kernel.org>
Thu, 12 Jun 2025 21:56:42 +0000 (23:56 +0200)
commita2801affa7103862d549050401a9f53b3365fca4
treeedbb87db9147201aadb1e63d4f215faa726d6f30
parent19272b37aa4f83ca52bdf9c16d5d81bdd1354494
rust: device: Create FwNode abstraction for accessing device properties

Accessing device properties is currently done via methods on `Device`
itself, using bindings to device_property_* functions. This is
sufficient for the existing method property_present. However, it's not
sufficient for other device properties we want to access. For example,
iterating over child nodes of a device will yield a fwnode_handle.
That's not a device, so it wouldn't be possible to read the properties
of that child node. Thus, we need an abstraction over fwnode_handle and
methods for reading its properties.

Add a struct FwNode which abstracts over the C struct fwnode_handle.
Implement its reference counting analogous to other Rust abstractions
over reference-counted C structs.

Subsequent patches will add functionality to access FwNode and read
properties with it.

Tested-by: Dirk Behme <dirk.behme@de.bosch.com>
Signed-off-by: Remo Senekowitsch <remo@buenzli.dev>
Link: https://lore.kernel.org/r/20250611102908.212514-2-remo@buenzli.dev
[ Add temporary #[expect(dead_code)] to avoid a warning. - Danilo ]
Signed-off-by: Danilo Krummrich <dakr@kernel.org>
MAINTAINERS
rust/helpers/helpers.c
rust/helpers/property.c [new file with mode: 0644]
rust/kernel/device.rs
rust/kernel/device/property.rs [new file with mode: 0644]