diff --git a/drivers/core/read.c b/drivers/core/read.c index 9b216726ac..2692113853 100644 --- a/drivers/core/read.c +++ b/drivers/core/read.c @@ -15,6 +15,11 @@ int dev_read_u32_default(struct udevice *dev, const char *propname, int def) return ofnode_read_u32_default(dev_ofnode(dev), propname, def); } +int dev_read_s32_default(struct udevice *dev, const char *propname, int def) +{ + return ofnode_read_s32_default(dev_ofnode(dev), propname, def); +} + const char *dev_read_string(struct udevice *dev, const char *propname) { return ofnode_read_string(dev_ofnode(dev), propname); diff --git a/include/dm/read.h b/include/dm/read.h index 71b128ff10..0a78d04815 100644 --- a/include/dm/read.h +++ b/include/dm/read.h @@ -55,6 +55,16 @@ static inline bool dev_of_valid(struct udevice *dev) */ int dev_read_u32_default(struct udevice *dev, const char *propname, int def); +/** + * dev_read_s32_default() - read a signed 32-bit integer from a device's DT property + * + * @dev: device to read DT property from + * @propname: name of the property to read from + * @def: default value to return if the property has no value + * @return property value, or @def if not found + */ +int dev_read_s32_default(struct udevice *dev, const char *propname, int def); + /** * dev_read_string() - Read a string from a device's DT property *