From: Ping-Ke Shih <pkshih@realtek.com>
To: Arnd Bergmann <arnd@arndb.de>, Arnd Bergmann <arnd@kernel.org>,
"Johnson Tsai" <wenjie.tsai@realtek.com>
Cc: "rtl8821cerfe2@gmail.com" <rtl8821cerfe2@gmail.com>,
"linux-wireless@vger.kernel.org" <linux-wireless@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: RE: [PATCH] wifi: rtw89: fix LED dependencies
Date: Fri, 2 Oct 2026 00:22:09 +0000 [thread overview]
Message-ID: <bdb19ff5e0bc456cb035a1aa0124612f@realtek.com> (raw)
In-Reply-To: <0162247f-ca33-4152-bd32-255343c7216b@app.fastmail.com>
Arnd Bergmann <arnd@arndb.de> wrote:
> On Wed, Sep 30, 2026, at 02:28, Ping-Ke Shih wrote:
> > Arnd Bergmann <arnd@kernel.org> wrote:
> >> The problem is a misunderstanding of how Kconfig dependencies
> >> work, as the 'imply' keyword is not sufficient to enable a
> >> a user-visible dependency, and the boolean 'RTW89_LEDS_MC'
> >> symbol cannot determine whether linking against the MC code is
> >> valid.
> >
> > People intend to weakly select the dependency. I think keeping
> > 'imply' is harmless.
>
> Whoever those 'people' are, please tell them to stop using 'imply'.
>
> It's obviously harmless in the sense that it doesn't do enforce
> anything, it just make it more error-prone:
>
> - the first 'imply' only works because MAC80211_LEDS has
> the same dependency as RTW89_LEDS, so it works as a 'select'
> as long as the dependencies don't change. If the dependency
> were to change, the only difference is that imply makes it
> harder to debug because it skips the helpful message from
> kconfig.
>
> - the second 'imply' turns on a random symbol from another
> subsystem, which is discouraged.
>
> - we already have a mix of 'depends on' and 'select'
> for the LED support, which can lead to circular dependencies
> and other problems. Adding a third way can only make it
> worse.
>
Agree. I'll remove these two discouraged 'imply'.
> >> Address this by using the correct construct to determing whether
> >> linking agains the MAC80211_LEDS and LEDS_CLASS_MULTICOLOR
> >> code is possible, respectively.
> >>
> >> Fixes: d910631ff352 ("wifi: rtw89: add LED support to reflect the wireless association status")
> >> Fixes: 721d90c8509a ("wifi: rtw89: add multicolor LED support for RTL8852CU valve board")
> >> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> >> ---
> >> drivers/net/wireless/realtek/rtw89/Kconfig | 6 ++----
> >> 1 file changed, 2 insertions(+), 4 deletions(-)
> >>
> >> diff --git a/drivers/net/wireless/realtek/rtw89/Kconfig
> >> b/drivers/net/wireless/realtek/rtw89/Kconfig
> >> index 7c678dd1f6b3..4000ae344544 100644
> >> --- a/drivers/net/wireless/realtek/rtw89/Kconfig
> >> +++ b/drivers/net/wireless/realtek/rtw89/Kconfig
> >> @@ -208,15 +208,13 @@ config RTW89_DEBUGFS
> >> config RTW89_LEDS
> >> bool
> >> depends on RTW89_CORE
> >> - depends on LEDS_CLASS=y || LEDS_CLASS=MAC80211
> >
> > I remember we fixed to this style years ago by imitating ath10k and iwlwifi,
> > which they look like that still.
>
> ath10k doesn't use ieee80211_led but seems to just duplicate that code.
>
> I do see that my version also got it wrong, as the
>
> + depends on MAC80211_LEDS=y || MAC80211_LEDS=RTW89_CORE
>
> line is nonsense with MAC80211_LEDS being a 'bool' symbol.
>
> The way this was meant to be used is to have
>
> config RTW89_LEDS
> def_bool RTW89_CORE && MAC80211_LEDS
>
I'd keep first block as
depends on LEDS_CLASS=y || LEDS_CLASS=MAC80211
mac80211 implements ieee80211_get_assoc_led_name() used by this driver as
static inline const char *ieee80211_get_assoc_led_name(struct ieee80211_hw *hw)
{
#ifdef CONFIG_MAC80211_LEDS
return __ieee80211_get_assoc_led_name(hw);
#else
return NULL;
#endif
}
That means if CONFIG_MAC80211_LEDS wasn't defined, driver can still use
ieee80211_get_assoc_led_name() as default trigger, but just NULL.
More, use space can adjust LED trigger via sysfs, so having LED support
is still usable if LEDS_CLASS exists.
Ping-Ke
next prev parent reply other threads:[~2026-10-02 0:22 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-29 10:41 Arnd Bergmann
2026-09-30 0:28 ` Ping-Ke Shih
2026-09-30 7:52 ` Arnd Bergmann
2026-10-02 0:22 ` Ping-Ke Shih [this message]
2026-10-02 6:11 ` Arnd Bergmann
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=bdb19ff5e0bc456cb035a1aa0124612f@realtek.com \
--to=pkshih@realtek.com \
--cc=arnd@arndb.de \
--cc=arnd@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-wireless@vger.kernel.org \
--cc=rtl8821cerfe2@gmail.com \
--cc=wenjie.tsai@realtek.com \
/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
all inboxes | Powered by JetHome®