]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
ALSA: hda: cix-ipbloq: Use modern PM ops
authorNathan Chancellor <nathan@kernel.org>
Thu, 11 Dec 2025 01:50:03 +0000 (10:50 +0900)
committerTakashi Iwai <tiwai@suse.de>
Thu, 11 Dec 2025 08:44:10 +0000 (09:44 +0100)
When building without CONFIG_PM_SLEEP, there are several warnings (or
errors with CONFIG_WERROR=y / W=e) from the cix-ipbloq driver:

  sound/hda/controllers/cix-ipbloq.c:378:12: error: 'cix_ipbloq_hda_runtime_resume' defined but not used [-Werror=unused-function]
    378 | static int cix_ipbloq_hda_runtime_resume(struct device *dev)
        |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  sound/hda/controllers/cix-ipbloq.c:362:12: error: 'cix_ipbloq_hda_runtime_suspend' defined but not used [-Werror=unused-function]
    362 | static int cix_ipbloq_hda_runtime_suspend(struct device *dev)
        |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  sound/hda/controllers/cix-ipbloq.c:349:12: error: 'cix_ipbloq_hda_resume' defined but not used [-Werror=unused-function]
    349 | static int cix_ipbloq_hda_resume(struct device *dev)
        |            ^~~~~~~~~~~~~~~~~~~~~
  sound/hda/controllers/cix-ipbloq.c:336:12: error: 'cix_ipbloq_hda_suspend' defined but not used [-Werror=unused-function]
    336 | static int cix_ipbloq_hda_suspend(struct device *dev)
        |            ^~~~~~~~~~~~~~~~~~~~~~

When CONFIG_PM and CONFIG_PM_SLEEP are unset, SET_SYSTEM_SLEEP_PM_OPS()
and SET_RUNTIME_PM_OPS() evaluate to nothing, so these functions appear
unused to the compiler in this configuration.

Use the modern SYSTEM_SLEEP_PM_OPS and RUNTIME_PM_OPS macros to resolve
these warnings, which is what they are intended to do. Additionally,
wrap &cix_ipbloq_hda_pm in pm_ptr() to ensure the compiler can drop the
entire structure when CONFIG_PM is unset.

Fixes: d91e9bd10125 ("ALSA: hda: add CIX IPBLOQ HDA controller support")
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
Link: https://patch.msgid.link/20251211-hda-cix-ipbloq-modern-pm-ops-v1-1-c7a5580af021@kernel.org
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/hda/controllers/cix-ipbloq.c

index cc9153692ef53e7690aea8ab0abdc8bb0330c824..99f9f48e91d4b4cc4b84e9a0fc620610f275982b 100644 (file)
@@ -407,10 +407,10 @@ static int cix_ipbloq_hda_runtime_resume(struct device *dev)
 }
 
 static const struct dev_pm_ops cix_ipbloq_hda_pm = {
-       SET_SYSTEM_SLEEP_PM_OPS(cix_ipbloq_hda_suspend,
-                               cix_ipbloq_hda_resume)
-       SET_RUNTIME_PM_OPS(cix_ipbloq_hda_runtime_suspend,
-                          cix_ipbloq_hda_runtime_resume, NULL)
+       SYSTEM_SLEEP_PM_OPS(cix_ipbloq_hda_suspend,
+                           cix_ipbloq_hda_resume)
+       RUNTIME_PM_OPS(cix_ipbloq_hda_runtime_suspend,
+                      cix_ipbloq_hda_runtime_resume, NULL)
 };
 
 static const struct of_device_id cix_ipbloq_hda_match[] = {
@@ -422,7 +422,7 @@ MODULE_DEVICE_TABLE(of, cix_ipbloq_hda_match);
 static struct platform_driver cix_ipbloq_hda_driver = {
        .driver = {
                .name = "cix-ipbloq-hda",
-               .pm = &cix_ipbloq_hda_pm,
+               .pm = pm_ptr(&cix_ipbloq_hda_pm),
                .of_match_table = cix_ipbloq_hda_match,
        },
        .probe = cix_ipbloq_hda_probe,