]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - sound/pci/via82xx_modem.c
Merge tag 'upstream-5.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/ubifs
[linux.git] / sound / pci / via82xx_modem.c
index 0edb9ea6e8a6f7c941c20af1914ece7f26b90af7..84e589803e2e7a93966dccb53057ca1a23a163b0 100644 (file)
@@ -642,9 +642,6 @@ static int snd_via82xx_hw_params(struct snd_pcm_substream *substream,
        struct viadev *viadev = substream->runtime->private_data;
        int err;
 
-       err = snd_pcm_lib_malloc_pages(substream, params_buffer_bytes(hw_params));
-       if (err < 0)
-               return err;
        err = build_via_table(viadev, substream, chip->pci,
                              params_periods(hw_params),
                              params_period_bytes(hw_params));
@@ -667,7 +664,6 @@ static int snd_via82xx_hw_free(struct snd_pcm_substream *substream)
        struct viadev *viadev = substream->runtime->private_data;
 
        clean_via_table(viadev, substream, chip->pci);
-       snd_pcm_lib_free_pages(substream);
        return 0;
 }
 
@@ -795,7 +791,6 @@ static int snd_via82xx_pcm_close(struct snd_pcm_substream *substream)
 static const struct snd_pcm_ops snd_via686_playback_ops = {
        .open =         snd_via82xx_playback_open,
        .close =        snd_via82xx_pcm_close,
-       .ioctl =        snd_pcm_lib_ioctl,
        .hw_params =    snd_via82xx_hw_params,
        .hw_free =      snd_via82xx_hw_free,
        .prepare =      snd_via82xx_pcm_prepare,
@@ -807,7 +802,6 @@ static const struct snd_pcm_ops snd_via686_playback_ops = {
 static const struct snd_pcm_ops snd_via686_capture_ops = {
        .open =         snd_via82xx_capture_open,
        .close =        snd_via82xx_pcm_close,
-       .ioctl =        snd_pcm_lib_ioctl,
        .hw_params =    snd_via82xx_hw_params,
        .hw_free =      snd_via82xx_hw_free,
        .prepare =      snd_via82xx_pcm_prepare,
@@ -849,9 +843,8 @@ static int snd_via686_pcm_new(struct via82xx_modem *chip)
        init_viadev(chip, 0, VIA_REG_MO_STATUS, 0);
        init_viadev(chip, 1, VIA_REG_MI_STATUS, 1);
 
-       snd_pcm_lib_preallocate_pages_for_all(pcm, SNDRV_DMA_TYPE_DEV_SG,
-                                             &chip->pci->dev,
-                                             64*1024, 128*1024);
+       snd_pcm_set_managed_buffer_all(pcm, SNDRV_DMA_TYPE_DEV_SG,
+                                      &chip->pci->dev, 64*1024, 128*1024);
        return 0;
 }
 
@@ -878,7 +871,7 @@ static int snd_via82xx_mixer_new(struct via82xx_modem *chip)
 {
        struct snd_ac97_template ac97;
        int err;
-       static struct snd_ac97_bus_ops ops = {
+       static const struct snd_ac97_bus_ops ops = {
                .write = snd_via82xx_codec_write,
                .read = snd_via82xx_codec_read,
                .wait = snd_via82xx_codec_wait,
@@ -1020,7 +1013,6 @@ static int snd_via82xx_suspend(struct device *dev)
        snd_power_change_state(card, SNDRV_CTL_POWER_D3hot);
        for (i = 0; i < chip->num_devs; i++)
                snd_via82xx_channel_reset(chip, &chip->devs[i]);
-       synchronize_irq(chip->irq);
        snd_ac97_suspend(chip->ac97);
        return 0;
 }
@@ -1082,7 +1074,7 @@ static int snd_via82xx_create(struct snd_card *card,
 {
        struct via82xx_modem *chip;
        int err;
-        static struct snd_device_ops ops = {
+       static const struct snd_device_ops ops = {
                .dev_free =     snd_via82xx_dev_free,
         };
 
@@ -1112,9 +1104,9 @@ static int snd_via82xx_create(struct snd_card *card,
                return -EBUSY;
        }
        chip->irq = pci->irq;
+       card->sync_irq = chip->irq;
        if (ac97_clock >= 8000 && ac97_clock <= 48000)
                chip->ac97_clock = ac97_clock;
-       synchronize_irq(chip->irq);
 
        if ((err = snd_via82xx_chip_init(chip)) < 0) {
                snd_via82xx_free(chip);