[PATCH 6/7] ddr: altera: arria10: Change %i to %u for printf

Marek Vasut marex at denx.de
Wed Apr 15 17:16:52 CEST 2020


On 4/15/20 5:14 PM, Tom Rini wrote:
> On Wed, Apr 15, 2020 at 04:58:31PM +0200, Marek Vasut wrote:
>> On 4/15/20 4:56 PM, Tom Rini wrote:
>>> On Wed, Apr 15, 2020 at 02:45:08PM +0200, Marek Vasut wrote:
>>>> On 4/15/20 11:00 AM, Ley Foon Tan wrote:
>>>>> Tiny printf doesn't support %i, change to %u.
>>>>>
>>>>> Signed-off-by: Ley Foon Tan <ley.foon.tan at intel.com>
>>>>> ---
>>>>>  drivers/ddr/altera/sdram_arria10.c | 2 +-
>>>>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>>>>
>>>>> diff --git a/drivers/ddr/altera/sdram_arria10.c b/drivers/ddr/altera/sdram_arria10.c
>>>>> index e3f11984a978..8acf324117af 100644
>>>>> --- a/drivers/ddr/altera/sdram_arria10.c
>>>>> +++ b/drivers/ddr/altera/sdram_arria10.c
>>>>> @@ -195,7 +195,7 @@ static void sdram_init_ecc_bits(u32 size)
>>>>>  
>>>>>  	dcache_enable();
>>>>>  
>>>>> -	printf("DDRCAL: Scrubbing ECC RAM (%i MiB).\n", size >> 20);
>>>>> +	printf("DDRCAL: Scrubbing ECC RAM (%u MiB).\n", size >> 20);
>>>>>  	memset((void *)0x8000, 0, size - 0x8000);
>>>>>  	flush_dcache_all();
>>>>>  	printf("DDRCAL: Scrubbing ECC RAM done.\n");
>>>>
>>>> Yes, sadly, tiny printf is broken so we need to patch code to work
>>>> around that breakage.
>>>
>>> Yes, limited by design, thanks for changing.
>>
>> This code could be used without tiny printf, so this change is unnecessary.
> 
> You've got it backwards.  Code that could be used by tiny printf needs
> to use the more limited set of formats.  But this should have been using
> %u all along?  %i is for int, %u is unsigned int.

That would mean most of U-Boot needs to be limited to the subset of
formatting characters supported by tiny printf, which is unrealistic.


More information about the U-Boot mailing list