Re: [PATCH] staging: rtl8723bs: define wowlan_stub only when CONFIG_PM is enabled

From: Bryan Brattlof
Date: Mon Sep 13 2021 - 19:43:06 EST


On this day, September 13, 2021, thus sayeth Greg Kroah-Hartman:
> On Mon, Sep 13, 2021 at 02:10:12PM +0000, Bryan Brattlof wrote:
> > The wake-on-lan stub is needed only when the device power management
> > functionality is enabled in the kernel. Conditionally define
> > wowlan_stub to avoid potential unused object warnings.
> >
> > Signed-off-by: Bryan Brattlof <hello@xxxxxxxxxxxxxxxxx>
> > ---
> > drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c | 2 ++
> > 1 file changed, 2 insertions(+)
> >
> > diff --git a/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c b/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
> > index 34da8a569709..f4a9b4b7c97e 100644
> > --- a/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
> > +++ b/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
> > @@ -47,6 +47,7 @@ static const u32 rtw_cipher_suites[] = {
> > * Moreover wowlan has to be enabled via a the nl80211_set_wowlan callback.
> > * (from user space, e.g. iw phy0 wowlan enable)
> > */
> > +#if defined(CONFIG_PM)
> > static const struct wiphy_wowlan_support wowlan_stub = {
> > .flags = WIPHY_WOWLAN_ANY,
> > .n_patterns = 0,
> > @@ -54,6 +55,7 @@ static const struct wiphy_wowlan_support wowlan_stub = {
> > .pattern_min_len = 0,
> > .max_pkt_offset = 0,
> > };
> > +#endif
> >
> > static struct ieee80211_rate rtw_rates[] = {
> > RATETAB_ENT(10, 0x1, 0),
> > --
> > 2.30.2
> >
> >
>
> Do you get a build warning with the code as-is?
>
> Having #if in .c files is generally a bad idea, are you sure there is no
> other way to solve this?
>

Hi Greg,

Turns out I should have played with the CONFIG_PM setting more before I
sent you this patch. All of this can be ripped out. :)

This is the warning I get with staging-next being where it is now:

CC [M] drivers/staging/rtl8723bs/os_dep/xmit_linux.o
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c:50:42: warning: ‘wowlan_stub’ defined but not used [-Wunused-const-variable=]
50 | static const struct wiphy_wowlan_support wowlan_stub = {
| ^~~~~~~~~~~

I'm using tinyconfig plus the rtl8723bs driver and it's dependencies to
build a microscopic buildroot image for an Intel Compute Stick I managed
to get my hands on recently.

I assumed disabling the power management parts of the kernel produced it
and didn't think twice. :/

I'll be back with a v2 that rips all of this out.

Thanks again Greg,
~Bryan