diff options
34 files changed, 1 insertions, 381 deletions
diff --git a/sound/isa/ad1816a/ad1816a_lib.c b/sound/isa/ad1816a/ad1816a_lib.c index 7ae02396cae2..170409e26d03 100644 --- a/sound/isa/ad1816a/ad1816a_lib.c +++ b/sound/isa/ad1816a/ad1816a_lib.c | |||
| @@ -662,13 +662,6 @@ static snd_pcm_ops_t snd_ad1816a_capture_ops = { | |||
| 662 | .pointer = snd_ad1816a_capture_pointer, | 662 | .pointer = snd_ad1816a_capture_pointer, |
| 663 | }; | 663 | }; |
| 664 | 664 | ||
| 665 | static void snd_ad1816a_pcm_free(snd_pcm_t *pcm) | ||
| 666 | { | ||
| 667 | ad1816a_t *chip = pcm->private_data; | ||
| 668 | chip->pcm = NULL; | ||
| 669 | snd_pcm_lib_preallocate_free_for_all(pcm); | ||
| 670 | } | ||
| 671 | |||
| 672 | int snd_ad1816a_pcm(ad1816a_t *chip, int device, snd_pcm_t **rpcm) | 665 | int snd_ad1816a_pcm(ad1816a_t *chip, int device, snd_pcm_t **rpcm) |
| 673 | { | 666 | { |
| 674 | int error; | 667 | int error; |
| @@ -681,7 +674,6 @@ int snd_ad1816a_pcm(ad1816a_t *chip, int device, snd_pcm_t **rpcm) | |||
| 681 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_ad1816a_capture_ops); | 674 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_ad1816a_capture_ops); |
| 682 | 675 | ||
| 683 | pcm->private_data = chip; | 676 | pcm->private_data = chip; |
| 684 | pcm->private_free = snd_ad1816a_pcm_free; | ||
| 685 | pcm->info_flags = (chip->dma1 == chip->dma2 ) ? SNDRV_PCM_INFO_JOINT_DUPLEX : 0; | 677 | pcm->info_flags = (chip->dma1 == chip->dma2 ) ? SNDRV_PCM_INFO_JOINT_DUPLEX : 0; |
| 686 | 678 | ||
| 687 | strcpy(pcm->name, snd_ad1816a_chip_id(chip)); | 679 | strcpy(pcm->name, snd_ad1816a_chip_id(chip)); |
diff --git a/sound/isa/ad1848/ad1848_lib.c b/sound/isa/ad1848/ad1848_lib.c index 891bacc94f68..84a3c559655b 100644 --- a/sound/isa/ad1848/ad1848_lib.c +++ b/sound/isa/ad1848/ad1848_lib.c | |||
| @@ -959,13 +959,6 @@ static snd_pcm_ops_t snd_ad1848_capture_ops = { | |||
| 959 | .pointer = snd_ad1848_capture_pointer, | 959 | .pointer = snd_ad1848_capture_pointer, |
| 960 | }; | 960 | }; |
| 961 | 961 | ||
| 962 | static void snd_ad1848_pcm_free(snd_pcm_t *pcm) | ||
| 963 | { | ||
| 964 | ad1848_t *chip = pcm->private_data; | ||
| 965 | chip->pcm = NULL; | ||
| 966 | snd_pcm_lib_preallocate_free_for_all(pcm); | ||
| 967 | } | ||
| 968 | |||
| 969 | int snd_ad1848_pcm(ad1848_t *chip, int device, snd_pcm_t **rpcm) | 962 | int snd_ad1848_pcm(ad1848_t *chip, int device, snd_pcm_t **rpcm) |
| 970 | { | 963 | { |
| 971 | snd_pcm_t *pcm; | 964 | snd_pcm_t *pcm; |
| @@ -977,7 +970,6 @@ int snd_ad1848_pcm(ad1848_t *chip, int device, snd_pcm_t **rpcm) | |||
| 977 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &snd_ad1848_playback_ops); | 970 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &snd_ad1848_playback_ops); |
| 978 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_ad1848_capture_ops); | 971 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_ad1848_capture_ops); |
| 979 | 972 | ||
| 980 | pcm->private_free = snd_ad1848_pcm_free; | ||
| 981 | pcm->private_data = chip; | 973 | pcm->private_data = chip; |
| 982 | pcm->info_flags = SNDRV_PCM_INFO_HALF_DUPLEX; | 974 | pcm->info_flags = SNDRV_PCM_INFO_HALF_DUPLEX; |
| 983 | strcpy(pcm->name, snd_ad1848_chip_id(chip)); | 975 | strcpy(pcm->name, snd_ad1848_chip_id(chip)); |
diff --git a/sound/isa/cmi8330.c b/sound/isa/cmi8330.c index 5252206ea388..6038529d5af2 100644 --- a/sound/isa/cmi8330.c +++ b/sound/isa/cmi8330.c | |||
| @@ -388,11 +388,6 @@ static int snd_cmi8330_capture_open(snd_pcm_substream_t * substream) | |||
| 388 | return chip->streams[SNDRV_PCM_STREAM_CAPTURE].open(substream); | 388 | return chip->streams[SNDRV_PCM_STREAM_CAPTURE].open(substream); |
| 389 | } | 389 | } |
| 390 | 390 | ||
| 391 | static void snd_cmi8330_pcm_free(snd_pcm_t *pcm) | ||
| 392 | { | ||
| 393 | snd_pcm_lib_preallocate_free_for_all(pcm); | ||
| 394 | } | ||
| 395 | |||
| 396 | static int __devinit snd_cmi8330_pcm(snd_card_t *card, struct snd_cmi8330 *chip) | 391 | static int __devinit snd_cmi8330_pcm(snd_card_t *card, struct snd_cmi8330 *chip) |
| 397 | { | 392 | { |
| 398 | snd_pcm_t *pcm; | 393 | snd_pcm_t *pcm; |
| @@ -407,7 +402,6 @@ static int __devinit snd_cmi8330_pcm(snd_card_t *card, struct snd_cmi8330 *chip) | |||
| 407 | return err; | 402 | return err; |
| 408 | strcpy(pcm->name, "CMI8330"); | 403 | strcpy(pcm->name, "CMI8330"); |
| 409 | pcm->private_data = chip; | 404 | pcm->private_data = chip; |
| 410 | pcm->private_free = snd_cmi8330_pcm_free; | ||
| 411 | 405 | ||
| 412 | /* SB16 */ | 406 | /* SB16 */ |
| 413 | ops = snd_sb16dsp_get_pcm_ops(CMI_SB_STREAM); | 407 | ops = snd_sb16dsp_get_pcm_ops(CMI_SB_STREAM); |
diff --git a/sound/isa/cs423x/cs4231_lib.c b/sound/isa/cs423x/cs4231_lib.c index 4af769030beb..4c9fb168636b 100644 --- a/sound/isa/cs423x/cs4231_lib.c +++ b/sound/isa/cs423x/cs4231_lib.c | |||
| @@ -1605,13 +1605,6 @@ static snd_pcm_ops_t snd_cs4231_capture_ops = { | |||
| 1605 | .pointer = snd_cs4231_capture_pointer, | 1605 | .pointer = snd_cs4231_capture_pointer, |
| 1606 | }; | 1606 | }; |
| 1607 | 1607 | ||
| 1608 | static void snd_cs4231_pcm_free(snd_pcm_t *pcm) | ||
| 1609 | { | ||
| 1610 | cs4231_t *chip = pcm->private_data; | ||
| 1611 | chip->pcm = NULL; | ||
| 1612 | snd_pcm_lib_preallocate_free_for_all(pcm); | ||
| 1613 | } | ||
| 1614 | |||
| 1615 | int snd_cs4231_pcm(cs4231_t *chip, int device, snd_pcm_t **rpcm) | 1608 | int snd_cs4231_pcm(cs4231_t *chip, int device, snd_pcm_t **rpcm) |
| 1616 | { | 1609 | { |
| 1617 | snd_pcm_t *pcm; | 1610 | snd_pcm_t *pcm; |
| @@ -1629,7 +1622,6 @@ int snd_cs4231_pcm(cs4231_t *chip, int device, snd_pcm_t **rpcm) | |||
| 1629 | 1622 | ||
| 1630 | /* global setup */ | 1623 | /* global setup */ |
| 1631 | pcm->private_data = chip; | 1624 | pcm->private_data = chip; |
| 1632 | pcm->private_free = snd_cs4231_pcm_free; | ||
| 1633 | pcm->info_flags = 0; | 1625 | pcm->info_flags = 0; |
| 1634 | if (chip->single_dma) | 1626 | if (chip->single_dma) |
| 1635 | pcm->info_flags |= SNDRV_PCM_INFO_HALF_DUPLEX; | 1627 | pcm->info_flags |= SNDRV_PCM_INFO_HALF_DUPLEX; |
diff --git a/sound/isa/es1688/es1688_lib.c b/sound/isa/es1688/es1688_lib.c index 2edc9c9f0445..841e9ac8c664 100644 --- a/sound/isa/es1688/es1688_lib.c +++ b/sound/isa/es1688/es1688_lib.c | |||
| @@ -724,13 +724,6 @@ static snd_pcm_ops_t snd_es1688_capture_ops = { | |||
| 724 | .pointer = snd_es1688_capture_pointer, | 724 | .pointer = snd_es1688_capture_pointer, |
| 725 | }; | 725 | }; |
| 726 | 726 | ||
| 727 | static void snd_es1688_pcm_free(snd_pcm_t *pcm) | ||
| 728 | { | ||
| 729 | es1688_t *chip = pcm->private_data; | ||
| 730 | chip->pcm = NULL; | ||
| 731 | snd_pcm_lib_preallocate_free_for_all(pcm); | ||
| 732 | } | ||
| 733 | |||
| 734 | int snd_es1688_pcm(es1688_t * chip, int device, snd_pcm_t ** rpcm) | 727 | int snd_es1688_pcm(es1688_t * chip, int device, snd_pcm_t ** rpcm) |
| 735 | { | 728 | { |
| 736 | snd_pcm_t *pcm; | 729 | snd_pcm_t *pcm; |
| @@ -743,7 +736,6 @@ int snd_es1688_pcm(es1688_t * chip, int device, snd_pcm_t ** rpcm) | |||
| 743 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_es1688_capture_ops); | 736 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_es1688_capture_ops); |
| 744 | 737 | ||
| 745 | pcm->private_data = chip; | 738 | pcm->private_data = chip; |
| 746 | pcm->private_free = snd_es1688_pcm_free; | ||
| 747 | pcm->info_flags = SNDRV_PCM_INFO_HALF_DUPLEX; | 739 | pcm->info_flags = SNDRV_PCM_INFO_HALF_DUPLEX; |
| 748 | sprintf(pcm->name, snd_es1688_chip_id(chip)); | 740 | sprintf(pcm->name, snd_es1688_chip_id(chip)); |
| 749 | chip->pcm = pcm; | 741 | chip->pcm = pcm; |
diff --git a/sound/isa/es18xx.c b/sound/isa/es18xx.c index 970e2aaade27..7191ff90cc73 100644 --- a/sound/isa/es18xx.c +++ b/sound/isa/es18xx.c | |||
| @@ -1566,13 +1566,6 @@ static snd_pcm_ops_t snd_es18xx_capture_ops = { | |||
| 1566 | .pointer = snd_es18xx_capture_pointer, | 1566 | .pointer = snd_es18xx_capture_pointer, |
| 1567 | }; | 1567 | }; |
| 1568 | 1568 | ||
| 1569 | static void snd_es18xx_pcm_free(snd_pcm_t *pcm) | ||
| 1570 | { | ||
| 1571 | es18xx_t *codec = pcm->private_data; | ||
| 1572 | codec->pcm = NULL; | ||
| 1573 | snd_pcm_lib_preallocate_free_for_all(pcm); | ||
| 1574 | } | ||
| 1575 | |||
| 1576 | static int __devinit snd_es18xx_pcm(es18xx_t *chip, int device, snd_pcm_t ** rpcm) | 1569 | static int __devinit snd_es18xx_pcm(es18xx_t *chip, int device, snd_pcm_t ** rpcm) |
| 1577 | { | 1570 | { |
| 1578 | snd_pcm_t *pcm; | 1571 | snd_pcm_t *pcm; |
| @@ -1595,7 +1588,6 @@ static int __devinit snd_es18xx_pcm(es18xx_t *chip, int device, snd_pcm_t ** rpc | |||
| 1595 | 1588 | ||
| 1596 | /* global setup */ | 1589 | /* global setup */ |
| 1597 | pcm->private_data = chip; | 1590 | pcm->private_data = chip; |
| 1598 | pcm->private_free = snd_es18xx_pcm_free; | ||
| 1599 | pcm->info_flags = 0; | 1591 | pcm->info_flags = 0; |
| 1600 | if (chip->caps & ES18XX_DUPLEX_SAME) | 1592 | if (chip->caps & ES18XX_DUPLEX_SAME) |
| 1601 | pcm->info_flags |= SNDRV_PCM_INFO_JOINT_DUPLEX; | 1593 | pcm->info_flags |= SNDRV_PCM_INFO_JOINT_DUPLEX; |
diff --git a/sound/isa/gus/gus_pcm.c b/sound/isa/gus/gus_pcm.c index 1cc89fb67bf2..bae0fee705ee 100644 --- a/sound/isa/gus/gus_pcm.c +++ b/sound/isa/gus/gus_pcm.c | |||
| @@ -727,13 +727,6 @@ static int snd_gf1_pcm_capture_close(snd_pcm_substream_t * substream) | |||
| 727 | return 0; | 727 | return 0; |
| 728 | } | 728 | } |
| 729 | 729 | ||
| 730 | static void snd_gf1_pcm_free(snd_pcm_t *pcm) | ||
| 731 | { | ||
| 732 | snd_gus_card_t *gus = pcm->private_data; | ||
| 733 | gus->pcm = NULL; | ||
| 734 | snd_pcm_lib_preallocate_free_for_all(pcm); | ||
| 735 | } | ||
| 736 | |||
| 737 | static int snd_gf1_pcm_volume_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * uinfo) | 730 | static int snd_gf1_pcm_volume_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * uinfo) |
| 738 | { | 731 | { |
| 739 | uinfo->type = SNDRV_CTL_ELEM_TYPE_INTEGER; | 732 | uinfo->type = SNDRV_CTL_ELEM_TYPE_INTEGER; |
| @@ -860,7 +853,6 @@ int snd_gf1_pcm_new(snd_gus_card_t * gus, int pcm_dev, int control_index, snd_pc | |||
| 860 | if (err < 0) | 853 | if (err < 0) |
| 861 | return err; | 854 | return err; |
| 862 | pcm->private_data = gus; | 855 | pcm->private_data = gus; |
| 863 | pcm->private_free = snd_gf1_pcm_free; | ||
| 864 | /* playback setup */ | 856 | /* playback setup */ |
| 865 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &snd_gf1_pcm_playback_ops); | 857 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &snd_gf1_pcm_playback_ops); |
| 866 | 858 | ||
diff --git a/sound/isa/opti9xx/opti92x-ad1848.c b/sound/isa/opti9xx/opti92x-ad1848.c index b94339f8306f..1be32999dfe1 100644 --- a/sound/isa/opti9xx/opti92x-ad1848.c +++ b/sound/isa/opti9xx/opti92x-ad1848.c | |||
| @@ -1346,13 +1346,6 @@ static snd_pcm_ops_t snd_opti93x_capture_ops = { | |||
| 1346 | .pointer = snd_opti93x_capture_pointer, | 1346 | .pointer = snd_opti93x_capture_pointer, |
| 1347 | }; | 1347 | }; |
| 1348 | 1348 | ||
| 1349 | static void snd_opti93x_pcm_free(snd_pcm_t *pcm) | ||
| 1350 | { | ||
| 1351 | opti93x_t *codec = pcm->private_data; | ||
| 1352 | codec->pcm = NULL; | ||
| 1353 | snd_pcm_lib_preallocate_free_for_all(pcm); | ||
| 1354 | } | ||
| 1355 | |||
| 1356 | static int snd_opti93x_pcm(opti93x_t *codec, int device, snd_pcm_t **rpcm) | 1349 | static int snd_opti93x_pcm(opti93x_t *codec, int device, snd_pcm_t **rpcm) |
| 1357 | { | 1350 | { |
| 1358 | int error; | 1351 | int error; |
| @@ -1365,7 +1358,6 @@ static int snd_opti93x_pcm(opti93x_t *codec, int device, snd_pcm_t **rpcm) | |||
| 1365 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_opti93x_capture_ops); | 1358 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_opti93x_capture_ops); |
| 1366 | 1359 | ||
| 1367 | pcm->private_data = codec; | 1360 | pcm->private_data = codec; |
| 1368 | pcm->private_free = snd_opti93x_pcm_free; | ||
| 1369 | pcm->info_flags = SNDRV_PCM_INFO_JOINT_DUPLEX; | 1361 | pcm->info_flags = SNDRV_PCM_INFO_JOINT_DUPLEX; |
| 1370 | 1362 | ||
| 1371 | strcpy(pcm->name, snd_opti93x_chip_id(codec)); | 1363 | strcpy(pcm->name, snd_opti93x_chip_id(codec)); |
diff --git a/sound/isa/sb/sb16_main.c b/sound/isa/sb/sb16_main.c index 556b95e3e22f..17312e060a17 100644 --- a/sound/isa/sb/sb16_main.c +++ b/sound/isa/sb/sb16_main.c | |||
| @@ -851,11 +851,6 @@ static snd_pcm_ops_t snd_sb16_capture_ops = { | |||
| 851 | .pointer = snd_sb16_capture_pointer, | 851 | .pointer = snd_sb16_capture_pointer, |
| 852 | }; | 852 | }; |
| 853 | 853 | ||
| 854 | static void snd_sb16dsp_pcm_free(snd_pcm_t *pcm) | ||
| 855 | { | ||
| 856 | snd_pcm_lib_preallocate_free_for_all(pcm); | ||
| 857 | } | ||
| 858 | |||
| 859 | int snd_sb16dsp_pcm(sb_t * chip, int device, snd_pcm_t ** rpcm) | 854 | int snd_sb16dsp_pcm(sb_t * chip, int device, snd_pcm_t ** rpcm) |
| 860 | { | 855 | { |
| 861 | snd_card_t *card = chip->card; | 856 | snd_card_t *card = chip->card; |
| @@ -869,7 +864,6 @@ int snd_sb16dsp_pcm(sb_t * chip, int device, snd_pcm_t ** rpcm) | |||
| 869 | sprintf(pcm->name, "DSP v%i.%i", chip->version >> 8, chip->version & 0xff); | 864 | sprintf(pcm->name, "DSP v%i.%i", chip->version >> 8, chip->version & 0xff); |
| 870 | pcm->info_flags = SNDRV_PCM_INFO_JOINT_DUPLEX; | 865 | pcm->info_flags = SNDRV_PCM_INFO_JOINT_DUPLEX; |
| 871 | pcm->private_data = chip; | 866 | pcm->private_data = chip; |
| 872 | pcm->private_free = snd_sb16dsp_pcm_free; | ||
| 873 | 867 | ||
| 874 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &snd_sb16_playback_ops); | 868 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &snd_sb16_playback_ops); |
| 875 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_sb16_capture_ops); | 869 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_sb16_capture_ops); |
diff --git a/sound/isa/sb/sb8_main.c b/sound/isa/sb/sb8_main.c index 5ddc6e41d909..28d8afdf6891 100644 --- a/sound/isa/sb/sb8_main.c +++ b/sound/isa/sb/sb8_main.c | |||
| @@ -507,11 +507,6 @@ static snd_pcm_ops_t snd_sb8_capture_ops = { | |||
| 507 | .pointer = snd_sb8_capture_pointer, | 507 | .pointer = snd_sb8_capture_pointer, |
| 508 | }; | 508 | }; |
| 509 | 509 | ||
| 510 | static void snd_sb8dsp_pcm_free(snd_pcm_t *pcm) | ||
| 511 | { | ||
| 512 | snd_pcm_lib_preallocate_free_for_all(pcm); | ||
| 513 | } | ||
| 514 | |||
| 515 | int snd_sb8dsp_pcm(sb_t *chip, int device, snd_pcm_t ** rpcm) | 510 | int snd_sb8dsp_pcm(sb_t *chip, int device, snd_pcm_t ** rpcm) |
| 516 | { | 511 | { |
| 517 | snd_card_t *card = chip->card; | 512 | snd_card_t *card = chip->card; |
| @@ -525,7 +520,6 @@ int snd_sb8dsp_pcm(sb_t *chip, int device, snd_pcm_t ** rpcm) | |||
| 525 | sprintf(pcm->name, "DSP v%i.%i", chip->version >> 8, chip->version & 0xff); | 520 | sprintf(pcm->name, "DSP v%i.%i", chip->version >> 8, chip->version & 0xff); |
| 526 | pcm->info_flags = SNDRV_PCM_INFO_HALF_DUPLEX; | 521 | pcm->info_flags = SNDRV_PCM_INFO_HALF_DUPLEX; |
| 527 | pcm->private_data = chip; | 522 | pcm->private_data = chip; |
| 528 | pcm->private_free = snd_sb8dsp_pcm_free; | ||
| 529 | 523 | ||
| 530 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &snd_sb8_playback_ops); | 524 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &snd_sb8_playback_ops); |
| 531 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_sb8_capture_ops); | 525 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_sb8_capture_ops); |
diff --git a/sound/pci/ad1889.c b/sound/pci/ad1889.c index 1fdae678a345..999aaeae3fff 100644 --- a/sound/pci/ad1889.c +++ b/sound/pci/ad1889.c | |||
| @@ -623,14 +623,6 @@ snd_ad1889_interrupt(int irq, | |||
| 623 | return IRQ_HANDLED; | 623 | return IRQ_HANDLED; |
| 624 | } | 624 | } |
| 625 | 625 | ||
| 626 | static void | ||
| 627 | snd_ad1889_pcm_free(snd_pcm_t *pcm) | ||
| 628 | { | ||
| 629 | struct snd_ad1889 *chip = pcm->private_data; | ||
| 630 | chip->pcm = NULL; | ||
| 631 | snd_pcm_lib_preallocate_free_for_all(pcm); | ||
| 632 | } | ||
| 633 | |||
| 634 | static int __devinit | 626 | static int __devinit |
| 635 | snd_ad1889_pcm_init(struct snd_ad1889 *chip, int device, snd_pcm_t **rpcm) | 627 | snd_ad1889_pcm_init(struct snd_ad1889 *chip, int device, snd_pcm_t **rpcm) |
| 636 | { | 628 | { |
| @@ -650,7 +642,6 @@ snd_ad1889_pcm_init(struct snd_ad1889 *chip, int device, snd_pcm_t **rpcm) | |||
| 650 | &snd_ad1889_capture_ops); | 642 | &snd_ad1889_capture_ops); |
| 651 | 643 | ||
| 652 | pcm->private_data = chip; | 644 | pcm->private_data = chip; |
| 653 | pcm->private_free = snd_ad1889_pcm_free; | ||
| 654 | pcm->info_flags = 0; | 645 | pcm->info_flags = 0; |
| 655 | strcpy(pcm->name, chip->card->shortname); | 646 | strcpy(pcm->name, chip->card->shortname); |
| 656 | 647 | ||
diff --git a/sound/pci/als4000.c b/sound/pci/als4000.c index 1904df650265..d496cc5ab35e 100644 --- a/sound/pci/als4000.c +++ b/sound/pci/als4000.c | |||
| @@ -490,13 +490,6 @@ static snd_pcm_ops_t snd_als4000_capture_ops = { | |||
| 490 | .pointer = snd_als4000_capture_pointer | 490 | .pointer = snd_als4000_capture_pointer |
| 491 | }; | 491 | }; |
| 492 | 492 | ||
| 493 | static void snd_als4000_pcm_free(snd_pcm_t *pcm) | ||
| 494 | { | ||
| 495 | sb_t *chip = pcm->private_data; | ||
| 496 | chip->pcm = NULL; | ||
| 497 | snd_pcm_lib_preallocate_free_for_all(pcm); | ||
| 498 | } | ||
| 499 | |||
| 500 | static int __devinit snd_als4000_pcm(sb_t *chip, int device) | 493 | static int __devinit snd_als4000_pcm(sb_t *chip, int device) |
| 501 | { | 494 | { |
| 502 | snd_pcm_t *pcm; | 495 | snd_pcm_t *pcm; |
| @@ -504,7 +497,6 @@ static int __devinit snd_als4000_pcm(sb_t *chip, int device) | |||
| 504 | 497 | ||
| 505 | if ((err = snd_pcm_new(chip->card, "ALS4000 DSP", device, 1, 1, &pcm)) < 0) | 498 | if ((err = snd_pcm_new(chip->card, "ALS4000 DSP", device, 1, 1, &pcm)) < 0) |
| 506 | return err; | 499 | return err; |
| 507 | pcm->private_free = snd_als4000_pcm_free; | ||
| 508 | pcm->private_data = chip; | 500 | pcm->private_data = chip; |
| 509 | pcm->info_flags = SNDRV_PCM_INFO_JOINT_DUPLEX; | 501 | pcm->info_flags = SNDRV_PCM_INFO_JOINT_DUPLEX; |
| 510 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &snd_als4000_playback_ops); | 502 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &snd_als4000_playback_ops); |
diff --git a/sound/pci/azt3328.c b/sound/pci/azt3328.c index ab737d6df41d..96d1ba0174f8 100644 --- a/sound/pci/azt3328.c +++ b/sound/pci/azt3328.c | |||
| @@ -1365,14 +1365,6 @@ static snd_pcm_ops_t snd_azf3328_capture_ops = { | |||
| 1365 | .pointer = snd_azf3328_capture_pointer | 1365 | .pointer = snd_azf3328_capture_pointer |
| 1366 | }; | 1366 | }; |
| 1367 | 1367 | ||
| 1368 | static void | ||
| 1369 | snd_azf3328_pcm_free(snd_pcm_t *pcm) | ||
| 1370 | { | ||
| 1371 | azf3328_t *chip = pcm->private_data; | ||
| 1372 | chip->pcm = NULL; | ||
| 1373 | snd_pcm_lib_preallocate_free_for_all(pcm); | ||
| 1374 | } | ||
| 1375 | |||
| 1376 | static int __devinit | 1368 | static int __devinit |
| 1377 | snd_azf3328_pcm(azf3328_t *chip, int device) | 1369 | snd_azf3328_pcm(azf3328_t *chip, int device) |
| 1378 | { | 1370 | { |
| @@ -1386,7 +1378,6 @@ snd_azf3328_pcm(azf3328_t *chip, int device) | |||
| 1386 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_azf3328_capture_ops); | 1378 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_azf3328_capture_ops); |
| 1387 | 1379 | ||
| 1388 | pcm->private_data = chip; | 1380 | pcm->private_data = chip; |
| 1389 | pcm->private_free = snd_azf3328_pcm_free; | ||
| 1390 | pcm->info_flags = 0; | 1381 | pcm->info_flags = 0; |
| 1391 | strcpy(pcm->name, chip->card->shortname); | 1382 | strcpy(pcm->name, chip->card->shortname); |
| 1392 | chip->pcm = pcm; | 1383 | chip->pcm = pcm; |
diff --git a/sound/pci/ca0106/ca0106_main.c b/sound/pci/ca0106/ca0106_main.c index 389d967c97f4..a89eed255098 100644 --- a/sound/pci/ca0106/ca0106_main.c +++ b/sound/pci/ca0106/ca0106_main.c | |||
| @@ -1069,13 +1069,6 @@ static irqreturn_t snd_ca0106_interrupt(int irq, void *dev_id, | |||
| 1069 | return IRQ_HANDLED; | 1069 | return IRQ_HANDLED; |
| 1070 | } | 1070 | } |
| 1071 | 1071 | ||
| 1072 | static void snd_ca0106_pcm_free(snd_pcm_t *pcm) | ||
| 1073 | { | ||
| 1074 | ca0106_t *emu = pcm->private_data; | ||
| 1075 | emu->pcm = NULL; | ||
| 1076 | snd_pcm_lib_preallocate_free_for_all(pcm); | ||
| 1077 | } | ||
| 1078 | |||
| 1079 | static int __devinit snd_ca0106_pcm(ca0106_t *emu, int device, snd_pcm_t **rpcm) | 1072 | static int __devinit snd_ca0106_pcm(ca0106_t *emu, int device, snd_pcm_t **rpcm) |
| 1080 | { | 1073 | { |
| 1081 | snd_pcm_t *pcm; | 1074 | snd_pcm_t *pcm; |
| @@ -1088,7 +1081,6 @@ static int __devinit snd_ca0106_pcm(ca0106_t *emu, int device, snd_pcm_t **rpcm) | |||
| 1088 | return err; | 1081 | return err; |
| 1089 | 1082 | ||
| 1090 | pcm->private_data = emu; | 1083 | pcm->private_data = emu; |
| 1091 | pcm->private_free = snd_ca0106_pcm_free; | ||
| 1092 | 1084 | ||
| 1093 | switch (device) { | 1085 | switch (device) { |
| 1094 | case 0: | 1086 | case 0: |
diff --git a/sound/pci/cmipci.c b/sound/pci/cmipci.c index db605373b3bc..0309689f37f5 100644 --- a/sound/pci/cmipci.c +++ b/sound/pci/cmipci.c | |||
| @@ -1693,11 +1693,6 @@ static snd_pcm_ops_t snd_cmipci_capture_spdif_ops = { | |||
| 1693 | /* | 1693 | /* |
| 1694 | */ | 1694 | */ |
| 1695 | 1695 | ||
| 1696 | static void snd_cmipci_pcm_free(snd_pcm_t *pcm) | ||
| 1697 | { | ||
| 1698 | snd_pcm_lib_preallocate_free_for_all(pcm); | ||
| 1699 | } | ||
| 1700 | |||
| 1701 | static int __devinit snd_cmipci_pcm_new(cmipci_t *cm, int device) | 1696 | static int __devinit snd_cmipci_pcm_new(cmipci_t *cm, int device) |
| 1702 | { | 1697 | { |
| 1703 | snd_pcm_t *pcm; | 1698 | snd_pcm_t *pcm; |
| @@ -1711,7 +1706,6 @@ static int __devinit snd_cmipci_pcm_new(cmipci_t *cm, int device) | |||
| 1711 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_cmipci_capture_ops); | 1706 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_cmipci_capture_ops); |
| 1712 | 1707 | ||
| 1713 | pcm->private_data = cm; | 1708 | pcm->private_data = cm; |
| 1714 | pcm->private_free = snd_cmipci_pcm_free; | ||
| 1715 | pcm->info_flags = 0; | 1709 | pcm->info_flags = 0; |
| 1716 | strcpy(pcm->name, "C-Media PCI DAC/ADC"); | 1710 | strcpy(pcm->name, "C-Media PCI DAC/ADC"); |
| 1717 | cm->pcm = pcm; | 1711 | cm->pcm = pcm; |
| @@ -1734,7 +1728,6 @@ static int __devinit snd_cmipci_pcm2_new(cmipci_t *cm, int device) | |||
| 1734 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &snd_cmipci_playback2_ops); | 1728 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &snd_cmipci_playback2_ops); |
| 1735 | 1729 | ||
| 1736 | pcm->private_data = cm; | 1730 | pcm->private_data = cm; |
| 1737 | pcm->private_free = snd_cmipci_pcm_free; | ||
| 1738 | pcm->info_flags = 0; | 1731 | pcm->info_flags = 0; |
| 1739 | strcpy(pcm->name, "C-Media PCI 2nd DAC"); | 1732 | strcpy(pcm->name, "C-Media PCI 2nd DAC"); |
| 1740 | cm->pcm2 = pcm; | 1733 | cm->pcm2 = pcm; |
| @@ -1758,7 +1751,6 @@ static int __devinit snd_cmipci_pcm_spdif_new(cmipci_t *cm, int device) | |||
| 1758 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_cmipci_capture_spdif_ops); | 1751 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_cmipci_capture_spdif_ops); |
| 1759 | 1752 | ||
| 1760 | pcm->private_data = cm; | 1753 | pcm->private_data = cm; |
| 1761 | pcm->private_free = snd_cmipci_pcm_free; | ||
| 1762 | pcm->info_flags = 0; | 1754 | pcm->info_flags = 0; |
| 1763 | strcpy(pcm->name, "C-Media PCI IEC958"); | 1755 | strcpy(pcm->name, "C-Media PCI IEC958"); |
| 1764 | cm->pcm_spdif = pcm; | 1756 | cm->pcm_spdif = pcm; |
diff --git a/sound/pci/cs4281.c b/sound/pci/cs4281.c index 034ff3755a3b..a4b4608034b6 100644 --- a/sound/pci/cs4281.c +++ b/sound/pci/cs4281.c | |||
| @@ -990,13 +990,6 @@ static snd_pcm_ops_t snd_cs4281_capture_ops = { | |||
| 990 | .pointer = snd_cs4281_pointer, | 990 | .pointer = snd_cs4281_pointer, |
| 991 | }; | 991 | }; |
| 992 | 992 | ||
| 993 | static void snd_cs4281_pcm_free(snd_pcm_t *pcm) | ||
| 994 | { | ||
| 995 | cs4281_t *chip = pcm->private_data; | ||
| 996 | chip->pcm = NULL; | ||
| 997 | snd_pcm_lib_preallocate_free_for_all(pcm); | ||
| 998 | } | ||
| 999 | |||
| 1000 | static int __devinit snd_cs4281_pcm(cs4281_t * chip, int device, snd_pcm_t ** rpcm) | 993 | static int __devinit snd_cs4281_pcm(cs4281_t * chip, int device, snd_pcm_t ** rpcm) |
| 1001 | { | 994 | { |
| 1002 | snd_pcm_t *pcm; | 995 | snd_pcm_t *pcm; |
| @@ -1012,7 +1005,6 @@ static int __devinit snd_cs4281_pcm(cs4281_t * chip, int device, snd_pcm_t ** rp | |||
| 1012 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_cs4281_capture_ops); | 1005 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_cs4281_capture_ops); |
| 1013 | 1006 | ||
| 1014 | pcm->private_data = chip; | 1007 | pcm->private_data = chip; |
| 1015 | pcm->private_free = snd_cs4281_pcm_free; | ||
| 1016 | pcm->info_flags = 0; | 1008 | pcm->info_flags = 0; |
| 1017 | strcpy(pcm->name, "CS4281"); | 1009 | strcpy(pcm->name, "CS4281"); |
| 1018 | chip->pcm = pcm; | 1010 | chip->pcm = pcm; |
diff --git a/sound/pci/cs46xx/cs46xx_lib.c b/sound/pci/cs46xx/cs46xx_lib.c index 9b8af5bcbb04..9a86148d7188 100644 --- a/sound/pci/cs46xx/cs46xx_lib.c +++ b/sound/pci/cs46xx/cs46xx_lib.c | |||
| @@ -1574,35 +1574,7 @@ static snd_pcm_ops_t snd_cs46xx_capture_indirect_ops = { | |||
| 1574 | .ack = snd_cs46xx_capture_transfer, | 1574 | .ack = snd_cs46xx_capture_transfer, |
| 1575 | }; | 1575 | }; |
| 1576 | 1576 | ||
| 1577 | static void snd_cs46xx_pcm_free(snd_pcm_t *pcm) | ||
| 1578 | { | ||
| 1579 | cs46xx_t *chip = pcm->private_data; | ||
| 1580 | chip->pcm = NULL; | ||
| 1581 | snd_pcm_lib_preallocate_free_for_all(pcm); | ||
| 1582 | } | ||
| 1583 | |||
| 1584 | #ifdef CONFIG_SND_CS46XX_NEW_DSP | 1577 | #ifdef CONFIG_SND_CS46XX_NEW_DSP |
| 1585 | static void snd_cs46xx_pcm_rear_free(snd_pcm_t *pcm) | ||
| 1586 | { | ||
| 1587 | cs46xx_t *chip = pcm->private_data; | ||
| 1588 | chip->pcm_rear = NULL; | ||
| 1589 | snd_pcm_lib_preallocate_free_for_all(pcm); | ||
| 1590 | } | ||
| 1591 | |||
| 1592 | static void snd_cs46xx_pcm_center_lfe_free(snd_pcm_t *pcm) | ||
| 1593 | { | ||
| 1594 | cs46xx_t *chip = pcm->private_data; | ||
| 1595 | chip->pcm_center_lfe = NULL; | ||
| 1596 | snd_pcm_lib_preallocate_free_for_all(pcm); | ||
| 1597 | } | ||
| 1598 | |||
| 1599 | static void snd_cs46xx_pcm_iec958_free(snd_pcm_t *pcm) | ||
| 1600 | { | ||
| 1601 | cs46xx_t *chip = pcm->private_data; | ||
| 1602 | chip->pcm_iec958 = NULL; | ||
| 1603 | snd_pcm_lib_preallocate_free_for_all(pcm); | ||
| 1604 | } | ||
| 1605 | |||
| 1606 | #define MAX_PLAYBACK_CHANNELS (DSP_MAX_PCM_CHANNELS - 1) | 1578 | #define MAX_PLAYBACK_CHANNELS (DSP_MAX_PCM_CHANNELS - 1) |
| 1607 | #else | 1579 | #else |
| 1608 | #define MAX_PLAYBACK_CHANNELS 1 | 1580 | #define MAX_PLAYBACK_CHANNELS 1 |
| @@ -1619,7 +1591,6 @@ int __devinit snd_cs46xx_pcm(cs46xx_t *chip, int device, snd_pcm_t ** rpcm) | |||
| 1619 | return err; | 1591 | return err; |
| 1620 | 1592 | ||
| 1621 | pcm->private_data = chip; | 1593 | pcm->private_data = chip; |
| 1622 | pcm->private_free = snd_cs46xx_pcm_free; | ||
| 1623 | 1594 | ||
| 1624 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &snd_cs46xx_playback_ops); | 1595 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &snd_cs46xx_playback_ops); |
| 1625 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_cs46xx_capture_ops); | 1596 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_cs46xx_capture_ops); |
| @@ -1652,7 +1623,6 @@ int __devinit snd_cs46xx_pcm_rear(cs46xx_t *chip, int device, snd_pcm_t ** rpcm) | |||
| 1652 | return err; | 1623 | return err; |
| 1653 | 1624 | ||
| 1654 | pcm->private_data = chip; | 1625 | pcm->private_data = chip; |
| 1655 | pcm->private_free = snd_cs46xx_pcm_rear_free; | ||
| 1656 | 1626 | ||
| 1657 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &snd_cs46xx_playback_rear_ops); | 1627 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &snd_cs46xx_playback_rear_ops); |
| 1658 | 1628 | ||
| @@ -1682,7 +1652,6 @@ int __devinit snd_cs46xx_pcm_center_lfe(cs46xx_t *chip, int device, snd_pcm_t ** | |||
| 1682 | return err; | 1652 | return err; |
| 1683 | 1653 | ||
| 1684 | pcm->private_data = chip; | 1654 | pcm->private_data = chip; |
| 1685 | pcm->private_free = snd_cs46xx_pcm_center_lfe_free; | ||
| 1686 | 1655 | ||
| 1687 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &snd_cs46xx_playback_clfe_ops); | 1656 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &snd_cs46xx_playback_clfe_ops); |
| 1688 | 1657 | ||
| @@ -1712,7 +1681,6 @@ int __devinit snd_cs46xx_pcm_iec958(cs46xx_t *chip, int device, snd_pcm_t ** rpc | |||
| 1712 | return err; | 1681 | return err; |
| 1713 | 1682 | ||
| 1714 | pcm->private_data = chip; | 1683 | pcm->private_data = chip; |
| 1715 | pcm->private_free = snd_cs46xx_pcm_iec958_free; | ||
| 1716 | 1684 | ||
| 1717 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &snd_cs46xx_playback_iec958_ops); | 1685 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &snd_cs46xx_playback_iec958_ops); |
| 1718 | 1686 | ||
diff --git a/sound/pci/emu10k1/emu10k1x.c b/sound/pci/emu10k1/emu10k1x.c index 795577716a5d..ca402e994696 100644 --- a/sound/pci/emu10k1/emu10k1x.c +++ b/sound/pci/emu10k1/emu10k1x.c | |||
| @@ -836,13 +836,6 @@ static irqreturn_t snd_emu10k1x_interrupt(int irq, void *dev_id, | |||
| 836 | return IRQ_HANDLED; | 836 | return IRQ_HANDLED; |
| 837 | } | 837 | } |
| 838 | 838 | ||
| 839 | static void snd_emu10k1x_pcm_free(snd_pcm_t *pcm) | ||
| 840 | { | ||
| 841 | emu10k1x_t *emu = pcm->private_data; | ||
| 842 | emu->pcm = NULL; | ||
| 843 | snd_pcm_lib_preallocate_free_for_all(pcm); | ||
| 844 | } | ||
| 845 | |||
| 846 | static int __devinit snd_emu10k1x_pcm(emu10k1x_t *emu, int device, snd_pcm_t **rpcm) | 839 | static int __devinit snd_emu10k1x_pcm(emu10k1x_t *emu, int device, snd_pcm_t **rpcm) |
| 847 | { | 840 | { |
| 848 | snd_pcm_t *pcm; | 841 | snd_pcm_t *pcm; |
| @@ -858,7 +851,6 @@ static int __devinit snd_emu10k1x_pcm(emu10k1x_t *emu, int device, snd_pcm_t **r | |||
| 858 | return err; | 851 | return err; |
| 859 | 852 | ||
| 860 | pcm->private_data = emu; | 853 | pcm->private_data = emu; |
| 861 | pcm->private_free = snd_emu10k1x_pcm_free; | ||
| 862 | 854 | ||
| 863 | switch(device) { | 855 | switch(device) { |
| 864 | case 0: | 856 | case 0: |
diff --git a/sound/pci/emu10k1/emupcm.c b/sound/pci/emu10k1/emupcm.c index bf7490dae09b..90d3a0b50d17 100644 --- a/sound/pci/emu10k1/emupcm.c +++ b/sound/pci/emu10k1/emupcm.c | |||
| @@ -1249,13 +1249,6 @@ static snd_pcm_ops_t snd_emu10k1_efx_playback_ops = { | |||
| 1249 | .page = snd_pcm_sgbuf_ops_page, | 1249 | .page = snd_pcm_sgbuf_ops_page, |
| 1250 | }; | 1250 | }; |
| 1251 | 1251 | ||
| 1252 | static void snd_emu10k1_pcm_free(snd_pcm_t *pcm) | ||
| 1253 | { | ||
| 1254 | emu10k1_t *emu = pcm->private_data; | ||
| 1255 | emu->pcm = NULL; | ||
| 1256 | snd_pcm_lib_preallocate_free_for_all(pcm); | ||
| 1257 | } | ||
| 1258 | |||
| 1259 | int __devinit snd_emu10k1_pcm(emu10k1_t * emu, int device, snd_pcm_t ** rpcm) | 1252 | int __devinit snd_emu10k1_pcm(emu10k1_t * emu, int device, snd_pcm_t ** rpcm) |
| 1260 | { | 1253 | { |
| 1261 | snd_pcm_t *pcm; | 1254 | snd_pcm_t *pcm; |
| @@ -1269,7 +1262,6 @@ int __devinit snd_emu10k1_pcm(emu10k1_t * emu, int device, snd_pcm_t ** rpcm) | |||
| 1269 | return err; | 1262 | return err; |
| 1270 | 1263 | ||
| 1271 | pcm->private_data = emu; | 1264 | pcm->private_data = emu; |
| 1272 | pcm->private_free = snd_emu10k1_pcm_free; | ||
| 1273 | 1265 | ||
| 1274 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &snd_emu10k1_playback_ops); | 1266 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &snd_emu10k1_playback_ops); |
| 1275 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_emu10k1_capture_ops); | 1267 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_emu10k1_capture_ops); |
| @@ -1305,7 +1297,6 @@ int __devinit snd_emu10k1_pcm_multi(emu10k1_t * emu, int device, snd_pcm_t ** rp | |||
| 1305 | return err; | 1297 | return err; |
| 1306 | 1298 | ||
| 1307 | pcm->private_data = emu; | 1299 | pcm->private_data = emu; |
| 1308 | pcm->private_free = snd_emu10k1_pcm_free; | ||
| 1309 | 1300 | ||
| 1310 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &snd_emu10k1_efx_playback_ops); | 1301 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &snd_emu10k1_efx_playback_ops); |
| 1311 | 1302 | ||
| @@ -1336,13 +1327,6 @@ static snd_pcm_ops_t snd_emu10k1_capture_mic_ops = { | |||
| 1336 | .pointer = snd_emu10k1_capture_pointer, | 1327 | .pointer = snd_emu10k1_capture_pointer, |
| 1337 | }; | 1328 | }; |
| 1338 | 1329 | ||
| 1339 | static void snd_emu10k1_pcm_mic_free(snd_pcm_t *pcm) | ||
| 1340 | { | ||
| 1341 | emu10k1_t *emu = pcm->private_data; | ||
| 1342 | emu->pcm_mic = NULL; | ||
| 1343 | snd_pcm_lib_preallocate_free_for_all(pcm); | ||
| 1344 | } | ||
| 1345 | |||
| 1346 | int __devinit snd_emu10k1_pcm_mic(emu10k1_t * emu, int device, snd_pcm_t ** rpcm) | 1330 | int __devinit snd_emu10k1_pcm_mic(emu10k1_t * emu, int device, snd_pcm_t ** rpcm) |
| 1347 | { | 1331 | { |
| 1348 | snd_pcm_t *pcm; | 1332 | snd_pcm_t *pcm; |
| @@ -1355,7 +1339,6 @@ int __devinit snd_emu10k1_pcm_mic(emu10k1_t * emu, int device, snd_pcm_t ** rpcm | |||
| 1355 | return err; | 1339 | return err; |
| 1356 | 1340 | ||
| 1357 | pcm->private_data = emu; | 1341 | pcm->private_data = emu; |
| 1358 | pcm->private_free = snd_emu10k1_pcm_mic_free; | ||
| 1359 | 1342 | ||
| 1360 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_emu10k1_capture_mic_ops); | 1343 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_emu10k1_capture_mic_ops); |
| 1361 | 1344 | ||
| @@ -1673,13 +1656,6 @@ static snd_pcm_ops_t snd_emu10k1_fx8010_playback_ops = { | |||
| 1673 | .ack = snd_emu10k1_fx8010_playback_transfer, | 1656 | .ack = snd_emu10k1_fx8010_playback_transfer, |
| 1674 | }; | 1657 | }; |
| 1675 | 1658 | ||
| 1676 | static void snd_emu10k1_pcm_efx_free(snd_pcm_t *pcm) | ||
| 1677 | { | ||
| 1678 | emu10k1_t *emu = pcm->private_data; | ||
| 1679 | emu->pcm_efx = NULL; | ||
| 1680 | snd_pcm_lib_preallocate_free_for_all(pcm); | ||
| 1681 | } | ||
| 1682 | |||
| 1683 | int __devinit snd_emu10k1_pcm_efx(emu10k1_t * emu, int device, snd_pcm_t ** rpcm) | 1659 | int __devinit snd_emu10k1_pcm_efx(emu10k1_t * emu, int device, snd_pcm_t ** rpcm) |
| 1684 | { | 1660 | { |
| 1685 | snd_pcm_t *pcm; | 1661 | snd_pcm_t *pcm; |
| @@ -1693,7 +1669,6 @@ int __devinit snd_emu10k1_pcm_efx(emu10k1_t * emu, int device, snd_pcm_t ** rpcm | |||
| 1693 | return err; | 1669 | return err; |
| 1694 | 1670 | ||
| 1695 | pcm->private_data = emu; | 1671 | pcm->private_data = emu; |
| 1696 | pcm->private_free = snd_emu10k1_pcm_efx_free; | ||
| 1697 | 1672 | ||
| 1698 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &snd_emu10k1_fx8010_playback_ops); | 1673 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &snd_emu10k1_fx8010_playback_ops); |
| 1699 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_emu10k1_capture_efx_ops); | 1674 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_emu10k1_capture_efx_ops); |
diff --git a/sound/pci/emu10k1/p16v.c b/sound/pci/emu10k1/p16v.c index e27ebb9bb74a..3b456007ba2a 100644 --- a/sound/pci/emu10k1/p16v.c +++ b/sound/pci/emu10k1/p16v.c | |||
| @@ -587,14 +587,6 @@ int snd_p16v_free(emu10k1_t *chip) | |||
| 587 | return 0; | 587 | return 0; |
| 588 | } | 588 | } |
| 589 | 589 | ||
| 590 | static void snd_p16v_pcm_free(snd_pcm_t *pcm) | ||
| 591 | { | ||
| 592 | emu10k1_t *emu = pcm->private_data; | ||
| 593 | //snd_printk("snd_p16v_pcm_free pcm: called\n"); | ||
| 594 | snd_pcm_lib_preallocate_free_for_all(pcm); | ||
| 595 | emu->pcm = NULL; | ||
| 596 | } | ||
| 597 | |||
| 598 | int snd_p16v_pcm(emu10k1_t *emu, int device, snd_pcm_t **rpcm) | 590 | int snd_p16v_pcm(emu10k1_t *emu, int device, snd_pcm_t **rpcm) |
| 599 | { | 591 | { |
| 600 | snd_pcm_t *pcm; | 592 | snd_pcm_t *pcm; |
| @@ -611,7 +603,6 @@ int snd_p16v_pcm(emu10k1_t *emu, int device, snd_pcm_t **rpcm) | |||
| 611 | return err; | 603 | return err; |
| 612 | 604 | ||
| 613 | pcm->private_data = emu; | 605 | pcm->private_data = emu; |
| 614 | pcm->private_free = snd_p16v_pcm_free; | ||
| 615 | // Single playback 8 channel device. | 606 | // Single playback 8 channel device. |
| 616 | // Single capture 2 channel device. | 607 | // Single capture 2 channel device. |
| 617 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &snd_p16v_playback_front_ops); | 608 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &snd_p16v_playback_front_ops); |
diff --git a/sound/pci/ens1370.c b/sound/pci/ens1370.c index fa619a959d8c..180c49e4f6af 100644 --- a/sound/pci/ens1370.c +++ b/sound/pci/ens1370.c | |||
| @@ -1214,13 +1214,6 @@ static snd_pcm_ops_t snd_ensoniq_capture_ops = { | |||
| 1214 | .pointer = snd_ensoniq_capture_pointer, | 1214 | .pointer = snd_ensoniq_capture_pointer, |
| 1215 | }; | 1215 | }; |
| 1216 | 1216 | ||
| 1217 | static void snd_ensoniq_pcm_free(snd_pcm_t *pcm) | ||
| 1218 | { | ||
| 1219 | ensoniq_t *ensoniq = pcm->private_data; | ||
| 1220 | ensoniq->pcm1 = NULL; | ||
| 1221 | snd_pcm_lib_preallocate_free_for_all(pcm); | ||
| 1222 | } | ||
| 1223 | |||
| 1224 | static int __devinit snd_ensoniq_pcm(ensoniq_t * ensoniq, int device, snd_pcm_t ** rpcm) | 1217 | static int __devinit snd_ensoniq_pcm(ensoniq_t * ensoniq, int device, snd_pcm_t ** rpcm) |
| 1225 | { | 1218 | { |
| 1226 | snd_pcm_t *pcm; | 1219 | snd_pcm_t *pcm; |
| @@ -1244,7 +1237,6 @@ static int __devinit snd_ensoniq_pcm(ensoniq_t * ensoniq, int device, snd_pcm_t | |||
| 1244 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_ensoniq_capture_ops); | 1237 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_ensoniq_capture_ops); |
| 1245 | 1238 | ||
| 1246 | pcm->private_data = ensoniq; | 1239 | pcm->private_data = ensoniq; |
| 1247 | pcm->private_free = snd_ensoniq_pcm_free; | ||
| 1248 | pcm->info_flags = 0; | 1240 | pcm->info_flags = 0; |
| 1249 | #ifdef CHIP1370 | 1241 | #ifdef CHIP1370 |
| 1250 | strcpy(pcm->name, "ES1370 DAC2/ADC"); | 1242 | strcpy(pcm->name, "ES1370 DAC2/ADC"); |
| @@ -1261,13 +1253,6 @@ static int __devinit snd_ensoniq_pcm(ensoniq_t * ensoniq, int device, snd_pcm_t | |||
| 1261 | return 0; | 1253 | return 0; |
| 1262 | } | 1254 | } |
| 1263 | 1255 | ||
| 1264 | static void snd_ensoniq_pcm_free2(snd_pcm_t *pcm) | ||
| 1265 | { | ||
| 1266 | ensoniq_t *ensoniq = pcm->private_data; | ||
| 1267 | ensoniq->pcm2 = NULL; | ||
| 1268 | snd_pcm_lib_preallocate_free_for_all(pcm); | ||
| 1269 | } | ||
| 1270 | |||
| 1271 | static int __devinit snd_ensoniq_pcm2(ensoniq_t * ensoniq, int device, snd_pcm_t ** rpcm) | 1256 | static int __devinit snd_ensoniq_pcm2(ensoniq_t * ensoniq, int device, snd_pcm_t ** rpcm) |
| 1272 | { | 1257 | { |
| 1273 | snd_pcm_t *pcm; | 1258 | snd_pcm_t *pcm; |
| @@ -1289,7 +1274,6 @@ static int __devinit snd_ensoniq_pcm2(ensoniq_t * ensoniq, int device, snd_pcm_t | |||
| 1289 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &snd_ensoniq_playback2_ops); | 1274 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &snd_ensoniq_playback2_ops); |
| 1290 | #endif | 1275 | #endif |
| 1291 | pcm->private_data = ensoniq; | 1276 | pcm->private_data = ensoniq; |
| 1292 | pcm->private_free = snd_ensoniq_pcm_free2; | ||
| 1293 | pcm->info_flags = 0; | 1277 | pcm->info_flags = 0; |
| 1294 | #ifdef CHIP1370 | 1278 | #ifdef CHIP1370 |
| 1295 | strcpy(pcm->name, "ES1370 DAC1"); | 1279 | strcpy(pcm->name, "ES1370 DAC1"); |
diff --git a/sound/pci/es1938.c b/sound/pci/es1938.c index c134f48152b0..d05c3d2b330c 100644 --- a/sound/pci/es1938.c +++ b/sound/pci/es1938.c | |||
| @@ -1000,11 +1000,6 @@ static snd_pcm_ops_t snd_es1938_capture_ops = { | |||
| 1000 | .copy = snd_es1938_capture_copy, | 1000 | .copy = snd_es1938_capture_copy, |
| 1001 | }; | 1001 | }; |
| 1002 | 1002 | ||
| 1003 | static void snd_es1938_free_pcm(snd_pcm_t *pcm) | ||
| 1004 | { | ||
| 1005 | snd_pcm_lib_preallocate_free_for_all(pcm); | ||
| 1006 | } | ||
| 1007 | |||
| 1008 | static int __devinit snd_es1938_new_pcm(es1938_t *chip, int device) | 1003 | static int __devinit snd_es1938_new_pcm(es1938_t *chip, int device) |
| 1009 | { | 1004 | { |
| 1010 | snd_pcm_t *pcm; | 1005 | snd_pcm_t *pcm; |
| @@ -1016,7 +1011,6 @@ static int __devinit snd_es1938_new_pcm(es1938_t *chip, int device) | |||
| 1016 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_es1938_capture_ops); | 1011 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_es1938_capture_ops); |
| 1017 | 1012 | ||
| 1018 | pcm->private_data = chip; | 1013 | pcm->private_data = chip; |
| 1019 | pcm->private_free = snd_es1938_free_pcm; | ||
| 1020 | pcm->info_flags = 0; | 1014 | pcm->info_flags = 0; |
| 1021 | strcpy(pcm->name, "ESS Solo-1"); | 1015 | strcpy(pcm->name, "ESS Solo-1"); |
| 1022 | 1016 | ||
diff --git a/sound/pci/fm801.c b/sound/pci/fm801.c index 4e1d3434888d..261061b76c7f 100644 --- a/sound/pci/fm801.c +++ b/sound/pci/fm801.c | |||
| @@ -665,13 +665,6 @@ static snd_pcm_ops_t snd_fm801_capture_ops = { | |||
| 665 | .pointer = snd_fm801_capture_pointer, | 665 | .pointer = snd_fm801_capture_pointer, |
| 666 | }; | 666 | }; |
| 667 | 667 | ||
| 668 | static void snd_fm801_pcm_free(snd_pcm_t *pcm) | ||
| 669 | { | ||
| 670 | fm801_t *chip = pcm->private_data; | ||
| 671 | chip->pcm = NULL; | ||
| 672 | snd_pcm_lib_preallocate_free_for_all(pcm); | ||
| 673 | } | ||
| 674 | |||
| 675 | static int __devinit snd_fm801_pcm(fm801_t *chip, int device, snd_pcm_t ** rpcm) | 668 | static int __devinit snd_fm801_pcm(fm801_t *chip, int device, snd_pcm_t ** rpcm) |
| 676 | { | 669 | { |
| 677 | snd_pcm_t *pcm; | 670 | snd_pcm_t *pcm; |
| @@ -686,7 +679,6 @@ static int __devinit snd_fm801_pcm(fm801_t *chip, int device, snd_pcm_t ** rpcm) | |||
| 686 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_fm801_capture_ops); | 679 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_fm801_capture_ops); |
| 687 | 680 | ||
| 688 | pcm->private_data = chip; | 681 | pcm->private_data = chip; |
| 689 | pcm->private_free = snd_fm801_pcm_free; | ||
| 690 | pcm->info_flags = 0; | 682 | pcm->info_flags = 0; |
| 691 | strcpy(pcm->name, "FM801"); | 683 | strcpy(pcm->name, "FM801"); |
| 692 | chip->pcm = pcm; | 684 | chip->pcm = pcm; |
diff --git a/sound/pci/ice1712/ice1712.c b/sound/pci/ice1712/ice1712.c index bd71bf424549..b16c9c1c92c6 100644 --- a/sound/pci/ice1712/ice1712.c +++ b/sound/pci/ice1712/ice1712.c | |||
| @@ -859,13 +859,6 @@ static snd_pcm_ops_t snd_ice1712_capture_ops = { | |||
| 859 | .pointer = snd_ice1712_capture_pointer, | 859 | .pointer = snd_ice1712_capture_pointer, |
| 860 | }; | 860 | }; |
| 861 | 861 | ||
| 862 | static void snd_ice1712_pcm_free(snd_pcm_t *pcm) | ||
| 863 | { | ||
| 864 | ice1712_t *ice = pcm->private_data; | ||
| 865 | ice->pcm = NULL; | ||
| 866 | snd_pcm_lib_preallocate_free_for_all(pcm); | ||
| 867 | } | ||
| 868 | |||
| 869 | static int __devinit snd_ice1712_pcm(ice1712_t * ice, int device, snd_pcm_t ** rpcm) | 862 | static int __devinit snd_ice1712_pcm(ice1712_t * ice, int device, snd_pcm_t ** rpcm) |
| 870 | { | 863 | { |
| 871 | snd_pcm_t *pcm; | 864 | snd_pcm_t *pcm; |
| @@ -881,7 +874,6 @@ static int __devinit snd_ice1712_pcm(ice1712_t * ice, int device, snd_pcm_t ** r | |||
| 881 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_ice1712_capture_ops); | 874 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_ice1712_capture_ops); |
| 882 | 875 | ||
| 883 | pcm->private_data = ice; | 876 | pcm->private_data = ice; |
| 884 | pcm->private_free = snd_ice1712_pcm_free; | ||
| 885 | pcm->info_flags = 0; | 877 | pcm->info_flags = 0; |
| 886 | strcpy(pcm->name, "ICE1712 consumer"); | 878 | strcpy(pcm->name, "ICE1712 consumer"); |
| 887 | ice->pcm = pcm; | 879 | ice->pcm = pcm; |
| @@ -897,13 +889,6 @@ static int __devinit snd_ice1712_pcm(ice1712_t * ice, int device, snd_pcm_t ** r | |||
| 897 | return 0; | 889 | return 0; |
| 898 | } | 890 | } |
| 899 | 891 | ||
| 900 | static void snd_ice1712_pcm_free_ds(snd_pcm_t *pcm) | ||
| 901 | { | ||
| 902 | ice1712_t *ice = pcm->private_data; | ||
| 903 | ice->pcm_ds = NULL; | ||
| 904 | snd_pcm_lib_preallocate_free_for_all(pcm); | ||
| 905 | } | ||
| 906 | |||
| 907 | static int __devinit snd_ice1712_pcm_ds(ice1712_t * ice, int device, snd_pcm_t ** rpcm) | 892 | static int __devinit snd_ice1712_pcm_ds(ice1712_t * ice, int device, snd_pcm_t ** rpcm) |
| 908 | { | 893 | { |
| 909 | snd_pcm_t *pcm; | 894 | snd_pcm_t *pcm; |
| @@ -918,7 +903,6 @@ static int __devinit snd_ice1712_pcm_ds(ice1712_t * ice, int device, snd_pcm_t * | |||
| 918 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &snd_ice1712_playback_ds_ops); | 903 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &snd_ice1712_playback_ds_ops); |
| 919 | 904 | ||
| 920 | pcm->private_data = ice; | 905 | pcm->private_data = ice; |
| 921 | pcm->private_free = snd_ice1712_pcm_free_ds; | ||
| 922 | pcm->info_flags = 0; | 906 | pcm->info_flags = 0; |
| 923 | strcpy(pcm->name, "ICE1712 consumer (DS)"); | 907 | strcpy(pcm->name, "ICE1712 consumer (DS)"); |
| 924 | ice->pcm_ds = pcm; | 908 | ice->pcm_ds = pcm; |
| @@ -1223,13 +1207,6 @@ static int snd_ice1712_capture_pro_close(snd_pcm_substream_t * substream) | |||
| 1223 | return 0; | 1207 | return 0; |
| 1224 | } | 1208 | } |
| 1225 | 1209 | ||
| 1226 | static void snd_ice1712_pcm_profi_free(snd_pcm_t *pcm) | ||
| 1227 | { | ||
| 1228 | ice1712_t *ice = pcm->private_data; | ||
| 1229 | ice->pcm_pro = NULL; | ||
| 1230 | snd_pcm_lib_preallocate_free_for_all(pcm); | ||
| 1231 | } | ||
| 1232 | |||
| 1233 | static snd_pcm_ops_t snd_ice1712_playback_pro_ops = { | 1210 | static snd_pcm_ops_t snd_ice1712_playback_pro_ops = { |
| 1234 | .open = snd_ice1712_playback_pro_open, | 1211 | .open = snd_ice1712_playback_pro_open, |
| 1235 | .close = snd_ice1712_playback_pro_close, | 1212 | .close = snd_ice1712_playback_pro_close, |
| @@ -1267,7 +1244,6 @@ static int __devinit snd_ice1712_pcm_profi(ice1712_t * ice, int device, snd_pcm_ | |||
| 1267 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_ice1712_capture_pro_ops); | 1244 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_ice1712_capture_pro_ops); |
| 1268 | 1245 | ||
| 1269 | pcm->private_data = ice; | 1246 | pcm->private_data = ice; |
| 1270 | pcm->private_free = snd_ice1712_pcm_profi_free; | ||
| 1271 | pcm->info_flags = 0; | 1247 | pcm->info_flags = 0; |
| 1272 | strcpy(pcm->name, "ICE1712 multi"); | 1248 | strcpy(pcm->name, "ICE1712 multi"); |
| 1273 | 1249 | ||
diff --git a/sound/pci/rme9652/hdspm.c b/sound/pci/rme9652/hdspm.c index a1aef6f6767e..ae2013a8492d 100644 --- a/sound/pci/rme9652/hdspm.c +++ b/sound/pci/rme9652/hdspm.c | |||
| @@ -3336,15 +3336,6 @@ static int __devinit snd_hdspm_preallocate_memory(hdspm_t * hdspm) | |||
| 3336 | return 0; | 3336 | return 0; |
| 3337 | } | 3337 | } |
| 3338 | 3338 | ||
| 3339 | static int snd_hdspm_memory_free(hdspm_t * hdspm) | ||
| 3340 | { | ||
| 3341 | snd_printdd("memory_free_for_all %p\n", hdspm->pcm); | ||
| 3342 | |||
| 3343 | snd_pcm_lib_preallocate_free_for_all(hdspm->pcm); | ||
| 3344 | return 0; | ||
| 3345 | } | ||
| 3346 | |||
| 3347 | |||
| 3348 | static void hdspm_set_sgbuf(hdspm_t * hdspm, struct snd_sg_buf *sgbuf, | 3339 | static void hdspm_set_sgbuf(hdspm_t * hdspm, struct snd_sg_buf *sgbuf, |
| 3349 | unsigned int reg, int channels) | 3340 | unsigned int reg, int channels) |
| 3350 | { | 3341 | { |
| @@ -3568,8 +3559,6 @@ static int snd_hdspm_free(hdspm_t * hdspm) | |||
| 3568 | if (hdspm->iobase) | 3559 | if (hdspm->iobase) |
| 3569 | iounmap(hdspm->iobase); | 3560 | iounmap(hdspm->iobase); |
| 3570 | 3561 | ||
| 3571 | snd_hdspm_memory_free(hdspm); | ||
| 3572 | |||
| 3573 | if (hdspm->port) | 3562 | if (hdspm->port) |
| 3574 | pci_release_regions(hdspm->pci); | 3563 | pci_release_regions(hdspm->pci); |
| 3575 | 3564 | ||
diff --git a/sound/pci/sonicvibes.c b/sound/pci/sonicvibes.c index e92ef3ae2ca1..b66459f69c0b 100644 --- a/sound/pci/sonicvibes.c +++ b/sound/pci/sonicvibes.c | |||
| @@ -844,13 +844,6 @@ static snd_pcm_ops_t snd_sonicvibes_capture_ops = { | |||
| 844 | .pointer = snd_sonicvibes_capture_pointer, | 844 | .pointer = snd_sonicvibes_capture_pointer, |
| 845 | }; | 845 | }; |
| 846 | 846 | ||
| 847 | static void snd_sonicvibes_pcm_free(snd_pcm_t *pcm) | ||
| 848 | { | ||
| 849 | sonicvibes_t *sonic = pcm->private_data; | ||
| 850 | sonic->pcm = NULL; | ||
| 851 | snd_pcm_lib_preallocate_free_for_all(pcm); | ||
| 852 | } | ||
| 853 | |||
| 854 | static int __devinit snd_sonicvibes_pcm(sonicvibes_t * sonic, int device, snd_pcm_t ** rpcm) | 847 | static int __devinit snd_sonicvibes_pcm(sonicvibes_t * sonic, int device, snd_pcm_t ** rpcm) |
| 855 | { | 848 | { |
| 856 | snd_pcm_t *pcm; | 849 | snd_pcm_t *pcm; |
| @@ -864,7 +857,6 @@ static int __devinit snd_sonicvibes_pcm(sonicvibes_t * sonic, int device, snd_pc | |||
| 864 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_sonicvibes_capture_ops); | 857 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_sonicvibes_capture_ops); |
| 865 | 858 | ||
| 866 | pcm->private_data = sonic; | 859 | pcm->private_data = sonic; |
| 867 | pcm->private_free = snd_sonicvibes_pcm_free; | ||
| 868 | pcm->info_flags = 0; | 860 | pcm->info_flags = 0; |
| 869 | strcpy(pcm->name, "S3 SonicVibes"); | 861 | strcpy(pcm->name, "S3 SonicVibes"); |
| 870 | sonic->pcm = pcm; | 862 | sonic->pcm = pcm; |
diff --git a/sound/pci/trident/trident_main.c b/sound/pci/trident/trident_main.c index b9b93c7faafd..62f109f020a5 100644 --- a/sound/pci/trident/trident_main.c +++ b/sound/pci/trident/trident_main.c | |||
| @@ -2118,37 +2118,6 @@ static snd_pcm_ops_t snd_trident_spdif_7018_ops = { | |||
| 2118 | }; | 2118 | }; |
| 2119 | 2119 | ||
| 2120 | /*--------------------------------------------------------------------------- | 2120 | /*--------------------------------------------------------------------------- |
| 2121 | snd_trident_pcm_free | ||
| 2122 | |||
| 2123 | Description: This routine release the 4DWave private data. | ||
| 2124 | |||
| 2125 | Paramters: private_data - pointer to 4DWave device info. | ||
| 2126 | |||
| 2127 | Returns: None | ||
| 2128 | |||
| 2129 | ---------------------------------------------------------------------------*/ | ||
| 2130 | static void snd_trident_pcm_free(snd_pcm_t *pcm) | ||
| 2131 | { | ||
| 2132 | trident_t *trident = pcm->private_data; | ||
| 2133 | trident->pcm = NULL; | ||
| 2134 | snd_pcm_lib_preallocate_free_for_all(pcm); | ||
| 2135 | } | ||
| 2136 | |||
| 2137 | static void snd_trident_foldback_pcm_free(snd_pcm_t *pcm) | ||
| 2138 | { | ||
| 2139 | trident_t *trident = pcm->private_data; | ||
| 2140 | trident->foldback = NULL; | ||
| 2141 | snd_pcm_lib_preallocate_free_for_all(pcm); | ||
| 2142 | } | ||
| 2143 | |||
| 2144 | static void snd_trident_spdif_pcm_free(snd_pcm_t *pcm) | ||
| 2145 | { | ||
| 2146 | trident_t *trident = pcm->private_data; | ||
| 2147 | trident->spdif = NULL; | ||
| 2148 | snd_pcm_lib_preallocate_free_for_all(pcm); | ||
| 2149 | } | ||
| 2150 | |||
| 2151 | /*--------------------------------------------------------------------------- | ||
| 2152 | snd_trident_pcm | 2121 | snd_trident_pcm |
| 2153 | 2122 | ||
| 2154 | Description: This routine registers the 4DWave device for PCM support. | 2123 | Description: This routine registers the 4DWave device for PCM support. |
| @@ -2170,7 +2139,6 @@ int __devinit snd_trident_pcm(trident_t * trident, int device, snd_pcm_t ** rpcm | |||
| 2170 | return err; | 2139 | return err; |
| 2171 | 2140 | ||
| 2172 | pcm->private_data = trident; | 2141 | pcm->private_data = trident; |
| 2173 | pcm->private_free = snd_trident_pcm_free; | ||
| 2174 | 2142 | ||
| 2175 | if (trident->tlb.entries) { | 2143 | if (trident->tlb.entries) { |
| 2176 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &snd_trident_nx_playback_ops); | 2144 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &snd_trident_nx_playback_ops); |
| @@ -2232,7 +2200,6 @@ int __devinit snd_trident_foldback_pcm(trident_t * trident, int device, snd_pcm_ | |||
| 2232 | return err; | 2200 | return err; |
| 2233 | 2201 | ||
| 2234 | foldback->private_data = trident; | 2202 | foldback->private_data = trident; |
| 2235 | foldback->private_free = snd_trident_foldback_pcm_free; | ||
| 2236 | if (trident->tlb.entries) | 2203 | if (trident->tlb.entries) |
| 2237 | snd_pcm_set_ops(foldback, SNDRV_PCM_STREAM_CAPTURE, &snd_trident_nx_foldback_ops); | 2204 | snd_pcm_set_ops(foldback, SNDRV_PCM_STREAM_CAPTURE, &snd_trident_nx_foldback_ops); |
| 2238 | else | 2205 | else |
| @@ -2285,7 +2252,6 @@ int __devinit snd_trident_spdif_pcm(trident_t * trident, int device, snd_pcm_t * | |||
| 2285 | return err; | 2252 | return err; |
| 2286 | 2253 | ||
| 2287 | spdif->private_data = trident; | 2254 | spdif->private_data = trident; |
| 2288 | spdif->private_free = snd_trident_spdif_pcm_free; | ||
| 2289 | if (trident->device != TRIDENT_DEVICE_ID_SI7018) { | 2255 | if (trident->device != TRIDENT_DEVICE_ID_SI7018) { |
| 2290 | snd_pcm_set_ops(spdif, SNDRV_PCM_STREAM_PLAYBACK, &snd_trident_spdif_ops); | 2256 | snd_pcm_set_ops(spdif, SNDRV_PCM_STREAM_PLAYBACK, &snd_trident_spdif_ops); |
| 2291 | } else { | 2257 | } else { |
diff --git a/sound/pci/ymfpci/ymfpci_main.c b/sound/pci/ymfpci/ymfpci_main.c index 88a43e091d77..8229703c80cd 100644 --- a/sound/pci/ymfpci/ymfpci_main.c +++ b/sound/pci/ymfpci/ymfpci_main.c | |||
| @@ -1071,13 +1071,6 @@ static snd_pcm_ops_t snd_ymfpci_capture_rec_ops = { | |||
| 1071 | .pointer = snd_ymfpci_capture_pointer, | 1071 | .pointer = snd_ymfpci_capture_pointer, |
| 1072 | }; | 1072 | }; |
| 1073 | 1073 | ||
| 1074 | static void snd_ymfpci_pcm_free(snd_pcm_t *pcm) | ||
| 1075 | { | ||
| 1076 | ymfpci_t *chip = pcm->private_data; | ||
| 1077 | chip->pcm = NULL; | ||
| 1078 | snd_pcm_lib_preallocate_free_for_all(pcm); | ||
| 1079 | } | ||
| 1080 | |||
| 1081 | int __devinit snd_ymfpci_pcm(ymfpci_t *chip, int device, snd_pcm_t ** rpcm) | 1074 | int __devinit snd_ymfpci_pcm(ymfpci_t *chip, int device, snd_pcm_t ** rpcm) |
| 1082 | { | 1075 | { |
| 1083 | snd_pcm_t *pcm; | 1076 | snd_pcm_t *pcm; |
| @@ -1088,7 +1081,6 @@ int __devinit snd_ymfpci_pcm(ymfpci_t *chip, int device, snd_pcm_t ** rpcm) | |||
| 1088 | if ((err = snd_pcm_new(chip->card, "YMFPCI", device, 32, 1, &pcm)) < 0) | 1081 | if ((err = snd_pcm_new(chip->card, "YMFPCI", device, 32, 1, &pcm)) < 0) |
| 1089 | return err; | 1082 | return err; |
| 1090 | pcm->private_data = chip; | 1083 | pcm->private_data = chip; |
| 1091 | pcm->private_free = snd_ymfpci_pcm_free; | ||
| 1092 | 1084 | ||
| 1093 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &snd_ymfpci_playback_ops); | 1085 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &snd_ymfpci_playback_ops); |
| 1094 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_ymfpci_capture_rec_ops); | 1086 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_ymfpci_capture_rec_ops); |
| @@ -1117,13 +1109,6 @@ static snd_pcm_ops_t snd_ymfpci_capture_ac97_ops = { | |||
| 1117 | .pointer = snd_ymfpci_capture_pointer, | 1109 | .pointer = snd_ymfpci_capture_pointer, |
| 1118 | }; | 1110 | }; |
| 1119 | 1111 | ||
| 1120 | static void snd_ymfpci_pcm2_free(snd_pcm_t *pcm) | ||
| 1121 | { | ||
| 1122 | ymfpci_t *chip = pcm->private_data; | ||
| 1123 | chip->pcm2 = NULL; | ||
| 1124 | snd_pcm_lib_preallocate_free_for_all(pcm); | ||
| 1125 | } | ||
| 1126 | |||
| 1127 | int __devinit snd_ymfpci_pcm2(ymfpci_t *chip, int device, snd_pcm_t ** rpcm) | 1112 | int __devinit snd_ymfpci_pcm2(ymfpci_t *chip, int device, snd_pcm_t ** rpcm) |
| 1128 | { | 1113 | { |
| 1129 | snd_pcm_t *pcm; | 1114 | snd_pcm_t *pcm; |
| @@ -1134,7 +1119,6 @@ int __devinit snd_ymfpci_pcm2(ymfpci_t *chip, int device, snd_pcm_t ** rpcm) | |||
| 1134 | if ((err = snd_pcm_new(chip->card, "YMFPCI - PCM2", device, 0, 1, &pcm)) < 0) | 1119 | if ((err = snd_pcm_new(chip->card, "YMFPCI - PCM2", device, 0, 1, &pcm)) < 0) |
| 1135 | return err; | 1120 | return err; |
| 1136 | pcm->private_data = chip; | 1121 | pcm->private_data = chip; |
| 1137 | pcm->private_free = snd_ymfpci_pcm2_free; | ||
| 1138 | 1122 | ||
| 1139 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_ymfpci_capture_ac97_ops); | 1123 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_ymfpci_capture_ac97_ops); |
| 1140 | 1124 | ||
| @@ -1163,13 +1147,6 @@ static snd_pcm_ops_t snd_ymfpci_playback_spdif_ops = { | |||
| 1163 | .pointer = snd_ymfpci_playback_pointer, | 1147 | .pointer = snd_ymfpci_playback_pointer, |
| 1164 | }; | 1148 | }; |
| 1165 | 1149 | ||
| 1166 | static void snd_ymfpci_pcm_spdif_free(snd_pcm_t *pcm) | ||
| 1167 | { | ||
| 1168 | ymfpci_t *chip = pcm->private_data; | ||
| 1169 | chip->pcm_spdif = NULL; | ||
| 1170 | snd_pcm_lib_preallocate_free_for_all(pcm); | ||
| 1171 | } | ||
| 1172 | |||
| 1173 | int __devinit snd_ymfpci_pcm_spdif(ymfpci_t *chip, int device, snd_pcm_t ** rpcm) | 1150 | int __devinit snd_ymfpci_pcm_spdif(ymfpci_t *chip, int device, snd_pcm_t ** rpcm) |
| 1174 | { | 1151 | { |
| 1175 | snd_pcm_t *pcm; | 1152 | snd_pcm_t *pcm; |
| @@ -1180,7 +1157,6 @@ int __devinit snd_ymfpci_pcm_spdif(ymfpci_t *chip, int device, snd_pcm_t ** rpcm | |||
| 1180 | if ((err = snd_pcm_new(chip->card, "YMFPCI - IEC958", device, 1, 0, &pcm)) < 0) | 1157 | if ((err = snd_pcm_new(chip->card, "YMFPCI - IEC958", device, 1, 0, &pcm)) < 0) |
| 1181 | return err; | 1158 | return err; |
| 1182 | pcm->private_data = chip; | 1159 | pcm->private_data = chip; |
| 1183 | pcm->private_free = snd_ymfpci_pcm_spdif_free; | ||
| 1184 | 1160 | ||
| 1185 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &snd_ymfpci_playback_spdif_ops); | 1161 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &snd_ymfpci_playback_spdif_ops); |
| 1186 | 1162 | ||
| @@ -1208,13 +1184,6 @@ static snd_pcm_ops_t snd_ymfpci_playback_4ch_ops = { | |||
| 1208 | .pointer = snd_ymfpci_playback_pointer, | 1184 | .pointer = snd_ymfpci_playback_pointer, |
| 1209 | }; | 1185 | }; |
| 1210 | 1186 | ||
| 1211 | static void snd_ymfpci_pcm_4ch_free(snd_pcm_t *pcm) | ||
| 1212 | { | ||
| 1213 | ymfpci_t *chip = pcm->private_data; | ||
| 1214 | chip->pcm_4ch = NULL; | ||
| 1215 | snd_pcm_lib_preallocate_free_for_all(pcm); | ||
| 1216 | } | ||
| 1217 | |||
| 1218 | int __devinit snd_ymfpci_pcm_4ch(ymfpci_t *chip, int device, snd_pcm_t ** rpcm) | 1187 | int __devinit snd_ymfpci_pcm_4ch(ymfpci_t *chip, int device, snd_pcm_t ** rpcm) |
| 1219 | { | 1188 | { |
| 1220 | snd_pcm_t *pcm; | 1189 | snd_pcm_t *pcm; |
| @@ -1225,7 +1194,6 @@ int __devinit snd_ymfpci_pcm_4ch(ymfpci_t *chip, int device, snd_pcm_t ** rpcm) | |||
| 1225 | if ((err = snd_pcm_new(chip->card, "YMFPCI - Rear", device, 1, 0, &pcm)) < 0) | 1194 | if ((err = snd_pcm_new(chip->card, "YMFPCI - Rear", device, 1, 0, &pcm)) < 0) |
| 1226 | return err; | 1195 | return err; |
| 1227 | pcm->private_data = chip; | 1196 | pcm->private_data = chip; |
| 1228 | pcm->private_free = snd_ymfpci_pcm_4ch_free; | ||
| 1229 | 1197 | ||
| 1230 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &snd_ymfpci_playback_4ch_ops); | 1198 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &snd_ymfpci_playback_4ch_ops); |
| 1231 | 1199 | ||
diff --git a/sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c b/sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c index 20b86d8df7a3..d54033ebd5e9 100644 --- a/sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c +++ b/sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c | |||
| @@ -325,15 +325,6 @@ static snd_pcm_ops_t pdacf_pcm_capture_ops = { | |||
| 325 | 325 | ||
| 326 | 326 | ||
| 327 | /* | 327 | /* |
| 328 | * free callback for pcm | ||
| 329 | */ | ||
| 330 | static void snd_pdacf_pcm_free(snd_pcm_t *pcm) | ||
| 331 | { | ||
| 332 | pdacf_t *chip = pcm->private_data; | ||
| 333 | chip->pcm = NULL; | ||
| 334 | } | ||
| 335 | |||
| 336 | /* | ||
| 337 | * snd_pdacf_pcm_new - create and initialize a pcm | 328 | * snd_pdacf_pcm_new - create and initialize a pcm |
| 338 | */ | 329 | */ |
| 339 | int snd_pdacf_pcm_new(pdacf_t *chip) | 330 | int snd_pdacf_pcm_new(pdacf_t *chip) |
| @@ -348,7 +339,6 @@ int snd_pdacf_pcm_new(pdacf_t *chip) | |||
| 348 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &pdacf_pcm_capture_ops); | 339 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &pdacf_pcm_capture_ops); |
| 349 | 340 | ||
| 350 | pcm->private_data = chip; | 341 | pcm->private_data = chip; |
| 351 | pcm->private_free = snd_pdacf_pcm_free; | ||
| 352 | pcm->info_flags = 0; | 342 | pcm->info_flags = 0; |
| 353 | strcpy(pcm->name, chip->card->shortname); | 343 | strcpy(pcm->name, chip->card->shortname); |
| 354 | chip->pcm = pcm; | 344 | chip->pcm = pcm; |
diff --git a/sound/ppc/pmac.c b/sound/ppc/pmac.c index db2f1815fc30..dd28187ec0e9 100644 --- a/sound/ppc/pmac.c +++ b/sound/ppc/pmac.c | |||
| @@ -637,11 +637,6 @@ static snd_pcm_ops_t snd_pmac_capture_ops = { | |||
| 637 | .pointer = snd_pmac_capture_pointer, | 637 | .pointer = snd_pmac_capture_pointer, |
| 638 | }; | 638 | }; |
| 639 | 639 | ||
| 640 | static void pmac_pcm_free(snd_pcm_t *pcm) | ||
| 641 | { | ||
| 642 | snd_pcm_lib_preallocate_free_for_all(pcm); | ||
| 643 | } | ||
| 644 | |||
| 645 | int __init snd_pmac_pcm_new(pmac_t *chip) | 640 | int __init snd_pmac_pcm_new(pmac_t *chip) |
| 646 | { | 641 | { |
| 647 | snd_pcm_t *pcm; | 642 | snd_pcm_t *pcm; |
| @@ -659,7 +654,6 @@ int __init snd_pmac_pcm_new(pmac_t *chip) | |||
| 659 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_pmac_capture_ops); | 654 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_pmac_capture_ops); |
| 660 | 655 | ||
| 661 | pcm->private_data = chip; | 656 | pcm->private_data = chip; |
| 662 | pcm->private_free = pmac_pcm_free; | ||
| 663 | pcm->info_flags = SNDRV_PCM_INFO_JOINT_DUPLEX; | 657 | pcm->info_flags = SNDRV_PCM_INFO_JOINT_DUPLEX; |
| 664 | strcpy(pcm->name, chip->card->shortname); | 658 | strcpy(pcm->name, chip->card->shortname); |
| 665 | chip->pcm = pcm; | 659 | chip->pcm = pcm; |
diff --git a/sound/sparc/amd7930.c b/sound/sparc/amd7930.c index 46d504ba7e03..7d4b6855bac0 100644 --- a/sound/sparc/amd7930.c +++ b/sound/sparc/amd7930.c | |||
| @@ -755,14 +755,6 @@ static snd_pcm_ops_t snd_amd7930_capture_ops = { | |||
| 755 | .pointer = snd_amd7930_capture_pointer, | 755 | .pointer = snd_amd7930_capture_pointer, |
| 756 | }; | 756 | }; |
| 757 | 757 | ||
| 758 | static void snd_amd7930_pcm_free(snd_pcm_t *pcm) | ||
| 759 | { | ||
| 760 | amd7930_t *amd = pcm->private_data; | ||
| 761 | |||
| 762 | amd->pcm = NULL; | ||
| 763 | snd_pcm_lib_preallocate_free_for_all(pcm); | ||
| 764 | } | ||
| 765 | |||
| 766 | static int __init snd_amd7930_pcm(amd7930_t *amd) | 758 | static int __init snd_amd7930_pcm(amd7930_t *amd) |
| 767 | { | 759 | { |
| 768 | snd_pcm_t *pcm; | 760 | snd_pcm_t *pcm; |
| @@ -780,7 +772,6 @@ static int __init snd_amd7930_pcm(amd7930_t *amd) | |||
| 780 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_amd7930_capture_ops); | 772 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_amd7930_capture_ops); |
| 781 | 773 | ||
| 782 | pcm->private_data = amd; | 774 | pcm->private_data = amd; |
| 783 | pcm->private_free = snd_amd7930_pcm_free; | ||
| 784 | pcm->info_flags = 0; | 775 | pcm->info_flags = 0; |
| 785 | strcpy(pcm->name, amd->card->shortname); | 776 | strcpy(pcm->name, amd->card->shortname); |
| 786 | amd->pcm = pcm; | 777 | amd->pcm = pcm; |
diff --git a/sound/sparc/cs4231.c b/sound/sparc/cs4231.c index 1f8d27a6152e..0fa482c9110b 100644 --- a/sound/sparc/cs4231.c +++ b/sound/sparc/cs4231.c | |||
| @@ -1385,13 +1385,6 @@ static snd_pcm_ops_t snd_cs4231_capture_ops = { | |||
| 1385 | .pointer = snd_cs4231_capture_pointer, | 1385 | .pointer = snd_cs4231_capture_pointer, |
| 1386 | }; | 1386 | }; |
| 1387 | 1387 | ||
| 1388 | static void snd_cs4231_pcm_free(snd_pcm_t *pcm) | ||
| 1389 | { | ||
| 1390 | cs4231_t *chip = pcm->private_data; | ||
| 1391 | chip->pcm = NULL; | ||
| 1392 | snd_pcm_lib_preallocate_free_for_all(pcm); | ||
| 1393 | } | ||
| 1394 | |||
| 1395 | int snd_cs4231_pcm(cs4231_t *chip) | 1388 | int snd_cs4231_pcm(cs4231_t *chip) |
| 1396 | { | 1389 | { |
| 1397 | snd_pcm_t *pcm; | 1390 | snd_pcm_t *pcm; |
| @@ -1405,7 +1398,6 @@ int snd_cs4231_pcm(cs4231_t *chip) | |||
| 1405 | 1398 | ||
| 1406 | /* global setup */ | 1399 | /* global setup */ |
| 1407 | pcm->private_data = chip; | 1400 | pcm->private_data = chip; |
| 1408 | pcm->private_free = snd_cs4231_pcm_free; | ||
| 1409 | pcm->info_flags = SNDRV_PCM_INFO_JOINT_DUPLEX; | 1401 | pcm->info_flags = SNDRV_PCM_INFO_JOINT_DUPLEX; |
| 1410 | strcpy(pcm->name, "CS4231"); | 1402 | strcpy(pcm->name, "CS4231"); |
| 1411 | 1403 | ||
diff --git a/sound/usb/usx2y/usbusx2yaudio.c b/sound/usb/usx2y/usbusx2yaudio.c index affda973cece..c5989cb7db3f 100644 --- a/sound/usb/usx2y/usbusx2yaudio.c +++ b/sound/usb/usx2y/usbusx2yaudio.c | |||
| @@ -941,10 +941,8 @@ static void usX2Y_audio_stream_free(snd_usX2Y_substream_t **usX2Y_substream) | |||
| 941 | static void snd_usX2Y_pcm_private_free(snd_pcm_t *pcm) | 941 | static void snd_usX2Y_pcm_private_free(snd_pcm_t *pcm) |
| 942 | { | 942 | { |
| 943 | snd_usX2Y_substream_t **usX2Y_stream = pcm->private_data; | 943 | snd_usX2Y_substream_t **usX2Y_stream = pcm->private_data; |
| 944 | if (usX2Y_stream) { | 944 | if (usX2Y_stream) |
| 945 | snd_pcm_lib_preallocate_free_for_all(pcm); | ||
| 946 | usX2Y_audio_stream_free(usX2Y_stream); | 945 | usX2Y_audio_stream_free(usX2Y_stream); |
| 947 | } | ||
| 948 | } | 946 | } |
| 949 | 947 | ||
| 950 | static int usX2Y_audio_stream_new(snd_card_t *card, int playback_endpoint, int capture_endpoint) | 948 | static int usX2Y_audio_stream_new(snd_card_t *card, int playback_endpoint, int capture_endpoint) |
diff --git a/sound/usb/usx2y/usx2yhwdeppcm.c b/sound/usb/usx2y/usx2yhwdeppcm.c index c9136a98755f..4bbf52bd6025 100644 --- a/sound/usb/usx2y/usx2yhwdeppcm.c +++ b/sound/usb/usx2y/usx2yhwdeppcm.c | |||
| @@ -740,12 +740,6 @@ static void snd_usX2Y_hwdep_pcm_private_free(snd_hwdep_t *hwdep) | |||
| 740 | } | 740 | } |
| 741 | 741 | ||
| 742 | 742 | ||
| 743 | static void snd_usX2Y_usbpcm_private_free(snd_pcm_t *pcm) | ||
| 744 | { | ||
| 745 | snd_pcm_lib_preallocate_free_for_all(pcm); | ||
| 746 | } | ||
| 747 | |||
| 748 | |||
| 749 | int usX2Y_hwdep_pcm_new(snd_card_t* card) | 743 | int usX2Y_hwdep_pcm_new(snd_card_t* card) |
| 750 | { | 744 | { |
| 751 | int err; | 745 | int err; |
| @@ -776,7 +770,6 @@ int usX2Y_hwdep_pcm_new(snd_card_t* card) | |||
| 776 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_usX2Y_usbpcm_ops); | 770 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_usX2Y_usbpcm_ops); |
| 777 | 771 | ||
| 778 | pcm->private_data = usX2Y(card)->subs; | 772 | pcm->private_data = usX2Y(card)->subs; |
| 779 | pcm->private_free = snd_usX2Y_usbpcm_private_free; | ||
| 780 | pcm->info_flags = 0; | 773 | pcm->info_flags = 0; |
| 781 | 774 | ||
| 782 | sprintf(pcm->name, NAME_ALLCAPS" hwdep Audio"); | 775 | sprintf(pcm->name, NAME_ALLCAPS" hwdep Audio"); |
| @@ -788,7 +781,6 @@ int usX2Y_hwdep_pcm_new(snd_card_t* card) | |||
| 788 | SNDRV_DMA_TYPE_CONTINUOUS, | 781 | SNDRV_DMA_TYPE_CONTINUOUS, |
| 789 | snd_dma_continuous_data(GFP_KERNEL), | 782 | snd_dma_continuous_data(GFP_KERNEL), |
| 790 | 64*1024, 128*1024))) { | 783 | 64*1024, 128*1024))) { |
| 791 | snd_usX2Y_usbpcm_private_free(pcm); | ||
| 792 | return err; | 784 | return err; |
| 793 | } | 785 | } |
| 794 | 786 | ||
