[PATCH 01/14] show_progress: add system wide progress stage notifier

Ahmad Fatoum a.fatoum at pengutronix.de
Thu Apr 15 08:39:15 BST 2021


Hi,

On 15.04.21 09:29, Sascha Hauer wrote:
> On Tue, Apr 13, 2021 at 12:34:49AM +0200, Ahmad Fatoum wrote:
>> Use case is e.g. board code that wants to register a client to light
>> status LEDs to indicate system state when no serial output is available.
>> This functionality doesn't increase code size due to linker GC when
>> CONFIG_PROGRESS_NOTIFIER is disabled.
>>
>> There is a generic progress notifier provided that just logs the
>> status. This could be shared with the booted kernel via pstore or
>> the log as a whole written to a system setup USB drive.
>>
>> Signed-off-by: Ahmad Fatoum <a.fatoum at pengutronix.de>
>> ---
>>  include/progress.h  | 43 +++++++++++++++++++++++++++++++++++++++++++
>>  lib/Kconfig         |  6 ++++++
>>  lib/show_progress.c | 28 ++++++++++++++++++++++++++++
>>  3 files changed, 77 insertions(+)
>>
>> diff --git a/include/progress.h b/include/progress.h
>> index 50b15fb12b4c..7230bd3a9bd5 100644
>> --- a/include/progress.h
>> +++ b/include/progress.h
>> @@ -3,6 +3,8 @@
>>  #define __PROGRSS_H
>>  
>>  #include <linux/types.h>
>> +#include <notifier.h>
>> +#include <errno.h>
>>  
>>  /* Initialize a progress bar. If max > 0 a one line progress
>>   * bar is printed where 'max' corresponds to 100%. If max == 0
>> @@ -15,4 +17,45 @@ void init_progression_bar(loff_t max);
>>   */
>>  void show_progress(loff_t now);
>>  
>> +extern struct notifier_head progress_notifier;
>> +
>> +enum progress_stage {
>> +	PROGRESS_UNSPECIFIED = 0,
>> +	PROGRESS_UPDATING,
>> +	PROGRESS_UPDATE_SUCCESS,
>> +	PROGRESS_UPDATE_FAIL,
>> +};
> 
> Neither the commit message nor the function names say it, but here it
> seems the progress is only used in context of a software update. Do you
> anticipate going other types of progress here as well?

I don't need any other progress stages myself. If the need arises, they
can be added though. Progress notifiees are supposed to ignore stages
they don't know about.

Cheers,
Ahmad

> 
> Sascha
> 

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



More information about the barebox mailing list