Re: [PATCH RFC 0/3] Initial rust bindings for device property reads

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 25.10.2024 23:05, Rob Herring (Arm) wrote:
I got asked about upstreaming DT rust bindings, so I decided to take a
stab at it.

Many thanks for this!

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.


On x86 having CONFIG_OF_UNITTESTS enabled I get

rust_driver_platform testcase-data:platform-tests:test-device@2: Probed by OF compatible match: 'test,rust-device' with info: '42'. rust_driver_platform testcase-data:platform-tests:test-device@2: matched compatible string idx = 0 rust_driver_platform testcase-data:platform-tests:test-device@2: bool prop is false rust_driver_platform testcase-data:platform-tests:test-device@2: 'test,u32-prop' is 0xdeadbeef rust_driver_platform testcase-data:platform-tests:test-device@2: 'test,i16-array' is [1, 2, -3, -4] rust_driver_platform testcase-data:platform-tests:test-device@2: 'test,i16-array' length is 4

with this. Looks good :)

I'm not sure if it makes sense for an RFC patch series but in case it helps:

Tested-by: Dirk Behme <dirk.behme@xxxxxxxxxxxx>

Some comments will follow in the individual patches.

Best regards

Dirk


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,





[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux