All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christoph Niedermaier <cniedermaier@dh-electronics.com>
To: Tom Rini <trini@konsulko.com>
Cc: "u-boot@lists.denx.de" <u-boot@lists.denx.de>,
	Simon Glass <sjg@chromium.org>, Michael Walle <mwalle@kernel.org>,
	Quentin Schulz <quentin.schulz@cherry.de>,
	Marek Vasut <marex@denx.de>,
	Benedikt Spranger <b.spranger@linutronix.de>,
	Jerome Forissier <jerome.forissier@linaro.org>,
	John Ogness <john.ogness@linutronix.de>,
	Ilias Apalodimas <ilias.apalodimas@linaro.org>
Subject: RE: [PATCH] tiny-printf: Handle formatting of %p with an extra Kconfig
Date: Wed, 9 Apr 2025 11:44:27 +0000	[thread overview]
Message-ID: <063948ec5d3845daae97d4b9bc97c901@dh-electronics.com> (raw)
In-Reply-To: <20250408205826.GZ5495@bill-the-cat>

From: Tom Rini <trini@konsulko.com>
Sent: Tuesday, April 8, 2025 10:58 PM
> To: Christoph Niedermaier <cniedermaier@dh-electronics.com>
> Cc: u-boot@lists.denx.de; Simon Glass <sjg@chromium.org>; Michael Walle
> <mwalle@kernel.org>; Quentin Schulz <quentin.schulz@cherry.de>; Marek Vasut
> <marex@denx.de>; Benedikt Spranger <b.spranger@linutronix.de>; Jerome Forissier
> <jerome.forissier@linaro.org>; John Ogness <john.ogness@linutronix.de>; Ilias Apalodimas
> <ilias.apalodimas@linaro.org>
> Subject: Re: [PATCH] tiny-printf: Handle formatting of %p with an extra Kconfig
> 
> On Mon, Apr 07, 2025 at 10:56:14AM +0200, Christoph Niedermaier wrote:
> 
>> The formatting with %pa / %pap behaves like %x, which results in an
>> incorrect value being output. To improve this, a new fine-tuning
>> Kconfig XPL_USE_TINY_PRINTF_POINTER_SUPPORT for pointer formatting
>> has been added. If it is enabled, the output of %pa / %pap should
>> be correct, and if it is disabled, the pointer formatting is
>> completely unsupported. In addition to indicate unsupported formatting,
>> '?' will be output. This allows enabling pointer formatting only
>> when needed. For SPL_NET and NET_LWIP it is selected by default.
>> Then it also supports the formatting with %pm, %pM and %pI4.
>>
>> Signed-off-by: Christoph Niedermaier <cniedermaier@dh-electronics.com>
>> ---
>> Cc: Tom Rini <trini@konsulko.com>
>> Cc: Simon Glass <sjg@chromium.org>
>> Cc: Michael Walle <mwalle@kernel.org>
>> Cc: Quentin Schulz <quentin.schulz@cherry.de>
>> Cc: Marek Vasut <marex@denx.de>
>> Cc: Benedikt Spranger <b.spranger@linutronix.de>
>> Cc: Jerome Forissier <jerome.forissier@linaro.org>
>> Cc: John Ogness <john.ogness@linutronix.de>
>> Cc: Ilias Apalodimas <ilias.apalodimas@linaro.org>
>> ---
>>  Kconfig            |  1 +
>>  common/spl/Kconfig |  1 +
>>  lib/Kconfig        |  8 ++++++++
>>  lib/tiny-printf.c  | 45 +++++++++++++++++++--------------------------
>>  4 files changed, 29 insertions(+), 26 deletions(-)
>>
>> diff --git a/Kconfig b/Kconfig
>> index 6379a454166..4d13717294c 100644
>> --- a/Kconfig
>> +++ b/Kconfig
>> @@ -757,6 +757,7 @@ config NET
>>
>>  config NET_LWIP
>>  	bool "Use lwIP for networking stack"
>> +	select XPL_USE_TINY_PRINTF_POINTER_SUPPORT if SPL_USE_TINY_PRINTF || TPL_USE_TINY_PRINTF || VPL_USE_TINY_PRINTF
>>  	imply NETDEVICES
>>  	help
>>  	  Include networking support based on the lwIP (lightweight IP)
>> diff --git a/common/spl/Kconfig b/common/spl/Kconfig
>> index 94e118f8465..72736dbecf5 100644
>> --- a/common/spl/Kconfig
>> +++ b/common/spl/Kconfig
>> @@ -1096,6 +1096,7 @@ config SPL_DM_SPI_FLASH
>>  config SPL_NET
>>  	bool "Support networking"
>>  	depends on !NET_LWIP
>> +	select XPL_USE_TINY_PRINTF_POINTER_SUPPORT if SPL_USE_TINY_PRINTF || TPL_USE_TINY_PRINTF || VPL_USE_TINY_PRINTF
>>  	help
>>  	  Enable support for network devices (such as Ethernet) in SPL.
>>  	  This permits SPL to load U-Boot over a network link rather than
>> diff --git a/lib/Kconfig b/lib/Kconfig
>> index 1a683dea670..62e28d4a1f3 100644
>> --- a/lib/Kconfig
>> +++ b/lib/Kconfig
>> @@ -253,6 +253,14 @@ config VPL_USE_TINY_PRINTF
>>
>>  	  The supported format specifiers are %c, %s, %u/%d and %x.
>>
>> +config XPL_USE_TINY_PRINTF_POINTER_SUPPORT
>> +	bool "Extend tiny printf with the pointer formatting %p"
>> +	depends on SPL_USE_TINY_PRINTF || TPL_USE_TINY_PRINTF || VPL_USE_TINY_PRINTF
>> +	help
>> +	  This option enables the formatting of pointers %p. It supports
>> +	  %p and %pa / %pap. If this option is selected by SPL_NET or NET_LWIP
>> +	  it also supports the formatting with %pm, %pM and %pI4.
> 
> This isn't quite what I'd like to see. I don't want to start using the
> literal XPL namespace as that will lead to confusion down the line.

