* [U-Boot] [PATCH] blackfin: Fix using gd->baudrate before setting its value
@ 2013-06-29 0:34 Axel Lin
2013-06-29 8:26 ` Marek Vasut
2013-07-01 3:45 ` Sonic Zhang
0 siblings, 2 replies; 6+ messages in thread
From: Axel Lin @ 2013-06-29 0:34 UTC (permalink / raw)
To: u-boot
Current code uses gd->baudrate before setting its value.
Besides, I got below build warning which is introduced by
commit ddb5c5be "blackfin: add baudrate to bdinfo".
board.c:235:3: warning: passing argument 1 of 'simple_strtoul' makes pointer from integer without a cast [enabled by default]
include/vsprintf.h:27:7: note: expected 'const char *' but argument is of type 'unsigned int'
This patch moves the code using gd->baudrate to be after init_baudrate() call,
this ensures we get the baudrate setting before using it.
Signed-off-by: Axel Lin <axel.lin@ingics.com>
---
I forgot to CC u-boot mail list. here is a resend.
Hi,
I don't have this hardware to test.
I'd appreciate if someone can test it.
Thanks,
Axel
arch/blackfin/lib/board.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/arch/blackfin/lib/board.c b/arch/blackfin/lib/board.c
index f1d5547..9e2e9de 100644
--- a/arch/blackfin/lib/board.c
+++ b/arch/blackfin/lib/board.c
@@ -231,8 +231,6 @@ static int global_board_data_init(void)
bd->bi_sclk = get_sclk();
bd->bi_memstart = CONFIG_SYS_SDRAM_BASE;
bd->bi_memsize = CONFIG_SYS_MAX_RAM_SIZE;
- bd->bi_baudrate = (gd->baudrate > 0)
- ? simple_strtoul(gd->baudrate, NULL, 10) : CONFIG_BAUDRATE;
return 0;
}
@@ -299,6 +297,7 @@ void board_init_f(ulong bootflag)
env_init();
serial_early_puts("Baudrate init\n");
init_baudrate();
+ gd->bd->bi_baudrate = gd->baudrate;
serial_early_puts("Serial init\n");
serial_init();
serial_initialize();
--
1.8.1.2
^ permalink raw reply related [flat|nested] 6+ messages in thread* [U-Boot] [PATCH] blackfin: Fix using gd->baudrate before setting its value
2013-06-29 0:34 [U-Boot] [PATCH] blackfin: Fix using gd->baudrate before setting its value Axel Lin
@ 2013-06-29 8:26 ` Marek Vasut
2013-06-29 8:49 ` Axel Lin
2013-07-01 3:45 ` Sonic Zhang
1 sibling, 1 reply; 6+ messages in thread
From: Marek Vasut @ 2013-06-29 8:26 UTC (permalink / raw)
To: u-boot
Dear Axel Lin,
> Current code uses gd->baudrate before setting its value.
> Besides, I got below build warning which is introduced by
> commit ddb5c5be "blackfin: add baudrate to bdinfo".
>
> board.c:235:3: warning: passing argument 1 of 'simple_strtoul' makes
> pointer from integer without a cast [enabled by default]
> include/vsprintf.h:27:7: note: expected 'const char *' but argument is of
> type 'unsigned int'
>
> This patch moves the code using gd->baudrate to be after init_baudrate()
> call, this ensures we get the baudrate setting before using it.
>
> Signed-off-by: Axel Lin <axel.lin@ingics.com>
> ---
> I forgot to CC u-boot mail list. here is a resend.
>
> Hi,
> I don't have this hardware to test.
> I'd appreciate if someone can test it.
>
> Thanks,
> Axel
> arch/blackfin/lib/board.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/arch/blackfin/lib/board.c b/arch/blackfin/lib/board.c
> index f1d5547..9e2e9de 100644
> --- a/arch/blackfin/lib/board.c
> +++ b/arch/blackfin/lib/board.c
> @@ -231,8 +231,6 @@ static int global_board_data_init(void)
> bd->bi_sclk = get_sclk();
> bd->bi_memstart = CONFIG_SYS_SDRAM_BASE;
> bd->bi_memsize = CONFIG_SYS_MAX_RAM_SIZE;
> - bd->bi_baudrate = (gd->baudrate > 0)
> - ? simple_strtoul(gd->baudrate, NULL, 10) : CONFIG_BAUDRATE;
I'd rather say the fix here is to use (gd->baudrate > 0) ? gd->baudrate ?
CONFIG_BAUDRATE ;
Otherwise you're changing the logic of the code and for that, you'd need Mikes'
ack.
> return 0;
> }
> @@ -299,6 +297,7 @@ void board_init_f(ulong bootflag)
> env_init();
> serial_early_puts("Baudrate init\n");
> init_baudrate();
> + gd->bd->bi_baudrate = gd->baudrate;
> serial_early_puts("Serial init\n");
> serial_init();
> serial_initialize();
Best regards,
Marek Vasut
^ permalink raw reply [flat|nested] 6+ messages in thread* [U-Boot] [PATCH] blackfin: Fix using gd->baudrate before setting its value
2013-06-29 8:26 ` Marek Vasut
@ 2013-06-29 8:49 ` Axel Lin
0 siblings, 0 replies; 6+ messages in thread
From: Axel Lin @ 2013-06-29 8:49 UTC (permalink / raw)
To: u-boot
2013/6/29 Marek Vasut <marex@denx.de>:
> Dear Axel Lin,
>
>> Current code uses gd->baudrate before setting its value.
>> Besides, I got below build warning which is introduced by
>> commit ddb5c5be "blackfin: add baudrate to bdinfo".
>>
>> board.c:235:3: warning: passing argument 1 of 'simple_strtoul' makes
>> pointer from integer without a cast [enabled by default]
>> include/vsprintf.h:27:7: note: expected 'const char *' but argument is of
>> type 'unsigned int'
>>
>> This patch moves the code using gd->baudrate to be after init_baudrate()
>> call, this ensures we get the baudrate setting before using it.
>>
>> Signed-off-by: Axel Lin <axel.lin@ingics.com>
>> ---
>> I forgot to CC u-boot mail list. here is a resend.
>>
>> Hi,
>> I don't have this hardware to test.
>> I'd appreciate if someone can test it.
>>
>> Thanks,
>> Axel
>> arch/blackfin/lib/board.c | 3 +--
>> 1 file changed, 1 insertion(+), 2 deletions(-)
>>
>> diff --git a/arch/blackfin/lib/board.c b/arch/blackfin/lib/board.c
>> index f1d5547..9e2e9de 100644
>> --- a/arch/blackfin/lib/board.c
>> +++ b/arch/blackfin/lib/board.c
>> @@ -231,8 +231,6 @@ static int global_board_data_init(void)
>> bd->bi_sclk = get_sclk();
>> bd->bi_memstart = CONFIG_SYS_SDRAM_BASE;
>> bd->bi_memsize = CONFIG_SYS_MAX_RAM_SIZE;
>> - bd->bi_baudrate = (gd->baudrate > 0)
>> - ? simple_strtoul(gd->baudrate, NULL, 10) : CONFIG_BAUDRATE;
>
>
> I'd rather say the fix here is to use (gd->baudrate > 0) ? gd->baudrate ?
> CONFIG_BAUDRATE ;
>
> Otherwise you're changing the logic of the code and for that, you'd need Mikes'
> ack.
Hi Marek,
It's because gd->baudrate is set in init_baudrate().
And if it is not found in an environment variable, the default is
CONFIG_BAUDRATE.
It's unlikely gd->baudrate is 0.
So if we have below code:
init_baudrate();
gd->bd->bi_baudrate = (gd->baudrate > 0) ? gd->baudrate : CONFIG_BAUDRATE;
In an unlikely case where baudrate environment variable is set to 0,
then we have inconsistency setting:
gd->baudrate = 0;
gd->bd->bi_baudrate = CONFIG_BAUDRATE;
Comments?
Regards,
Axel
^ permalink raw reply [flat|nested] 6+ messages in thread
* [U-Boot] [PATCH] blackfin: Fix using gd->baudrate before setting its value
2013-06-29 0:34 [U-Boot] [PATCH] blackfin: Fix using gd->baudrate before setting its value Axel Lin
2013-06-29 8:26 ` Marek Vasut
@ 2013-07-01 3:45 ` Sonic Zhang
2013-07-01 4:11 ` Axel Lin
1 sibling, 1 reply; 6+ messages in thread
From: Sonic Zhang @ 2013-07-01 3:45 UTC (permalink / raw)
To: u-boot
Hi Axel,
On Sat, Jun 29, 2013 at 8:34 AM, Axel Lin <axel.lin@ingics.com> wrote:
> Current code uses gd->baudrate before setting its value.
> Besides, I got below build warning which is introduced by
> commit ddb5c5be "blackfin: add baudrate to bdinfo".
>
> board.c:235:3: warning: passing argument 1 of 'simple_strtoul' makes pointer from integer without a cast [enabled by default]
> include/vsprintf.h:27:7: note: expected 'const char *' but argument is of type 'unsigned int'
>
> This patch moves the code using gd->baudrate to be after init_baudrate() call,
> this ensures we get the baudrate setting before using it.
>
> Signed-off-by: Axel Lin <axel.lin@ingics.com>
> ---
> I forgot to CC u-boot mail list. here is a resend.
>
> Hi,
> I don't have this hardware to test.
> I'd appreciate if someone can test it.
>
> Thanks,
> Axel
> arch/blackfin/lib/board.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/arch/blackfin/lib/board.c b/arch/blackfin/lib/board.c
> index f1d5547..9e2e9de 100644
> --- a/arch/blackfin/lib/board.c
> +++ b/arch/blackfin/lib/board.c
> @@ -231,8 +231,6 @@ static int global_board_data_init(void)
> bd->bi_sclk = get_sclk();
> bd->bi_memstart = CONFIG_SYS_SDRAM_BASE;
> bd->bi_memsize = CONFIG_SYS_MAX_RAM_SIZE;
> - bd->bi_baudrate = (gd->baudrate > 0)
> - ? simple_strtoul(gd->baudrate, NULL, 10) : CONFIG_BAUDRATE;
>
> return 0;
> }
> @@ -299,6 +297,7 @@ void board_init_f(ulong bootflag)
> env_init();
> serial_early_puts("Baudrate init\n");
> init_baudrate();
> + gd->bd->bi_baudrate = gd->baudrate;
I prefer to move this line into init_baudrate().
Regards,
Sonic
^ permalink raw reply [flat|nested] 6+ messages in thread* [U-Boot] [PATCH] blackfin: Fix using gd->baudrate before setting its value
2013-07-01 3:45 ` Sonic Zhang
@ 2013-07-01 4:11 ` Axel Lin
2013-07-01 4:49 ` Sonic Zhang
0 siblings, 1 reply; 6+ messages in thread
From: Axel Lin @ 2013-07-01 4:11 UTC (permalink / raw)
To: u-boot
2013/7/1 Sonic Zhang <sonic.adi@gmail.com>:
> Hi Axel,
>
> On Sat, Jun 29, 2013 at 8:34 AM, Axel Lin <axel.lin@ingics.com> wrote:
>> Current code uses gd->baudrate before setting its value.
>> Besides, I got below build warning which is introduced by
>> commit ddb5c5be "blackfin: add baudrate to bdinfo".
>>
>> board.c:235:3: warning: passing argument 1 of 'simple_strtoul' makes pointer from integer without a cast [enabled by default]
>> include/vsprintf.h:27:7: note: expected 'const char *' but argument is of type 'unsigned int'
>>
>> This patch moves the code using gd->baudrate to be after init_baudrate() call,
>> this ensures we get the baudrate setting before using it.
>>
>> Signed-off-by: Axel Lin <axel.lin@ingics.com>
>> ---
>> I forgot to CC u-boot mail list. here is a resend.
>>
>> Hi,
>> I don't have this hardware to test.
>> I'd appreciate if someone can test it.
>>
>> Thanks,
>> Axel
>> arch/blackfin/lib/board.c | 3 +--
>> 1 file changed, 1 insertion(+), 2 deletions(-)
>>
>> diff --git a/arch/blackfin/lib/board.c b/arch/blackfin/lib/board.c
>> index f1d5547..9e2e9de 100644
>> --- a/arch/blackfin/lib/board.c
>> +++ b/arch/blackfin/lib/board.c
>> @@ -231,8 +231,6 @@ static int global_board_data_init(void)
>> bd->bi_sclk = get_sclk();
>> bd->bi_memstart = CONFIG_SYS_SDRAM_BASE;
>> bd->bi_memsize = CONFIG_SYS_MAX_RAM_SIZE;
>> - bd->bi_baudrate = (gd->baudrate > 0)
>> - ? simple_strtoul(gd->baudrate, NULL, 10) : CONFIG_BAUDRATE;
>>
>> return 0;
>> }
>> @@ -299,6 +297,7 @@ void board_init_f(ulong bootflag)
>> env_init();
>> serial_early_puts("Baudrate init\n");
>> init_baudrate();
>> + gd->bd->bi_baudrate = gd->baudrate;
>
> I prefer to move this line into init_baudrate().
hi Sonic,
$ grep -r "int init_baudrate" -A 4 arch
It shows we have the same implementation for all supported architectures.
So I think init_baudrate() may be moved to a common place in the future.
I pernsonal prefer keep the code as is in this patch.
But if you insist on moving this line into init_baudrate(), I have no problem
to send a v2. Just let me know how do you think.
Thanks for the review,
Axel
^ permalink raw reply [flat|nested] 6+ messages in thread* [U-Boot] [PATCH] blackfin: Fix using gd->baudrate before setting its value
2013-07-01 4:11 ` Axel Lin
@ 2013-07-01 4:49 ` Sonic Zhang
0 siblings, 0 replies; 6+ messages in thread
From: Sonic Zhang @ 2013-07-01 4:49 UTC (permalink / raw)
To: u-boot
Hi Axel,
On Mon, Jul 1, 2013 at 12:11 PM, Axel Lin <axel.lin@ingics.com> wrote:
> 2013/7/1 Sonic Zhang <sonic.adi@gmail.com>:
>> Hi Axel,
>>
>> On Sat, Jun 29, 2013 at 8:34 AM, Axel Lin <axel.lin@ingics.com> wrote:
>>> Current code uses gd->baudrate before setting its value.
>>> Besides, I got below build warning which is introduced by
>>> commit ddb5c5be "blackfin: add baudrate to bdinfo".
>>>
>>> board.c:235:3: warning: passing argument 1 of 'simple_strtoul' makes pointer from integer without a cast [enabled by default]
>>> include/vsprintf.h:27:7: note: expected 'const char *' but argument is of type 'unsigned int'
>>>
>>> This patch moves the code using gd->baudrate to be after init_baudrate() call,
>>> this ensures we get the baudrate setting before using it.
>>>
>>> Signed-off-by: Axel Lin <axel.lin@ingics.com>
>>> ---
>>> I forgot to CC u-boot mail list. here is a resend.
>>>
>>> Hi,
>>> I don't have this hardware to test.
>>> I'd appreciate if someone can test it.
>>>
>>> Thanks,
>>> Axel
>>> arch/blackfin/lib/board.c | 3 +--
>>> 1 file changed, 1 insertion(+), 2 deletions(-)
>>>
>>> diff --git a/arch/blackfin/lib/board.c b/arch/blackfin/lib/board.c
>>> index f1d5547..9e2e9de 100644
>>> --- a/arch/blackfin/lib/board.c
>>> +++ b/arch/blackfin/lib/board.c
>>> @@ -231,8 +231,6 @@ static int global_board_data_init(void)
>>> bd->bi_sclk = get_sclk();
>>> bd->bi_memstart = CONFIG_SYS_SDRAM_BASE;
>>> bd->bi_memsize = CONFIG_SYS_MAX_RAM_SIZE;
>>> - bd->bi_baudrate = (gd->baudrate > 0)
>>> - ? simple_strtoul(gd->baudrate, NULL, 10) : CONFIG_BAUDRATE;
>>>
>>> return 0;
>>> }
>>> @@ -299,6 +297,7 @@ void board_init_f(ulong bootflag)
>>> env_init();
>>> serial_early_puts("Baudrate init\n");
>>> init_baudrate();
>>> + gd->bd->bi_baudrate = gd->baudrate;
>>
>> I prefer to move this line into init_baudrate().
> hi Sonic,
>
> $ grep -r "int init_baudrate" -A 4 arch
> It shows we have the same implementation for all supported architectures.
>
> So I think init_baudrate() may be moved to a common place in the future.
> I pernsonal prefer keep the code as is in this patch.
> But if you insist on moving this line into init_baudrate(), I have no problem
> to send a v2. Just let me know how do you think.
Yes, please.
Regards,
Sonic
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2013-07-01 4:49 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-06-29 0:34 [U-Boot] [PATCH] blackfin: Fix using gd->baudrate before setting its value Axel Lin
2013-06-29 8:26 ` Marek Vasut
2013-06-29 8:49 ` Axel Lin
2013-07-01 3:45 ` Sonic Zhang
2013-07-01 4:11 ` Axel Lin
2013-07-01 4:49 ` Sonic Zhang
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox