ASoC: max98388: fix unused function warnings
authorArnd Bergmann <arnd@arndb.de>
Fri, 16 Jun 2023 09:00:37 +0000 (11:00 +0200)
committerMark Brown <broonie@kernel.org>
Fri, 16 Jun 2023 11:56:06 +0000 (12:56 +0100)
The PM functions are never referenced when CONFIG_PM_SLEEP is
disabled:

sound/soc/codecs/max98388.c:854:12: error: unused function 'max98388_suspend' [-Werror,-Wunused-function]
static int max98388_suspend(struct device *dev)
           ^
sound/soc/codecs/max98388.c:864:12: error: unused function 'max98388_resume' [-Werror,-Wunused-function]
static int max98388_resume(struct device *dev)

Fix this by using the modern SYSTEM_SLEEP_PM_OPS() macro in place of
the deprecated SET_SYSTEM_SLEEP_PM_OPS() version, and use pm_sleep_ptr()
to hide the entire structure as well.

On a related note, the of_match_ptr() and ACPI_PTR() macros have the same
problem and would cause the device id table to be unused when the driver
is built-in and the respective subsystems are disabled. This does not
cause warnings unless -Wunused-const-variable is passed to the compiler,
but it's better to just not use the macros at all here.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Link: https://lore.kernel.org/r/20230616090156.2347850-1-arnd@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/max98388.c

index 8062a71..3d03c4b 100644 (file)
@@ -873,7 +873,7 @@ static int max98388_resume(struct device *dev)
 }
 
 static const struct dev_pm_ops max98388_pm = {
-       SET_SYSTEM_SLEEP_PM_OPS(max98388_suspend, max98388_resume)
+       SYSTEM_SLEEP_PM_OPS(max98388_suspend, max98388_resume)
 };
 
 static const struct regmap_config max98388_regmap = {
@@ -998,9 +998,9 @@ MODULE_DEVICE_TABLE(acpi, max98388_acpi_match);
 static struct i2c_driver max98388_i2c_driver = {
        .driver = {
                .name = "max98388",
-               .of_match_table = of_match_ptr(max98388_of_match),
-               .acpi_match_table = ACPI_PTR(max98388_acpi_match),
-               .pm = &max98388_pm,
+               .of_match_table = max98388_of_match,
+               .acpi_match_table = max98388_acpi_match,
+               .pm = pm_sleep_ptr(&max98388_pm),
        },
        .probe = max98388_i2c_probe,
        .id_table = max98388_i2c_id,