[PATCH v2] drm/vc4: Unselect PM

Maxime Ripard maxime at cerno.tech
Fri Sep 24 08:23:34 PDT 2021


It turns out we can't select PM when allowing the compilation for
COMPILE_TEST. Indeed, PM might not be defined at all, or come with extra
requirements we can't meet.

This select was initially introduced since we need to call the
vc4_hdmi_runtime_resume() at probe time to make sure our device is
properly powered at bind time, no matter whether PM is there or not, and
we needed to make sure we didn't have a defined but not used warning for
vc4_hdmi_runtime_suspend().

This will still happen on platforms that don't define PM though, since
SET_RUNTIME_PM_OPS will then be a nop. In order to fix both issues,
let's remove the select, and add a __maybe_unused attribute to
vc4_hdmi_runtime_resume().

Reported-by: Randy Dunlap <rdunlap at infradead.org>
Signed-off-by: Maxime Ripard <maxime at cerno.tech>

---

I'm not sure how to merge this one, since this commit has been reverted
in Linus tree, and un-reverted in linux-next. Should we wait a bit until
the reworked version of the original commit has been merged again?

Maxime

Changes from v1:
  - remove select
  - add __maybe_unused to vc4_hdmi_runtime_resume
  - reword the commit log
---
 drivers/gpu/drm/vc4/Kconfig    | 1 -
 drivers/gpu/drm/vc4/vc4_hdmi.c | 2 +-
 2 files changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/vc4/Kconfig b/drivers/gpu/drm/vc4/Kconfig
index 52a1c309cb4a..345a5570a3da 100644
--- a/drivers/gpu/drm/vc4/Kconfig
+++ b/drivers/gpu/drm/vc4/Kconfig
@@ -9,7 +9,6 @@ config DRM_VC4
 	select DRM_KMS_CMA_HELPER
 	select DRM_GEM_CMA_HELPER
 	select DRM_PANEL_BRIDGE
-	select PM
 	select SND_PCM
 	select SND_PCM_ELD
 	select SND_SOC_GENERIC_DMAENGINE_PCM
diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c
index 500cdd56b335..1f2690ed8542 100644
--- a/drivers/gpu/drm/vc4/vc4_hdmi.c
+++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
@@ -2122,7 +2122,7 @@ static int vc5_hdmi_init_resources(struct vc4_hdmi *vc4_hdmi)
 	return 0;
 }
 
-static int vc4_hdmi_runtime_suspend(struct device *dev)
+static int __maybe_unused vc4_hdmi_runtime_suspend(struct device *dev)
 {
 	struct vc4_hdmi *vc4_hdmi = dev_get_drvdata(dev);
 
-- 
2.31.1




More information about the linux-arm-kernel mailing list