ALSA: echoaudio: Simplify with DEFINE_SIMPLE_DEV_PM_OPS()
authorTakashi Iwai <tiwai@suse.de>
Wed, 7 Feb 2024 15:51:31 +0000 (16:51 +0100)
committerTakashi Iwai <tiwai@suse.de>
Mon, 12 Feb 2024 10:50:25 +0000 (11:50 +0100)
Use the new DEFINE_SIMPLE_DEV_PM_OPS() instead of SIMPLE_DEV_PM_OPS()
for code-simplification.  We need no longer CONFIG_PM_SLEEP ifdefs.

This ends up with the allocation of firmware caches if it's not really
used without CONFIG_PM, but the code simplification should justify the
cost.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Link: https://lore.kernel.org/r/20240207155140.18238-21-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/echoaudio/echoaudio.c
sound/pci/echoaudio/echoaudio.h

index c70c3ac4e99a530d847f240c178d58dc4138a286..7484de255a3eda85b3dd5d20c4e6274ae7045da4 100644 (file)
@@ -34,7 +34,6 @@ static int get_firmware(const struct firmware **fw_entry,
        int err;
        char name[30];
 
-#ifdef CONFIG_PM_SLEEP
        if (chip->fw_cache[fw_index]) {
                dev_dbg(chip->card->dev,
                        "firmware requested: %s is cached\n",
@@ -42,7 +41,6 @@ static int get_firmware(const struct firmware **fw_entry,
                *fw_entry = chip->fw_cache[fw_index];
                return 0;
        }
-#endif
 
        dev_dbg(chip->card->dev,
                "firmware requested: %s\n", card_fw[fw_index].data);
@@ -51,10 +49,8 @@ static int get_firmware(const struct firmware **fw_entry,
        if (err < 0)
                dev_err(chip->card->dev,
                        "get_firmware(): Firmware not available (%d)\n", err);
-#ifdef CONFIG_PM_SLEEP
        else
                chip->fw_cache[fw_index] = *fw_entry;
-#endif
        return err;
 }
 
@@ -63,18 +59,13 @@ static int get_firmware(const struct firmware **fw_entry,
 static void free_firmware(const struct firmware *fw_entry,
                          struct echoaudio *chip)
 {
-#ifdef CONFIG_PM_SLEEP
        dev_dbg(chip->card->dev, "firmware not released (kept in cache)\n");
-#else
-       release_firmware(fw_entry);
-#endif
 }
 
 
 
 static void free_firmware_cache(struct echoaudio *chip)
 {
-#ifdef CONFIG_PM_SLEEP
        int i;
 
        for (i = 0; i < 8 ; i++)
@@ -82,8 +73,6 @@ static void free_firmware_cache(struct echoaudio *chip)
                        release_firmware(chip->fw_cache[i]);
                        dev_dbg(chip->card->dev, "release_firmware(%d)\n", i);
                }
-
-#endif
 }
 
 
@@ -2146,8 +2135,6 @@ static int snd_echo_probe(struct pci_dev *pci,
 }
 
 
-#if defined(CONFIG_PM_SLEEP)
-
 static int snd_echo_suspend(struct device *dev)
 {
        struct echoaudio *chip = dev_get_drvdata(dev);
@@ -2237,11 +2224,7 @@ static int snd_echo_resume(struct device *dev)
        return 0;
 }
 
-static SIMPLE_DEV_PM_OPS(snd_echo_pm, snd_echo_suspend, snd_echo_resume);
-#define SND_ECHO_PM_OPS        &snd_echo_pm
-#else
-#define SND_ECHO_PM_OPS        NULL
-#endif /* CONFIG_PM_SLEEP */
+static DEFINE_SIMPLE_DEV_PM_OPS(snd_echo_pm, snd_echo_suspend, snd_echo_resume);
 
 /******************************************************************************
        Everything starts and ends here
@@ -2253,7 +2236,7 @@ static struct pci_driver echo_driver = {
        .id_table = snd_echo_ids,
        .probe = snd_echo_probe,
        .driver = {
-               .pm = SND_ECHO_PM_OPS,
+               .pm = &snd_echo_pm,
        },
 };
 
index d51de3e4edfa8949bfd7bd754462a214604bc357..511f2fcc0fb92b395174b26aedbcf9cf0435b30f 100644 (file)
@@ -422,9 +422,7 @@ struct echoaudio {
        u32 __iomem *dsp_registers;             /* DSP's register base */
        u32 active_mask;                        /* Chs. active mask or
                                                 * punks out */
-#ifdef CONFIG_PM_SLEEP
        const struct firmware *fw_cache[8];     /* Cached firmwares */
-#endif
 
 #ifdef ECHOCARD_HAS_MIDI
        u16 mtc_state;                          /* State for MIDI input parsing state machine */