From: Andre Przywara <andre.przywara@arm.com>
To: Quentin Schulz <quentin.schulz@cherry.de>,
Paul Kocialkowski <paulk@sys-base.io>
Cc: u-boot@lists.denx.de, Tom Rini <trini@konsulko.com>,
Jernej Skrabec <jernej.skrabec@gmail.com>,
linux-sunxi@lists.linux.dev
Subject: Re: [PATCH 1/3] sunxi: spl: fix SPL_SUNXI_LED active low configuration
Date: Mon, 27 Apr 2026 15:07:43 +0200 [thread overview]
Message-ID: <33493bbd-2364-4015-a3ab-858992800da9@arm.com> (raw)
In-Reply-To: <cf689aa6-4852-41c1-9c49-3c208e40d76b@cherry.de>
Hi Quentin, Paul,
ah, it seems like LEDs are the "embedded bike shed", let me add my shade
of blue ;-)
On 4/21/26 19:12, Quentin Schulz wrote:
> Hi Paul,
>
> On 4/9/26 5:56 PM, Paul Kocialkowski wrote:
>> Hi,
>>
>> On Wed 08 Apr 26, 00:34, Andre Przywara wrote:
>>> The newly introduced Allwinner SPL LED "framework" defined a
>>> SPL_SUNXI_LED_STATUS_STATE Kconfig symbol, that was supposed to denote
>>> the active-low vs. active-high polarity of the LED. However this is
>>> a bool symbol, so it will simply vanish if not defined, and we cannot
>>> use
>>> it directly inside a C statement.
>>>
>>> Filter the symbol through the IS_ENABLED() macro, which will return 0 if
>>> the symbol is not defined, which is the intended value here.
>>>
>>> This fixes configuring LEDs with active-low polarity.
>>>
>>> Signed-off-by: Andre Przywara <andre.przywara@arm.com>
>>> ---
>>> board/sunxi/board.c | 2 +-
>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/board/sunxi/board.c b/board/sunxi/board.c
>>> index d7722d1858a..80dcae9c1a4 100644
>>> --- a/board/sunxi/board.c
>>> +++ b/board/sunxi/board.c
>>> @@ -563,7 +563,7 @@ static void sunxi_spl_store_dram_size(phys_addr_t
>>> dram_size)
>>> static void status_led_init(void)
>>> {
>>> #if CONFIG_IS_ENABLED(SUNXI_LED_STATUS)
>>> - unsigned int state = CONFIG_SPL_SUNXI_LED_STATUS_STATE;
>>> + unsigned int state = IS_ENABLED(CONFIG_SPL_SUNXI_LED_STATUS_STATE);
>>
>> Sorry I didn't react to the initial submission, but it feels like the
>> CONFIG_SPL_SUNXI_LED_STATUS_STATE symbol really means active-high if
>> enabled
>> and active-low if disabled. The name would suggest that it's an int
>> with a value
>> of either 0 or 1 instead.
>>
>
> Yeah, I lazily renamed the old CONFIG_LED_STATUS_STATE which used to be
> an int range (0..2) and made it both specific for Allwinner as well as
> changing it into a bool.
>
>> I think it would be less confusing to call the symbol
>> CONFIG_SPL_SUNXI_LED_STATUS_ACTIVE_LOW and reverse its meaning, so
>> that we can
>> spare defining it in most configs (that will be active-high).
>
> You can also have
> default y
> in your symbol to not have to reverse the meaning.
So what about:
config CONFIG_SPL_SUNXI_LED_STATUS_ACTIVE_HIGH
default y
then?
>
>> Also the description currently mentions "initial state" which may be
>> confusing
>> as it could refer to the state inherited after reset (e.g. due to some
>> pull
>> resistor) or the state we do set in the SPL.
>>
>
> It was the prompt for the now removed LED_STATUS_STATE. What are you
> suggesting instead?
I came up with:
Whether the GPIO of the status LED must be set high or low to turn the
LED on.
Thoughts?
>
>>> unsigned int gpio = CONFIG_SPL_SUNXI_LED_STATUS_BIT;
>>
>> And while at it I would rename this to something like:
>> CONFIG_SPL_SUNXI_LED_STATUS_GPIO since it indicates the GPIO number,
>> not a
>> specific bit in a sunxi-specific kind of register.
>>
>
> Also a remnant of LED_STATUS_BIT* symbols. Either work for me.
Yes, indeed CONFIG_LED_STATUS_GPIO makes much more sense.
Let me know what you think.
Cheers,
Andre
>
> Cheers,
> Quentin
next prev parent reply other threads:[~2026-04-27 13:07 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-07 22:34 [PATCH 0/3] sunxi: Fix and extend SPL power LED support Andre Przywara
2026-04-07 22:34 ` [PATCH 1/3] sunxi: spl: fix SPL_SUNXI_LED active low configuration Andre Przywara
2026-04-08 8:27 ` Quentin Schulz
2026-04-09 15:56 ` Paul Kocialkowski
2026-04-21 17:12 ` Quentin Schulz
2026-04-27 13:07 ` Andre Przywara [this message]
2026-04-27 17:27 ` Quentin Schulz
2026-04-28 9:51 ` Paul Kocialkowski
2026-04-07 22:34 ` [PATCH 2/3] sunxi: configs: enable power LEDs on 32-bit boards Andre Przywara
2026-04-07 22:34 ` [PATCH 3/3] sunxi: configs: enable power LEDs on 64-bit boards Andre Przywara
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=33493bbd-2364-4015-a3ab-858992800da9@arm.com \
--to=andre.przywara@arm.com \
--cc=jernej.skrabec@gmail.com \
--cc=linux-sunxi@lists.linux.dev \
--cc=paulk@sys-base.io \
--cc=quentin.schulz@cherry.de \
--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.