summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQuentin Schulz <quentin.schulz@cherry.de>2025-05-28 15:06:19 +0200
committerTom Rini <trini@konsulko.com>2025-06-11 13:31:35 -0600
commitad03050e26b1a61b3fe10a645a36da11652355e7 (patch)
tree07000a40706477d357dc39d237f66ed6bc83053e
parentb4b66e2f298e10d53749ce8d3ca086acbfc62f6a (diff)
dm: core: use s32 instead of int for dev_read_s32_default
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@cherry.de> Reviewed-by: Simon Glass <sjg@chromium.org>
-rw-r--r--drivers/core/read.c4
-rw-r--r--include/dm/read.h8
2 files changed, 6 insertions, 6 deletions
diff --git a/drivers/core/read.c b/drivers/core/read.c
index 981204bffe4..c0d7a969db2 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 87017f07621..12dcde6645c 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);
}