[PATCH] drivers/pcmcia: Fix ifdef covering yenta_pm_ops

Paul E. McKenney posted 1 patch 4 years, 5 months ago
[PATCH] drivers/pcmcia: Fix ifdef covering yenta_pm_ops
Posted by Paul E. McKenney 4 years, 5 months ago
Currently, yenta_dev_suspend_noirq(), yenta_dev_resume_noirq(),
and yenta_pm_ops are covered by "#ifdef CONFIG_PM", which results in
compiler warnings in kernels built with CONFIG_PM_SLEEP=n and CONFIG_PM=y:

drivers/pcmcia/yenta_socket.c:1322:12: warning: ‘yenta_dev_resume_noirq’ defined but not used [-Wunused-function]
 1322 | static int yenta_dev_resume_noirq(struct device *dev)
      |            ^~~~~~~~~~~~~~~~~~~~~~
drivers/pcmcia/yenta_socket.c:1303:12: warning: ‘yenta_dev_suspend_noirq’ defined but not used [-Wunused-function]
 1303 | static int yenta_dev_suspend_noirq(struct device *dev)
      |            ^~~~~~~~~~~~~~~~~~~~~~~

This affects kernels built without suspend and hibernation.

Avoid these warnings by using "#ifdef CONFIG_PM_SLEEP".

Fixes: 3daaf2c7aae8 ("pcmcia: Make use of the helper macro SET_NOIRQ_SYSTEM_SLEEP_PM_OPS()")
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
Cc: Masahiro Yamada <masahiroy@kernel.org>

diff --git a/drivers/pcmcia/yenta_socket.c b/drivers/pcmcia/yenta_socket.c
index 837877daed622..3966a6ceb1ac7 100644
--- a/drivers/pcmcia/yenta_socket.c
+++ b/drivers/pcmcia/yenta_socket.c
@@ -1299,7 +1299,7 @@ static int yenta_probe(struct pci_dev *dev, const struct pci_device_id *id)
 	return ret;
 }
 
-#ifdef CONFIG_PM
+#ifdef CONFIG_PM_SLEEP
 static int yenta_dev_suspend_noirq(struct device *dev)
 {
 	struct pci_dev *pdev = to_pci_dev(dev);
Re: [PATCH] drivers/pcmcia: Fix ifdef covering yenta_pm_ops
Posted by Linus Torvalds 4 years, 5 months ago
On Tue, Jan 11, 2022 at 1:54 PM Paul E. McKenney <paulmck@kernel.org> wrote:
>
> Currently, yenta_dev_suspend_noirq(), yenta_dev_resume_noirq(),
> and yenta_pm_ops are covered by "#ifdef CONFIG_PM", which results in
> compiler warnings in kernels built with CONFIG_PM_SLEEP=n and CONFIG_PM=y:

Hmm. Wasn't the pcmcia tree in -next? Or how did this get missed?

Anyway, applied directly. Thanks,

            Linus
Re: [PATCH] drivers/pcmcia: Fix ifdef covering yenta_pm_ops
Posted by Paul E. McKenney 4 years, 5 months ago
On Tue, Jan 11, 2022 at 02:50:26PM -0800, Linus Torvalds wrote:
> On Tue, Jan 11, 2022 at 1:54 PM Paul E. McKenney <paulmck@kernel.org> wrote:
> >
> > Currently, yenta_dev_suspend_noirq(), yenta_dev_resume_noirq(),
> > and yenta_pm_ops are covered by "#ifdef CONFIG_PM", which results in
> > compiler warnings in kernels built with CONFIG_PM_SLEEP=n and CONFIG_PM=y:
> 
> Hmm. Wasn't the pcmcia tree in -next? Or how did this get missed?

This bug happens when running the rcuscale and refscale tests, not the
usual rcu, lock, and scf torture tests.  So I would catch it only if
I ran my overnight torture-everything test against -next during the
critical time, which I failed to do this time.  :-/

My guess is that others building such kernels don't often test against
-next.

For whatever it is worth, here is my overnight torture-everything test,
which takes about 15 hours on a 16-CPU system:

./tools/testing/selftests/rcutorture/bin/torture.sh --duration 10 --do-kcsan --kcsan-kmake-arg "CC=clang-11"

> Anyway, applied directly. Thanks,

Thank you!

							Thanx, Paul