The rust bindings for reading device properties has a single implementation supporting differing sizes of integers. The fwnode C API already has a similar interface, but it is not exposed with the fwnode_property_ API. Add the fwnode_property_read_int_array() wrapper. Co-developed-by: Rob Herring (Arm) <robh@xxxxxxxxxx> Signed-off-by: Rob Herring (Arm) <robh@xxxxxxxxxx> Signed-off-by: Remo Senekowitsch <remo@xxxxxxxxxxx> --- drivers/base/property.c | 9 +++++---- include/linux/property.h | 2 ++ 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/drivers/base/property.c b/drivers/base/property.c index c1392743d..64d5b7055 100644 --- a/drivers/base/property.c +++ b/drivers/base/property.c @@ -292,10 +292,10 @@ int device_property_match_string(const struct device *dev, const char *propname, } EXPORT_SYMBOL_GPL(device_property_match_string); -static int fwnode_property_read_int_array(const struct fwnode_handle *fwnode, - const char *propname, - unsigned int elem_size, void *val, - size_t nval) +int fwnode_property_read_int_array(const struct fwnode_handle *fwnode, + const char *propname, + unsigned int elem_size, void *val, + size_t nval) { int ret; @@ -310,6 +310,7 @@ static int fwnode_property_read_int_array(const struct fwnode_handle *fwnode, return fwnode_call_int_op(fwnode->secondary, property_read_int_array, propname, elem_size, val, nval); } +EXPORT_SYMBOL_GPL(fwnode_property_read_int_array); /** * fwnode_property_read_u8_array - return a u8 array property of firmware node diff --git a/include/linux/property.h b/include/linux/property.h index e214ecd24..441a1ad76 100644 --- a/include/linux/property.h +++ b/include/linux/property.h @@ -57,6 +57,8 @@ bool fwnode_property_present(const struct fwnode_handle *fwnode, const char *propname); bool fwnode_property_read_bool(const struct fwnode_handle *fwnode, const char *propname); +int fwnode_property_read_int_array(const struct fwnode_handle *fwnode, const char *propname, + unsigned int elem_size, void *val, size_t nval); int fwnode_property_read_u8_array(const struct fwnode_handle *fwnode, const char *propname, u8 *val, size_t nval); -- 2.49.0