From: Paul Cercueil <paul@crapouillou.net>
To: Arend van Spriel <arend.vanspriel@broadcom.com>
Cc: Arend van Spriel <aspriel@gmail.com>,
Franky Lin <franky.lin@broadcom.com>,
Hante Meuleman <hante.meuleman@broadcom.com>,
Kalle Valo <kvalo@kernel.org>,
linux-wireless@vger.kernel.org,
brcm80211-dev-list.pdl@broadcom.com,
SHA-cyfmac-dev-list@infineon.com, netdev@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH] brcmfmac: Remove #ifdef guards for PM related functions
Date: Tue, 19 Apr 2022 18:22:09 +0100 [thread overview]
Message-ID: <X8KLAR.4CU0LCMZIMJH@crapouillou.net> (raw)
In-Reply-To: <afb9ea60-7f93-a646-da82-4f408051c748@broadcom.com>
Hi Arend,
Le lun., avril 18 2022 at 09:09:46 +0200, Arend van Spriel
<arend.vanspriel@broadcom.com> a écrit :
> On 4/15/2022 10:03 PM, Paul Cercueil wrote:
>> Use the new DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() macros to
>> handle the .suspend/.resume callbacks.
>>
>> These macros allow the suspend and resume functions to be
>> automatically
>> dropped by the compiler when CONFIG_SUSPEND is disabled, without
>> having
>> to use #ifdef guards. The advantage is then that these functions are
>> not
>> conditionally compiled.
>
> The advantage stated here may not be obvious to everyone and that is
> because it only scratches the surface. The code is always compiled
> independent from the Kconfig options used and because of that the
> real advantage is that build regressions are easier to catch.
Exactly. I will improve the commit message to make this a bit more
explicit.
>> Some other functions not directly called by the .suspend/.resume
>> callbacks, but still related to PM were also taken outside #ifdef
>> guards.
>
> a few comments on this inline...
>
>> Signed-off-by: Paul Cercueil <paul@crapouillou.net>
>> ---
>> .../broadcom/brcm80211/brcmfmac/bcmsdh.c | 44
>> +++++++------------
>> .../broadcom/brcm80211/brcmfmac/sdio.c | 5 +--
>> .../broadcom/brcm80211/brcmfmac/sdio.h | 16 -------
>> 3 files changed, 19 insertions(+), 46 deletions(-)
>>
>> diff --git
>> a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c
>> b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c
>> index ac02244a6fdf..a8cf5a570101 100644
>> --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c
>> +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c
>
> [...]
>
>> @@ -873,7 +865,8 @@ int brcmf_sdiod_remove(struct brcmf_sdio_dev
>> *sdiodev)
>> sdiodev->bus = NULL;
>> }
>> \x7f- brcmf_sdiod_freezer_detach(sdiodev);
>> + if (IS_ENABLED(CONFIG_PM_SLEEP))
>> + brcmf_sdiod_freezer_detach(sdiodev);
>
> Please move the if statement inside the function to keep the code
> flow in the calling function the same as before.
>
>> \x7f /* Disable Function 2 */
>> sdio_claim_host(sdiodev->func2);
>> @@ -949,9 +942,11 @@ int brcmf_sdiod_probe(struct brcmf_sdio_dev
>> *sdiodev)
>> goto out;
>> }
>> \x7f- ret = brcmf_sdiod_freezer_attach(sdiodev);
>> - if (ret)
>> - goto out;
>> + if (IS_ENABLED(CONFIG_PM_SLEEP)) {
>> + ret = brcmf_sdiod_freezer_attach(sdiodev);
>> + if (ret)
>> + goto out;
>> + }
>
> Dito. Move the if statement inside the function.
Sure.
Cheers,
-Paul
>
>> \x7f /* try to attach to the target device */
>> sdiodev->bus = brcmf_sdio_probe(sdiodev);
prev parent reply other threads:[~2022-04-19 17:22 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-04-15 20:03 [PATCH] brcmfmac: Remove #ifdef guards for PM related functions Paul Cercueil
2022-04-18 7:09 ` Arend van Spriel
2022-04-19 17:22 ` Paul Cercueil [this message]
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=X8KLAR.4CU0LCMZIMJH@crapouillou.net \
--to=paul@crapouillou.net \
--cc=SHA-cyfmac-dev-list@infineon.com \
--cc=arend.vanspriel@broadcom.com \
--cc=aspriel@gmail.com \
--cc=brcm80211-dev-list.pdl@broadcom.com \
--cc=franky.lin@broadcom.com \
--cc=hante.meuleman@broadcom.com \
--cc=kvalo@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-wireless@vger.kernel.org \
--cc=netdev@vger.kernel.org \
/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