mail archive of the barebox mailing list
 help / color / mirror / Atom feed
From: Ahmad Fatoum <a.fatoum@pengutronix.de>
To: Sascha Hauer <sha@pengutronix.de>
Cc: barebox@lists.infradead.org
Subject: Re: [PATCH 02/14] common: console: add log_dprint to print to file descriptor
Date: Thu, 15 Apr 2021 09:43:33 +0200	[thread overview]
Message-ID: <9b68f2f3-fb1b-3c5a-d8a6-7c2098308050@pengutronix.de> (raw)
In-Reply-To: <20210415072544.GA19819@pengutronix.de>

Hello Sascha,

On 15.04.21 09:25, Sascha Hauer wrote:
> On Tue, Apr 13, 2021 at 12:34:50AM +0200, Ahmad Fatoum wrote:
>> It can be useful to dump the log into the file, e.g. when doing an
>> update from a USB flash drive with no serial peer attached. Board code
>> could use log_dprint to dump the log onto the drive. Add a function
>> to facilitate this.
>>
>> Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
>> ---
>>  common/console_common.c | 15 +++++++++++++++
>>  include/printk.h        |  1 +
>>  2 files changed, 16 insertions(+)
>>
>> diff --git a/common/console_common.c b/common/console_common.c
>> index 3e0741572398..77ad4728fbfd 100644
>> --- a/common/console_common.c
>> +++ b/common/console_common.c
>> @@ -182,6 +182,21 @@ static int console_common_init(void)
>>  }
>>  device_initcall(console_common_init);
>>  
>> +int log_dprint(int fd)
> 
> This function isn't used anywhere in this series, I would prefer to
> merge it along with a user.

The user code won't be upstreamed. It's a vendor-specific update
mechanism. It's still a useful function to have. Recovery via USB
stick seems to be not uncommon (see protonic board code for example)
and boards implementing this would benefit from being able to write
to log and then dump the log onto the USB stick for evaluation.

> Is printing to an opened filedescriptor the most useful semantics of
> this function? This only seems to make sense when other things should be
> written to the file as well, otherwise I would assume to pass a path to
> this function which then handles open/close also.


Hmm, yes. I can make it write to a supplied filename instead.

> 
> Sascha
> 
>> +{
>> +	struct log_entry *log;
>> +	int nbytes = 0;
>> +
>> +	list_for_each_entry(log, &barebox_logbuf, list) {
>> +		int ret = dputs(fd, log->msg);
>> +		if (ret < 0)
>> +			return ret;
>> +		nbytes += ret;
>> +	}
>> +
>> +	return nbytes;
>> +}
>> +
>>  void log_print(unsigned flags, unsigned levels)
>>  {
>>  	struct log_entry *log;
>> diff --git a/include/printk.h b/include/printk.h
>> index 94a25ec9ebac..798acfdbf188 100644
>> --- a/include/printk.h
>> +++ b/include/printk.h
>> @@ -141,6 +141,7 @@ extern void log_clean(unsigned int limit);
>>  #define BAREBOX_LOG_PRINT_ALERT		BIT(1)
>>  #define BAREBOX_LOG_PRINT_EMERG		BIT(0)
>>  
>> +int log_dprint(int fd);
>>  void log_print(unsigned flags, unsigned levels);
>>  
>>  struct va_format {
>> -- 
>> 2.29.2
>>
>>
>> _______________________________________________
>> barebox mailing list
>> barebox@lists.infradead.org
>> http://lists.infradead.org/mailman/listinfo/barebox
>>
> 

-- 
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 |

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox


  reply	other threads:[~2021-04-15  7:54 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-12 22:34 [PATCH 00/14] usb: gadget: refactor to allow easier extension Ahmad Fatoum
2021-04-12 22:34 ` [PATCH 01/14] show_progress: add system wide progress stage notifier Ahmad Fatoum
2021-04-15  7:29   ` Sascha Hauer
2021-04-15  7:39     ` Ahmad Fatoum
2021-04-12 22:34 ` [PATCH 02/14] common: console: add log_dprint to print to file descriptor Ahmad Fatoum
2021-04-15  7:25   ` Sascha Hauer
2021-04-15  7:43     ` Ahmad Fatoum [this message]
2021-04-12 22:34 ` [PATCH 03/14] string: implement strstarts along with strends Ahmad Fatoum
2021-04-12 22:34 ` [PATCH 04/14] vsprintf: introduce %m shorthand for "%s", strerror(errno) Ahmad Fatoum
2021-04-12 22:34 ` [PATCH 05/14] param: introduce file-list parameter type Ahmad Fatoum
2021-04-12 22:34 ` [PATCH 06/14] common: add generic machine partitions interface Ahmad Fatoum
2021-04-14 10:08   ` Sascha Hauer
2021-04-14 10:20     ` Ahmad Fatoum
2021-04-12 22:34 ` [PATCH 07/14] fastboot: handle ill-named partitions gracefully Ahmad Fatoum
2021-04-12 22:34 ` [PATCH 08/14] usb: gadget: dfu: change status message to info log level Ahmad Fatoum
2021-04-12 22:34 ` [PATCH 09/14] usbgadget: autostart: fix indeterminism around usbgadget.autostart Ahmad Fatoum
2021-04-12 22:34 ` [PATCH 10/14] usbgadget: allow DFU and Fastboot functions to coexist Ahmad Fatoum
2021-04-12 22:34 ` [PATCH 11/14] fastboot/dfu: use machine partitions as fall back Ahmad Fatoum
2021-04-12 22:35 ` [PATCH 12/14] bbu: add function to directly add handlers into file_list Ahmad Fatoum
2021-04-12 22:35 ` [PATCH 13/14] file_list: add file_list_detect_all() Ahmad Fatoum
2021-04-12 22:35 ` [PATCH 14/14] common: make FILE_LIST feature unconditional Ahmad Fatoum

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=9b68f2f3-fb1b-3c5a-d8a6-7c2098308050@pengutronix.de \
    --to=a.fatoum@pengutronix.de \
    --cc=barebox@lists.infradead.org \
    --cc=sha@pengutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox