[U-Boot] show_boot_progress

Albert ARIBAUD albert.u.boot at aribaud.net
Wed Feb 19 11:32:24 CET 2014


Hi Abdullah,

On Wed, 19 Feb 2014 11:44:26 +0200, Abdullah YILDIZ
<abdullah.mails at gmail.com> wrote:

> I use u-boot version 1.3.3.

Any reason to use a five-years-old release?

> The function call __show_boot_progress is
> defined in common/main.c as
> 
> void inline __show_boot_progress (int val) {}
> 
> There are many calls to this function in particular locations with
> specific parameters. But it does nothing. What is the purpose of this?

See below.

> Since I'm not a very good programmer, I also wonder the meaning of
> void inline  (int val) __attribute__((weak,
> alias("__show_boot_progress")));
> 
> Is it a directive to the compiler?

Yes, it is.

It tells the compiler that the function name 'show_boot_progress'
actually refers to function '__show_boot_progress', but that if
someother part of the program defines an actual function called
'show_boot_progress', then that definition is "strong" and will
replace the "weak" definition.

This is a common way to define a generic functionality where some
functions should be adapted on specific architectures or even boards.

Here, the boot progress framework defines a function to call to show
boot progress, but each board will have its own way of presenting that
progress to the board operator, and will implement is own "strong"
show_boot_progress function for this.

> abdullah

Amicalement,
-- 
Albert.


More information about the U-Boot mailing list