* [U-Boot-Users] Re: PATCH: bi_iic_fast[] initialization
[not found] <14824.216.110.51.8.1079378410.squirrel@www.orkun.us>
@ 2004-04-07 9:54 ` Wolfgang Denk
2004-04-07 14:58 ` Tolunay Orkun
0 siblings, 1 reply; 5+ messages in thread
From: Wolfgang Denk @ 2004-04-07 9:54 UTC (permalink / raw)
To: u-boot
Dear Tolunay,
in message <14824.216.110.51.8.1079378410.squirrel@www.orkun.us> you wrote:
>
> * Allow bi_iic_fast[] to be initialized via env. variable "i2cfast"
I think you should rework this patch. At the moment, you call
getenv() in board_init_f() - but board_init_f() is still running from
flash, which means that we don't have a full C runtime environment
(uninitialized BSS, no writable data, limited stack space) so the use
of getenv() is not allowd in that function. You may use getenv_r()
instead.
Please send a fix.
Best regards,
Wolfgang Denk
--
Software Engineering: Embedded and Realtime Systems, Embedded Linux
Phone: (+49)-8142-4596-87 Fax: (+49)-8142-4596-88 Email: wd at denx.de
The most difficult thing in the world is to know how to do a thing
and to watch someone else doing it wrong, without commenting.
-- T.H. White
^ permalink raw reply [flat|nested] 5+ messages in thread
* [U-Boot-Users] Re: PATCH: bi_iic_fast[] initialization
2004-04-07 9:54 ` [U-Boot-Users] Re: PATCH: bi_iic_fast[] initialization Wolfgang Denk
@ 2004-04-07 14:58 ` Tolunay Orkun
2004-04-07 15:13 ` Wolfgang Denk
0 siblings, 1 reply; 5+ messages in thread
From: Tolunay Orkun @ 2004-04-07 14:58 UTC (permalink / raw)
To: u-boot
Wolfgang,
> Dear Tolunay,
>
>> * Allow bi_iic_fast[] to be initialized via env. variable "i2cfast"
>
> I think you should rework this patch. At the moment, you call
> getenv() in board_init_f() - but board_init_f() is still running from
> flash, which means that we don't have a full C runtime environment
> (uninitialized BSS, no writable data, limited stack space) so the use
> of getenv() is not allowd in that function. You may use getenv_r()
> instead.
I can convert it to use getenv_r() or I think it would be better to move
that section dealing with initialization of bi_iic_fast[] flags to
board_init_r(). bi_iic_fast[] is not used by u-boot itself. It is passed
to Linux.
I believe, there is no reason why it should be done by board_init_f().
Personally, the most appropriate place to initialize such things would be
right before u-boot boots the OS. The immediate changes to the environment
would also be captured without forcing an environment save and reset as
well.
What do you think? Which fix should I attempt:
1) Fix in board_init_f() using getenv_r()
2) Fix by moving to board_init_r()
3) Create a new function (say board_init_preboot) and move that section
into it. Hook board_init_preboot() to the existing boot functions (boot,
bootm etc. somehow)
> Please send a fix.
I will as soon as I get feedback from you.
Regards,
Tolunay
^ permalink raw reply [flat|nested] 5+ messages in thread
* [U-Boot-Users] Re: PATCH: bi_iic_fast[] initialization
2004-04-07 14:58 ` Tolunay Orkun
@ 2004-04-07 15:13 ` Wolfgang Denk
2004-04-07 16:46 ` [U-Boot-Users] PATCH: bi_iic_fast[] initialization relocated to board_init_r() Tolunay Orkun
0 siblings, 1 reply; 5+ messages in thread
From: Wolfgang Denk @ 2004-04-07 15:13 UTC (permalink / raw)
To: u-boot
In message <30399.216.110.51.8.1081349928.squirrel@www.orkun.us> you wrote:
>
> > I think you should rework this patch. At the moment, you call
> > getenv() in board_init_f() - but board_init_f() is still running from
> > flash, which means that we don't have a full C runtime environment
> > (uninitialized BSS, no writable data, limited stack space) so the use
> > of getenv() is not allowd in that function. You may use getenv_r()
> > instead.
>
> I can convert it to use getenv_r() or I think it would be better to move
> that section dealing with initialization of bi_iic_fast[] flags to
> board_init_r(). bi_iic_fast[] is not used by u-boot itself. It is passed
> to Linux.
Then move it to board_init_r(), please.
> Personally, the most appropriate place to initialize such things would be
> right before u-boot boots the OS. The immediate changes to the environment
> would also be captured without forcing an environment save and reset as
> well.
Be careful, though. Not everybody uses the same path to boot a kernel.
> 1) Fix in board_init_f() using getenv_r()
> 2) Fix by moving to board_init_r()
Go for 2.
> 3) Create a new function (say board_init_preboot) and move that section
> into it. Hook board_init_preboot() to the existing boot functions (boot,
> bootm etc. somehow)
No, please not yet another xxx_init_pre_before_early_reallybefore_preinit
function.
Best regards,
Wolfgang Denk
--
Software Engineering: Embedded and Realtime Systems, Embedded Linux
Phone: (+49)-8142-4596-87 Fax: (+49)-8142-4596-88 Email: wd at denx.de
He had quite a powerful intellect, but it was as powerful like a
locomotive, and ran on rails and was therefore almost impossible to
steer. - Terry Pratchett, _Lords and Ladies_
^ permalink raw reply [flat|nested] 5+ messages in thread
* [U-Boot-Users] PATCH: bi_iic_fast[] initialization relocated to board_init_r()
2004-04-07 15:13 ` Wolfgang Denk
@ 2004-04-07 16:46 ` Tolunay Orkun
2004-04-18 21:29 ` Wolfgang Denk
0 siblings, 1 reply; 5+ messages in thread
From: Tolunay Orkun @ 2004-04-07 16:46 UTC (permalink / raw)
To: u-boot
>> > I think you should rework this patch. At the moment, you call
>> > getenv() in board_init_f() - but board_init_f() is still running from
>> > flash, which means that we don't have a full C runtime environment
>> > (uninitialized BSS, no writable data, limited stack space) so the use
>> > of getenv() is not allowd in that function. You may use getenv_r()
>> > instead.
>>
>> I can convert it to use getenv_r() or I think it would be better to move
>> that section dealing with initialization of bi_iic_fast[] flags to
>> board_init_r(). bi_iic_fast[] is not used by u-boot itself. It is passed
>> to Linux.
>
> Then move it to board_init_r(), please.
Attached patch fixes this.
Changelog:
- Relocate initialization of bi_iic_fast[]
from board_init_f() to board_init_r()
Best regards,
Tolunay Orkun
-------------- next part --------------
A non-text attachment was scrubbed...
Name: bi_iic_fast_reloc.patch.gz
Type: application/x-gzip
Size: 719 bytes
Desc: not available
Url : http://lists.denx.de/pipermail/u-boot/attachments/20040407/fb6f3326/attachment.bin
^ permalink raw reply [flat|nested] 5+ messages in thread
* [U-Boot-Users] PATCH: bi_iic_fast[] initialization relocated to board_init_r()
2004-04-07 16:46 ` [U-Boot-Users] PATCH: bi_iic_fast[] initialization relocated to board_init_r() Tolunay Orkun
@ 2004-04-18 21:29 ` Wolfgang Denk
0 siblings, 0 replies; 5+ messages in thread
From: Wolfgang Denk @ 2004-04-18 21:29 UTC (permalink / raw)
To: u-boot
In message <33993.216.110.51.8.1081356365.squirrel@www.orkun.us> you wrote:
>
> Changelog:
>
> - Relocate initialization of bi_iic_fast[]
> from board_init_f() to board_init_r()
Thanks, added.
Best regards,
Wolfgang Denk
--
Software Engineering: Embedded and Realtime Systems, Embedded Linux
Phone: (+49)-8142-4596-87 Fax: (+49)-8142-4596-88 Email: wd at denx.de
The universe is all a spin-off of the Big Bang.
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2004-04-18 21:29 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <14824.216.110.51.8.1079378410.squirrel@www.orkun.us>
2004-04-07 9:54 ` [U-Boot-Users] Re: PATCH: bi_iic_fast[] initialization Wolfgang Denk
2004-04-07 14:58 ` Tolunay Orkun
2004-04-07 15:13 ` Wolfgang Denk
2004-04-07 16:46 ` [U-Boot-Users] PATCH: bi_iic_fast[] initialization relocated to board_init_r() Tolunay Orkun
2004-04-18 21:29 ` Wolfgang Denk
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox