mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-06 05:13:18 +00:00
ALSA: ali5451: Embed suspend image into struct snd_ali
Instead of allocating the memory with an additional devm_kmalloc(), just put the image into the existing struct snd_ali. The allocation size isn't too big, hence it works better with less allocation calls. Signed-off-by: Takashi Iwai <tiwai@suse.de> Link: https://lore.kernel.org/r/20240207155140.18238-16-tiwai@suse.de Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
8ca0d10268
commit
b9beb229eb
@ -244,7 +244,7 @@ struct snd_ali {
|
||||
spinlock_t voice_alloc;
|
||||
|
||||
#ifdef CONFIG_PM_SLEEP
|
||||
struct snd_ali_image *image;
|
||||
struct snd_ali_image image;
|
||||
#endif
|
||||
};
|
||||
|
||||
@ -1829,13 +1829,9 @@ static int ali_suspend(struct device *dev)
|
||||
{
|
||||
struct snd_card *card = dev_get_drvdata(dev);
|
||||
struct snd_ali *chip = card->private_data;
|
||||
struct snd_ali_image *im;
|
||||
struct snd_ali_image *im = &chip->image;
|
||||
int i, j;
|
||||
|
||||
im = chip->image;
|
||||
if (!im)
|
||||
return 0;
|
||||
|
||||
snd_power_change_state(card, SNDRV_CTL_POWER_D3hot);
|
||||
for (i = 0; i < chip->num_of_codecs; i++)
|
||||
snd_ac97_suspend(chip->ac97[i]);
|
||||
@ -1872,13 +1868,9 @@ static int ali_resume(struct device *dev)
|
||||
{
|
||||
struct snd_card *card = dev_get_drvdata(dev);
|
||||
struct snd_ali *chip = card->private_data;
|
||||
struct snd_ali_image *im;
|
||||
struct snd_ali_image *im = &chip->image;
|
||||
int i, j;
|
||||
|
||||
im = chip->image;
|
||||
if (!im)
|
||||
return 0;
|
||||
|
||||
spin_lock_irq(&chip->reg_lock);
|
||||
|
||||
for (i = 0; i < ALI_CHANNELS; i++) {
|
||||
@ -2112,13 +2104,6 @@ static int snd_ali_create(struct snd_card *card,
|
||||
return err;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_PM_SLEEP
|
||||
codec->image = devm_kmalloc(&pci->dev, sizeof(*codec->image),
|
||||
GFP_KERNEL);
|
||||
if (!codec->image)
|
||||
dev_warn(card->dev, "can't allocate apm buffer\n");
|
||||
#endif
|
||||
|
||||
snd_ali_enable_address_interrupt(codec);
|
||||
codec->hw_initialized = 1;
|
||||
return 0;
|
||||
|
Loading…
Reference in New Issue
Block a user