[PATCH 1/2] dm: core: use u32 instead of int for dev_read_u32_default
Quentin Schulz
quentin.schulz at cherry.de
Wed May 28 18:15:49 CEST 2025
Hi Simon,
On 5/28/25 4:32 PM, Simon Glass wrote:
> Hi Quentin,
>
> On Wed, 28 May 2025 at 14:06, Quentin Schulz <foss+uboot at 0leil.net> wrote:
>>
>> From: Quentin Schulz <quentin.schulz at cherry.de>
>>
>> dev_read_u32_default is for getting a u32 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 u32.
>>
>> This incidentally matches all other dev_read_*_default functions (except
>> dev_read_s32_default which will be tackled in the next commit).
>>
>> Fixes: 47a0fd3bad38 ("dm: core: Implement live tree 'read' functions")
>> Signed-off-by: Quentin Schulz <quentin.schulz at cherry.de>
>> ---
>> drivers/core/read.c | 4 ++--
>> include/dm/read.h | 6 +++---
>> 2 files changed, 5 insertions(+), 5 deletions(-)
>
> Re your comment above 'int' seems to mean 32-bit on the toolchains we
> use. For example, in global_data we use int when we want a 32-bit
> value and long when we want a machine-word-sized value.
>
Fair enough, the only thing I can say - without real world experience -
is that int isn't guaranteed to be 4 B by the standard? c.f.
https://en.wikipedia.org/wiki/C_data_types#Main_types
> In general I try to use natural types (int, long, ulong) where
> possible, to avoid the compiler masking values before calling a
> function, which can increase code size. In this case I could make the
> argument either way.
>
I'm happy to reword this commit log to be less confusing or alarmist. I
can remove the "especially", would that be enough, do you have something
else in mind?
Cheers,
Quentin
More information about the U-Boot
mailing list