[PATCH 2/2] dm: core: use s32 instead of int for dev_read_s32_default
Quentin Schulz
foss+uboot at 0leil.net
Wed May 28 15:06:19 CEST 2025
From: Quentin Schulz <quentin.schulz at cherry.de>
dev_read_s32_default is for getting an s32 from a Device Tree property
and allows to take a default value if that property is missing.
Considering it calls ofnode_read_u32_default which takes a u32 and
returns a u32, it should do the same instead of using an int, especially
considering that int size is typically architecture-specific, as opposed
to s32/u32.
s32 and u32 being the same size, dev_read_s32* functions calling
ofnode_read_u32_default shouldn't be an issue (at the type level at
least) as the information will be stored appropriately in 4B regardless
of the sign.
This incidentally matches all other dev_read_*_default functions.
Fixes: a1b17e4f4c82 ("dm: core: Add a function to read into a unsigned int")
Signed-off-by: Quentin Schulz <quentin.schulz at cherry.de>
---
drivers/core/read.c | 4 ++--
include/dm/read.h | 8 ++++----
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/drivers/core/read.c b/drivers/core/read.c
index 981204bffe4c26641ea8b387f00f4efc641d6e47..c0d7a969db2c9e45cd3b112e9c5712baa4acfea1 100644
--- a/drivers/core/read.c
+++ b/drivers/core/read.c
@@ -62,8 +62,8 @@ int dev_read_s32(const struct udevice *dev, const char *propname, s32 *outp)
return ofnode_read_u32(dev_ofnode(dev), propname, (u32 *)outp);
}
-int dev_read_s32_default(const struct udevice *dev, const char *propname,
- int def)
+s32 dev_read_s32_default(const struct udevice *dev, const char *propname,
+ s32 def)
{
return ofnode_read_u32_default(dev_ofnode(dev), propname, def);
}
diff --git a/include/dm/read.h b/include/dm/read.h
index 87017f076216492af5bb8da3a984ed1e074428cc..12dcde6645c72a96512225ff8db4760a79eee43a 100644
--- a/include/dm/read.h
+++ b/include/dm/read.h
@@ -137,8 +137,8 @@ int dev_read_s32(const struct udevice *dev, const char *propname, s32 *outp);
* @def: default value to return if the property has no value
* Return: property value, or @def if not found
*/
-int dev_read_s32_default(const struct udevice *dev, const char *propname,
- int def);
+s32 dev_read_s32_default(const struct udevice *dev, const char *propname,
+ s32 def);
/**
* dev_read_u32u() - read a 32-bit integer from a device's DT property
@@ -921,8 +921,8 @@ static inline int dev_read_s32(const struct udevice *dev,
return ofnode_read_s32(dev_ofnode(dev), propname, outp);
}
-static inline int dev_read_s32_default(const struct udevice *dev,
- const char *propname, int def)
+static inline s32 dev_read_s32_default(const struct udevice *dev,
+ const char *propname, s32 def)
{
return ofnode_read_s32_default(dev_ofnode(dev), propname, def);
}
--
2.49.0
More information about the U-Boot
mailing list