[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240411222145.rkjz3cfzudjfnkdt@synopsys.com>
Date: Thu, 11 Apr 2024 22:21:47 +0000
From: Thinh Nguyen <Thinh.Nguyen@...opsys.com>
To: Anand Moon <linux.amoon@...il.com>
CC: Thinh Nguyen <Thinh.Nguyen@...opsys.com>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Krzysztof Kozlowski <krzysztof.kozlowski@...aro.org>,
Alim Akhtar <alim.akhtar@...sung.com>,
Christophe JAILLET <christophe.jaillet@...adoo.fr>,
Johan Hovold <johan@...nel.org>,
"linux-usb@...r.kernel.org" <linux-usb@...r.kernel.org>,
"linux-arm-kernel@...ts.infradead.org" <linux-arm-kernel@...ts.infradead.org>,
"linux-samsung-soc@...r.kernel.org" <linux-samsung-soc@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH v2 6/6] usb: dwc3: exynos: Switch from CONFIG_PM_SLEEP
guards to pm_sleep_ptr()
On Thu, Apr 11, 2024, Anand Moon wrote:
> Hi Thinh,
>
> On Thu, 11 Apr 2024 at 04:56, Thinh Nguyen <Thinh.Nguyen@...opsys.com> wrote:
> >
> > On Wed, Apr 10, 2024, Anand Moon wrote:
> > > Hi Thinh,
> > >
> > > On Tue, 9 Apr 2024 at 07:24, Thinh Nguyen <Thinh.Nguyen@...opsys.com> wrote:
> > > >
> > > > On Thu, Apr 04, 2024, Anand Moon wrote:
> > > > > Use the new PM macros for the suspend and resume functions to be
> > > > > automatically dropped by the compiler when CONFIG_PM_SLEEP are disabled,
> > > > > without having to use #ifdef guards. If CONFIG_PM_SLEEP unused,
> > > > > they will simply be discarded by the compiler.
> > > > >
> > > > > Signed-off-by: Anand Moon <linux.amoon@...il.com>
> > > > > ---
> > > > > v2: add __maybe_unused to suspend/resume functions in case CONFIG_PM is
> > > > > disabled.
> > > >
> > > > The compiler discards the code, yet we still need __maybe_unused?
> > > >
> > > Earlier version had not added this since but I removed the
> > > guard.CONFIG_PM_SLEEP.
> > > added __maybe_unused just to safeguard the function.
> > >
> > > I have tried to build with config by disabling CONFIG_PM and CONFIG_PM_SLEEP
> > > but could get the warning compilation by adding flag W=1
> > > -Werror=unused-function.
> > >
> >
> > <snip>
> >
> > >
> > > But since these CONFIG_PM and CONFIG_PM_SLEEP cannot be disabled,
> > > I am not getting any warning related to these functions.
> > >
> > > Do you want me to remove __maybe_unused ?
> > >
> >
> > The warning was there as expected. You should to use it along with
> > DEFINE_SIMPLE_DEV_PM_OPS(). Let me know if you still see the same
> > warning.
> >
>
> But the warnings are related to the following macros
>
> #define PTR_IF(cond, ptr) ((cond) ? (ptr) : NULL)
>
> #define pm_ptr(_ptr) PTR_IF(IS_ENABLED(CONFIG_PM), (_ptr))
> #define pm_sleep_ptr(_ptr) PTR_IF(IS_ENABLED(CONFIG_PM_SLEEP), (_ptr))
>
> So if we can disable CONFIG_PM and CONFIG_PM_SLEEP options
> the relevant function with the above macro will be set to NULL.
> in this case, the compiler will discard the function in SET_SYSTEM_SLEEP_PM_OPS
>
There are differences if you use SET_SYSTEM_SLEEP_PM_OPS vs the new
macro. It's noted in this commit:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=1a3c7bb088266fa2db017be299f91f1c1894c857
Please try it out.
Thanks,
Thinh
Powered by blists - more mailing lists