I got asked about upstreaming DT rust bindings, so I decided to take a stab at it. This series adds rust bindings for the device property API which is a firmware agnostic interface for reading firmware properties. There are "DT rust bindings" patches floating around, but for many drivers they don't need to know any DT specifics nor deal with struct device_node (and its refcounts). And reading firmware properties are simple enough for my feeble rust abilities. This series is based on top of Danilo's PCI and platform device series[1], though that's really only for the sample driver. Please tell me how my rust code sucks before I spend more time beating my head against the wall^W^W^W^W^W^W learning rust. Rob [1] https://lore.kernel.org/all/20241022213221.2383-1-dakr@xxxxxxxxxx/ Signed-off-by: Rob Herring (Arm) <robh@xxxxxxxxxx> --- Rob Herring (Arm) (3): of: unittest: Add a platform device node for rust platform driver sample rust: Add bindings for device properties samples: rust: platform: Add property read examples drivers/of/unittest-data/tests-platform.dtsi | 8 ++ rust/bindings/bindings_helper.h | 1 + rust/kernel/device.rs | 145 ++++++++++++++++++++++++++- samples/rust/rust_driver_platform.rs | 24 ++++- 4 files changed, 176 insertions(+), 2 deletions(-) --- base-commit: eeb31b3e7e9e1b485763ecc66ece8afba1416b2a change-id: 20241025-rust-platform-dev-0e89debcbba5 Best regards, -- Rob Herring (Arm) <robh@xxxxxxxxxx>