OK, in V2 I will only support SPL.

> Since we only have SPL_NET, I think we should name this symbol
> SPL_USE_TINY_PRINTF_POINTER_SUPPORT, not ask about it (so bool without
> "prompt text" following), and select from SPL_NET if
> SPL_USE_TINY_PRINTF.

Now you will get the output '?' when using formatting with %p or %pa.
If someone wants to use the pointer support e.g. %pa in pinctrl-single.c
and is restricted to use tiny printf, then it would be good to have
the option to enable it manually and not be forced to enable SPL_NET or
NET_LWIP to have the pointer support enabled. In this case, it makes
sense to allow switching it on in menuconfig.

Regards
Christoph

  reply	other threads:[~2025-04-09 11:45 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-04-07  8:56 [PATCH] tiny-printf: Handle formatting of %p with an extra Kconfig Christoph Niedermaier
2025-04-08 20:58 ` Tom Rini
2025-04-09 11:44   ` Christoph Niedermaier [this message]
2025-04-09 12:33     ` Michael Walle
2025-04-09 15:22       ` Tom Rini
2025-04-10 10:44         ` Michael Walle
2025-04-10 12:16           ` Christoph Niedermaier
2025-04-29 14:45             ` Christoph Niedermaier

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=063948ec5d3845daae97d4b9bc97c901@dh-electronics.com \
    --to=cniedermaier@dh-electronics.com \
    --cc=b.spranger@linutronix.de \
    --cc=ilias.apalodimas@linaro.org \
    --cc=jerome.forissier@linaro.org \
    --cc=john.ogness@linutronix.de \
    --cc=marex@denx.de \
    --cc=mwalle@kernel.org \
    --cc=quentin.schulz@cherry.de \
    --cc=sjg@chromium.org \
    --cc=trini@konsulko.com \
    --cc=u-boot@lists.denx.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.