diff options
31 files changed, 111 insertions, 103 deletions
diff --git a/sound/aoa/core/alsa.c b/sound/aoa/core/alsa.c index 617850463582..0fa3855b4790 100644 --- a/sound/aoa/core/alsa.c +++ b/sound/aoa/core/alsa.c | |||
| @@ -23,9 +23,10 @@ int aoa_alsa_init(char *name, struct module *mod, struct device *dev) | |||
| 23 | /* cannot be EEXIST due to usage in aoa_fabric_register */ | 23 | /* cannot be EEXIST due to usage in aoa_fabric_register */ |
| 24 | return -EBUSY; | 24 | return -EBUSY; |
| 25 | 25 | ||
| 26 | alsa_card = snd_card_new(index, name, mod, sizeof(struct aoa_card)); | 26 | err = snd_card_create(index, name, mod, sizeof(struct aoa_card), |
| 27 | if (!alsa_card) | 27 | &alsa_card); |
| 28 | return -ENOMEM; | 28 | if (err < 0) |
| 29 | return err; | ||
| 29 | aoa_card = alsa_card->private_data; | 30 | aoa_card = alsa_card->private_data; |
| 30 | aoa_card->alsa_card = alsa_card; | 31 | aoa_card->alsa_card = alsa_card; |
| 31 | alsa_card->dev = dev; | 32 | alsa_card->dev = dev; |
diff --git a/sound/arm/aaci.c b/sound/arm/aaci.c index 89096e811a4b..7d39aac9ec14 100644 --- a/sound/arm/aaci.c +++ b/sound/arm/aaci.c | |||
| @@ -995,10 +995,11 @@ static struct aaci * __devinit aaci_init_card(struct amba_device *dev) | |||
| 995 | { | 995 | { |
| 996 | struct aaci *aaci; | 996 | struct aaci *aaci; |
| 997 | struct snd_card *card; | 997 | struct snd_card *card; |
| 998 | int err; | ||
| 998 | 999 | ||
| 999 | card = snd_card_new(SNDRV_DEFAULT_IDX1, SNDRV_DEFAULT_STR1, | 1000 | err = snd_card_create(SNDRV_DEFAULT_IDX1, SNDRV_DEFAULT_STR1, |
| 1000 | THIS_MODULE, sizeof(struct aaci)); | 1001 | THIS_MODULE, sizeof(struct aaci), &card); |
| 1001 | if (card == NULL) | 1002 | if (err < 0) |
| 1002 | return NULL; | 1003 | return NULL; |
| 1003 | 1004 | ||
| 1004 | card->private_free = aaci_free_card; | 1005 | card->private_free = aaci_free_card; |
diff --git a/sound/arm/pxa2xx-ac97.c b/sound/arm/pxa2xx-ac97.c index 85cf591d4e11..7ed100c80a5f 100644 --- a/sound/arm/pxa2xx-ac97.c +++ b/sound/arm/pxa2xx-ac97.c | |||
| @@ -173,10 +173,9 @@ static int __devinit pxa2xx_ac97_probe(struct platform_device *dev) | |||
| 173 | struct snd_ac97_template ac97_template; | 173 | struct snd_ac97_template ac97_template; |
| 174 | int ret; | 174 | int ret; |
| 175 | 175 | ||
| 176 | ret = -ENOMEM; | 176 | ret = snd_card_create(SNDRV_DEFAULT_IDX1, SNDRV_DEFAULT_STR1, |
| 177 | card = snd_card_new(SNDRV_DEFAULT_IDX1, SNDRV_DEFAULT_STR1, | 177 | THIS_MODULE, 0, &card); |
| 178 | THIS_MODULE, 0); | 178 | if (ret < 0) |
| 179 | if (!card) | ||
| 180 | goto err; | 179 | goto err; |
| 181 | 180 | ||
| 182 | card->dev = &dev->dev; | 181 | card->dev = &dev->dev; |
diff --git a/sound/arm/sa11xx-uda1341.c b/sound/arm/sa11xx-uda1341.c index 1dcd51d81d10..51d708c31e65 100644 --- a/sound/arm/sa11xx-uda1341.c +++ b/sound/arm/sa11xx-uda1341.c | |||
| @@ -887,9 +887,10 @@ static int __devinit sa11xx_uda1341_probe(struct platform_device *devptr) | |||
| 887 | struct sa11xx_uda1341 *chip; | 887 | struct sa11xx_uda1341 *chip; |
| 888 | 888 | ||
| 889 | /* register the soundcard */ | 889 | /* register the soundcard */ |
| 890 | card = snd_card_new(-1, id, THIS_MODULE, sizeof(struct sa11xx_uda1341)); | 890 | err = snd_card_create(-1, id, THIS_MODULE, |
| 891 | if (card == NULL) | 891 | sizeof(struct sa11xx_uda1341), &card); |
| 892 | return -ENOMEM; | 892 | if (err < 0) |
| 893 | return err; | ||
| 893 | 894 | ||
| 894 | chip = card->private_data; | 895 | chip = card->private_data; |
| 895 | spin_lock_init(&chip->s[0].dma_lock); | 896 | spin_lock_init(&chip->s[0].dma_lock); |
diff --git a/sound/drivers/dummy.c b/sound/drivers/dummy.c index 73be7e14a603..54239d2e0997 100644 --- a/sound/drivers/dummy.c +++ b/sound/drivers/dummy.c | |||
| @@ -588,10 +588,10 @@ static int __devinit snd_dummy_probe(struct platform_device *devptr) | |||
| 588 | int idx, err; | 588 | int idx, err; |
| 589 | int dev = devptr->id; | 589 | int dev = devptr->id; |
| 590 | 590 | ||
| 591 | card = snd_card_new(index[dev], id[dev], THIS_MODULE, | 591 | err = snd_card_create(index[dev], id[dev], THIS_MODULE, |
| 592 | sizeof(struct snd_dummy)); | 592 | sizeof(struct snd_dummy), &card); |
| 593 | if (card == NULL) | 593 | if (err < 0) |
| 594 | return -ENOMEM; | 594 | return err; |
| 595 | dummy = card->private_data; | 595 | dummy = card->private_data; |
| 596 | dummy->card = card; | 596 | dummy->card = card; |
| 597 | for (idx = 0; idx < MAX_PCM_DEVICES && idx < pcm_devs[dev]; idx++) { | 597 | for (idx = 0; idx < MAX_PCM_DEVICES && idx < pcm_devs[dev]; idx++) { |
diff --git a/sound/drivers/ml403-ac97cr.c b/sound/drivers/ml403-ac97cr.c index 7783843ca9ae..1950ffce2b54 100644 --- a/sound/drivers/ml403-ac97cr.c +++ b/sound/drivers/ml403-ac97cr.c | |||
| @@ -1279,9 +1279,9 @@ static int __devinit snd_ml403_ac97cr_probe(struct platform_device *pfdev) | |||
| 1279 | if (!enable[dev]) | 1279 | if (!enable[dev]) |
| 1280 | return -ENOENT; | 1280 | return -ENOENT; |
| 1281 | 1281 | ||
| 1282 | card = snd_card_new(index[dev], id[dev], THIS_MODULE, 0); | 1282 | err = snd_card_create(index[dev], id[dev], THIS_MODULE, 0, &card); |
| 1283 | if (card == NULL) | 1283 | if (err < 0) |
| 1284 | return -ENOMEM; | 1284 | return err; |
| 1285 | err = snd_ml403_ac97cr_create(card, pfdev, &ml403_ac97cr); | 1285 | err = snd_ml403_ac97cr_create(card, pfdev, &ml403_ac97cr); |
| 1286 | if (err < 0) { | 1286 | if (err < 0) { |
| 1287 | PDEBUG(INIT_FAILURE, "probe(): create failed!\n"); | 1287 | PDEBUG(INIT_FAILURE, "probe(): create failed!\n"); |
diff --git a/sound/drivers/mpu401/mpu401.c b/sound/drivers/mpu401/mpu401.c index 5b996f3faba5..149d05a8202d 100644 --- a/sound/drivers/mpu401/mpu401.c +++ b/sound/drivers/mpu401/mpu401.c | |||
| @@ -73,9 +73,9 @@ static int snd_mpu401_create(int dev, struct snd_card **rcard) | |||
| 73 | snd_printk(KERN_ERR "the uart_enter option is obsolete; remove it\n"); | 73 | snd_printk(KERN_ERR "the uart_enter option is obsolete; remove it\n"); |
| 74 | 74 | ||
| 75 | *rcard = NULL; | 75 | *rcard = NULL; |
| 76 | card = snd_card_new(index[dev], id[dev], THIS_MODULE, 0); | 76 | err = snd_card_create(index[dev], id[dev], THIS_MODULE, 0, &card); |
| 77 | if (card == NULL) | 77 | if (err < 0) |
| 78 | return -ENOMEM; | 78 | return err; |
| 79 | strcpy(card->driver, "MPU-401 UART"); | 79 | strcpy(card->driver, "MPU-401 UART"); |
| 80 | strcpy(card->shortname, card->driver); | 80 | strcpy(card->shortname, card->driver); |
| 81 | sprintf(card->longname, "%s at %#lx, ", card->shortname, port[dev]); | 81 | sprintf(card->longname, "%s at %#lx, ", card->shortname, port[dev]); |
diff --git a/sound/drivers/mtpav.c b/sound/drivers/mtpav.c index 5b89c0883d60..c3e9833dcfd9 100644 --- a/sound/drivers/mtpav.c +++ b/sound/drivers/mtpav.c | |||
| @@ -696,9 +696,9 @@ static int __devinit snd_mtpav_probe(struct platform_device *dev) | |||
| 696 | int err; | 696 | int err; |
| 697 | struct mtpav *mtp_card; | 697 | struct mtpav *mtp_card; |
| 698 | 698 | ||
| 699 | card = snd_card_new(index, id, THIS_MODULE, sizeof(*mtp_card)); | 699 | err = snd_card_create(index, id, THIS_MODULE, sizeof(*mtp_card), &card); |
| 700 | if (! card) | 700 | if (err < 0) |
| 701 | return -ENOMEM; | 701 | return err; |
| 702 | 702 | ||
| 703 | mtp_card = card->private_data; | 703 | mtp_card = card->private_data; |
| 704 | spin_lock_init(&mtp_card->spinlock); | 704 | spin_lock_init(&mtp_card->spinlock); |
diff --git a/sound/drivers/mts64.c b/sound/drivers/mts64.c index 87ba1ddc0115..33d9db782e07 100644 --- a/sound/drivers/mts64.c +++ b/sound/drivers/mts64.c | |||
| @@ -957,10 +957,10 @@ static int __devinit snd_mts64_probe(struct platform_device *pdev) | |||
| 957 | if ((err = snd_mts64_probe_port(p)) < 0) | 957 | if ((err = snd_mts64_probe_port(p)) < 0) |
| 958 | return err; | 958 | return err; |
| 959 | 959 | ||
| 960 | card = snd_card_new(index[dev], id[dev], THIS_MODULE, 0); | 960 | err = snd_card_create(index[dev], id[dev], THIS_MODULE, 0, &card); |
| 961 | if (card == NULL) { | 961 | if (err < 0) { |
| 962 | snd_printd("Cannot create card\n"); | 962 | snd_printd("Cannot create card\n"); |
| 963 | return -ENOMEM; | 963 | return err; |
| 964 | } | 964 | } |
| 965 | strcpy(card->driver, DRIVER_NAME); | 965 | strcpy(card->driver, DRIVER_NAME); |
| 966 | strcpy(card->shortname, "ESI " CARD_NAME); | 966 | strcpy(card->shortname, "ESI " CARD_NAME); |
diff --git a/sound/drivers/pcsp/pcsp.c b/sound/drivers/pcsp/pcsp.c index a4049eb94d35..aa2ae07a76d5 100644 --- a/sound/drivers/pcsp/pcsp.c +++ b/sound/drivers/pcsp/pcsp.c | |||
| @@ -98,9 +98,9 @@ static int __devinit snd_card_pcsp_probe(int devnum, struct device *dev) | |||
| 98 | hrtimer_init(&pcsp_chip.timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); | 98 | hrtimer_init(&pcsp_chip.timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); |
| 99 | pcsp_chip.timer.function = pcsp_do_timer; | 99 | pcsp_chip.timer.function = pcsp_do_timer; |
| 100 | 100 | ||
| 101 | card = snd_card_new(index, id, THIS_MODULE, 0); | 101 | err = snd_card_create(index, id, THIS_MODULE, 0, &card); |
| 102 | if (!card) | 102 | if (err < 0) |
| 103 | return -ENOMEM; | 103 | return err; |
| 104 | 104 | ||
| 105 | err = snd_pcsp_create(card); | 105 | err = snd_pcsp_create(card); |
| 106 | if (err < 0) { | 106 | if (err < 0) { |
diff --git a/sound/drivers/portman2x4.c b/sound/drivers/portman2x4.c index b1c047ec19af..60158e2e0eaf 100644 --- a/sound/drivers/portman2x4.c +++ b/sound/drivers/portman2x4.c | |||
| @@ -746,10 +746,10 @@ static int __devinit snd_portman_probe(struct platform_device *pdev) | |||
| 746 | if ((err = snd_portman_probe_port(p)) < 0) | 746 | if ((err = snd_portman_probe_port(p)) < 0) |
| 747 | return err; | 747 | return err; |
| 748 | 748 | ||
| 749 | card = snd_card_new(index[dev], id[dev], THIS_MODULE, 0); | 749 | err = snd_card_create(index[dev], id[dev], THIS_MODULE, 0, &card); |
| 750 | if (card == NULL) { | 750 | if (err < 0) { |
| 751 | snd_printd("Cannot create card\n"); | 751 | snd_printd("Cannot create card\n"); |
| 752 | return -ENOMEM; | 752 | return err; |
| 753 | } | 753 | } |
| 754 | strcpy(card->driver, DRIVER_NAME); | 754 | strcpy(card->driver, DRIVER_NAME); |
| 755 | strcpy(card->shortname, CARD_NAME); | 755 | strcpy(card->shortname, CARD_NAME); |
diff --git a/sound/drivers/serial-u16550.c b/sound/drivers/serial-u16550.c index d8aab9da97c2..891d081e4825 100644 --- a/sound/drivers/serial-u16550.c +++ b/sound/drivers/serial-u16550.c | |||
| @@ -936,9 +936,9 @@ static int __devinit snd_serial_probe(struct platform_device *devptr) | |||
| 936 | return -ENODEV; | 936 | return -ENODEV; |
| 937 | } | 937 | } |
| 938 | 938 | ||
| 939 | card = snd_card_new(index[dev], id[dev], THIS_MODULE, 0); | 939 | err = snd_card_create(index[dev], id[dev], THIS_MODULE, 0, &card); |
| 940 | if (card == NULL) | 940 | if (err < 0) |
| 941 | return -ENOMEM; | 941 | return err; |
| 942 | 942 | ||
| 943 | strcpy(card->driver, "Serial"); | 943 | strcpy(card->driver, "Serial"); |
| 944 | strcpy(card->shortname, "Serial MIDI (UART16550A)"); | 944 | strcpy(card->shortname, "Serial MIDI (UART16550A)"); |
diff --git a/sound/drivers/virmidi.c b/sound/drivers/virmidi.c index f79e3614079d..6f48711818f3 100644 --- a/sound/drivers/virmidi.c +++ b/sound/drivers/virmidi.c | |||
| @@ -90,10 +90,10 @@ static int __devinit snd_virmidi_probe(struct platform_device *devptr) | |||
| 90 | int idx, err; | 90 | int idx, err; |
| 91 | int dev = devptr->id; | 91 | int dev = devptr->id; |
| 92 | 92 | ||
| 93 | card = snd_card_new(index[dev], id[dev], THIS_MODULE, | 93 | err = snd_card_create(index[dev], id[dev], THIS_MODULE, |
| 94 | sizeof(struct snd_card_virmidi)); | 94 | sizeof(struct snd_card_virmidi), &card); |
| 95 | if (card == NULL) | 95 | if (err < 0) |
| 96 | return -ENOMEM; | 96 | return err; |
| 97 | vmidi = (struct snd_card_virmidi *)card->private_data; | 97 | vmidi = (struct snd_card_virmidi *)card->private_data; |
| 98 | vmidi->card = card; | 98 | vmidi->card = card; |
| 99 | 99 | ||
diff --git a/sound/mips/au1x00.c b/sound/mips/au1x00.c index 1881cec11e78..99e1391b2eb4 100644 --- a/sound/mips/au1x00.c +++ b/sound/mips/au1x00.c | |||
| @@ -636,9 +636,10 @@ au1000_init(void) | |||
| 636 | struct snd_card *card; | 636 | struct snd_card *card; |
| 637 | struct snd_au1000 *au1000; | 637 | struct snd_au1000 *au1000; |
| 638 | 638 | ||
| 639 | card = snd_card_new(-1, "AC97", THIS_MODULE, sizeof(struct snd_au1000)); | 639 | err = snd_card_create(-1, "AC97", THIS_MODULE, |
| 640 | if (card == NULL) | 640 | sizeof(struct snd_au1000), &card); |
| 641 | return -ENOMEM; | 641 | if (err < 0) |
| 642 | return err; | ||
| 642 | 643 | ||
| 643 | card->private_free = snd_au1000_free; | 644 | card->private_free = snd_au1000_free; |
| 644 | au1000 = card->private_data; | 645 | au1000 = card->private_data; |
diff --git a/sound/mips/hal2.c b/sound/mips/hal2.c index db495be01861..c52691c2fc46 100644 --- a/sound/mips/hal2.c +++ b/sound/mips/hal2.c | |||
| @@ -878,9 +878,9 @@ static int __devinit hal2_probe(struct platform_device *pdev) | |||
| 878 | struct snd_hal2 *chip; | 878 | struct snd_hal2 *chip; |
| 879 | int err; | 879 | int err; |
| 880 | 880 | ||
| 881 | card = snd_card_new(index, id, THIS_MODULE, 0); | 881 | err = snd_card_create(index, id, THIS_MODULE, 0, &card); |
| 882 | if (card == NULL) | 882 | if (err < 0) |
| 883 | return -ENOMEM; | 883 | return err; |
| 884 | 884 | ||
| 885 | err = hal2_create(card, &chip); | 885 | err = hal2_create(card, &chip); |
| 886 | if (err < 0) { | 886 | if (err < 0) { |
diff --git a/sound/mips/sgio2audio.c b/sound/mips/sgio2audio.c index 4c63504348dc..66f3b48ceafc 100644 --- a/sound/mips/sgio2audio.c +++ b/sound/mips/sgio2audio.c | |||
| @@ -936,9 +936,9 @@ static int __devinit snd_sgio2audio_probe(struct platform_device *pdev) | |||
| 936 | struct snd_sgio2audio *chip; | 936 | struct snd_sgio2audio *chip; |
| 937 | int err; | 937 | int err; |
| 938 | 938 | ||
| 939 | card = snd_card_new(index, id, THIS_MODULE, 0); | 939 | err = snd_card_create(index, id, THIS_MODULE, 0, &card); |
| 940 | if (card == NULL) | 940 | if (err < 0) |
| 941 | return -ENOMEM; | 941 | return err; |
| 942 | 942 | ||
| 943 | err = snd_sgio2audio_create(card, &chip); | 943 | err = snd_sgio2audio_create(card, &chip); |
| 944 | if (err < 0) { | 944 | if (err < 0) { |
diff --git a/sound/parisc/harmony.c b/sound/parisc/harmony.c index 41f870f8a11d..6055fd6d3b38 100644 --- a/sound/parisc/harmony.c +++ b/sound/parisc/harmony.c | |||
| @@ -975,9 +975,9 @@ snd_harmony_probe(struct parisc_device *padev) | |||
| 975 | struct snd_card *card; | 975 | struct snd_card *card; |
| 976 | struct snd_harmony *h; | 976 | struct snd_harmony *h; |
| 977 | 977 | ||
| 978 | card = snd_card_new(index, id, THIS_MODULE, 0); | 978 | err = snd_card_create(index, id, THIS_MODULE, 0, &card); |
| 979 | if (card == NULL) | 979 | if (err < 0) |
| 980 | return -ENOMEM; | 980 | return err; |
| 981 | 981 | ||
| 982 | err = snd_harmony_create(card, padev, &h); | 982 | err = snd_harmony_create(card, padev, &h); |
| 983 | if (err < 0) | 983 | if (err < 0) |
diff --git a/sound/pcmcia/pdaudiocf/pdaudiocf.c b/sound/pcmcia/pdaudiocf/pdaudiocf.c index 819aaaac432f..183f6615c68c 100644 --- a/sound/pcmcia/pdaudiocf/pdaudiocf.c +++ b/sound/pcmcia/pdaudiocf/pdaudiocf.c | |||
| @@ -91,7 +91,7 @@ static int snd_pdacf_dev_free(struct snd_device *device) | |||
| 91 | */ | 91 | */ |
| 92 | static int snd_pdacf_probe(struct pcmcia_device *link) | 92 | static int snd_pdacf_probe(struct pcmcia_device *link) |
| 93 | { | 93 | { |
| 94 | int i; | 94 | int i, err; |
| 95 | struct snd_pdacf *pdacf; | 95 | struct snd_pdacf *pdacf; |
| 96 | struct snd_card *card; | 96 | struct snd_card *card; |
| 97 | static struct snd_device_ops ops = { | 97 | static struct snd_device_ops ops = { |
| @@ -112,10 +112,10 @@ static int snd_pdacf_probe(struct pcmcia_device *link) | |||
| 112 | return -ENODEV; /* disabled explicitly */ | 112 | return -ENODEV; /* disabled explicitly */ |
| 113 | 113 | ||
| 114 | /* ok, create a card instance */ | 114 | /* ok, create a card instance */ |
| 115 | card = snd_card_new(index[i], id[i], THIS_MODULE, 0); | 115 | err = snd_card_create(index[i], id[i], THIS_MODULE, 0, &card); |
| 116 | if (card == NULL) { | 116 | if (err < 0) { |
| 117 | snd_printk(KERN_ERR "pdacf: cannot create a card instance\n"); | 117 | snd_printk(KERN_ERR "pdacf: cannot create a card instance\n"); |
| 118 | return -ENOMEM; | 118 | return err; |
| 119 | } | 119 | } |
| 120 | 120 | ||
| 121 | pdacf = snd_pdacf_create(card); | 121 | pdacf = snd_pdacf_create(card); |
diff --git a/sound/pcmcia/vx/vxpocket.c b/sound/pcmcia/vx/vxpocket.c index 706602a40600..087ded8a8d72 100644 --- a/sound/pcmcia/vx/vxpocket.c +++ b/sound/pcmcia/vx/vxpocket.c | |||
| @@ -292,7 +292,7 @@ static int vxpocket_probe(struct pcmcia_device *p_dev) | |||
| 292 | { | 292 | { |
| 293 | struct snd_card *card; | 293 | struct snd_card *card; |
| 294 | struct snd_vxpocket *vxp; | 294 | struct snd_vxpocket *vxp; |
| 295 | int i; | 295 | int i, err; |
| 296 | 296 | ||
| 297 | /* find an empty slot from the card list */ | 297 | /* find an empty slot from the card list */ |
| 298 | for (i = 0; i < SNDRV_CARDS; i++) { | 298 | for (i = 0; i < SNDRV_CARDS; i++) { |
| @@ -307,10 +307,10 @@ static int vxpocket_probe(struct pcmcia_device *p_dev) | |||
| 307 | return -ENODEV; /* disabled explicitly */ | 307 | return -ENODEV; /* disabled explicitly */ |
| 308 | 308 | ||
| 309 | /* ok, create a card instance */ | 309 | /* ok, create a card instance */ |
| 310 | card = snd_card_new(index[i], id[i], THIS_MODULE, 0); | 310 | err = snd_card_create(index[i], id[i], THIS_MODULE, 0, &card); |
| 311 | if (card == NULL) { | 311 | if (err < 0) { |
| 312 | snd_printk(KERN_ERR "vxpocket: cannot create a card instance\n"); | 312 | snd_printk(KERN_ERR "vxpocket: cannot create a card instance\n"); |
| 313 | return -ENOMEM; | 313 | return err; |
| 314 | } | 314 | } |
| 315 | 315 | ||
| 316 | vxp = snd_vxpocket_new(card, ibl[i], p_dev); | 316 | vxp = snd_vxpocket_new(card, ibl[i], p_dev); |
diff --git a/sound/ppc/powermac.c b/sound/ppc/powermac.c index c936225771ba..2e18ed0ea899 100644 --- a/sound/ppc/powermac.c +++ b/sound/ppc/powermac.c | |||
| @@ -58,9 +58,9 @@ static int __init snd_pmac_probe(struct platform_device *devptr) | |||
| 58 | char *name_ext; | 58 | char *name_ext; |
| 59 | int err; | 59 | int err; |
| 60 | 60 | ||
| 61 | card = snd_card_new(index, id, THIS_MODULE, 0); | 61 | err = snd_card_create(index, id, THIS_MODULE, 0, &card); |
| 62 | if (card == NULL) | 62 | if (err < 0) |
| 63 | return -ENOMEM; | 63 | return err; |
| 64 | 64 | ||
| 65 | if ((err = snd_pmac_new(card, &chip)) < 0) | 65 | if ((err = snd_pmac_new(card, &chip)) < 0) |
| 66 | goto __error; | 66 | goto __error; |
diff --git a/sound/ppc/snd_ps3.c b/sound/ppc/snd_ps3.c index 8f9e3859c37c..ef2c3f417175 100644 --- a/sound/ppc/snd_ps3.c +++ b/sound/ppc/snd_ps3.c | |||
| @@ -969,11 +969,9 @@ static int __init snd_ps3_driver_probe(struct ps3_system_bus_device *dev) | |||
| 969 | } | 969 | } |
| 970 | 970 | ||
| 971 | /* create card instance */ | 971 | /* create card instance */ |
| 972 | the_card.card = snd_card_new(index, id, THIS_MODULE, 0); | 972 | ret = snd_card_create(index, id, THIS_MODULE, 0, &the_card.card); |
| 973 | if (!the_card.card) { | 973 | if (ret < 0) |
| 974 | ret = -ENXIO; | ||
| 975 | goto clean_irq; | 974 | goto clean_irq; |
| 976 | } | ||
| 977 | 975 | ||
| 978 | strcpy(the_card.card->driver, "PS3"); | 976 | strcpy(the_card.card->driver, "PS3"); |
| 979 | strcpy(the_card.card->shortname, "PS3"); | 977 | strcpy(the_card.card->shortname, "PS3"); |
diff --git a/sound/sh/aica.c b/sound/sh/aica.c index 7c920f3e7fe3..f551233c5a08 100644 --- a/sound/sh/aica.c +++ b/sound/sh/aica.c | |||
| @@ -609,11 +609,11 @@ static int __devinit snd_aica_probe(struct platform_device *devptr) | |||
| 609 | dreamcastcard = kmalloc(sizeof(struct snd_card_aica), GFP_KERNEL); | 609 | dreamcastcard = kmalloc(sizeof(struct snd_card_aica), GFP_KERNEL); |
| 610 | if (unlikely(!dreamcastcard)) | 610 | if (unlikely(!dreamcastcard)) |
| 611 | return -ENOMEM; | 611 | return -ENOMEM; |
| 612 | dreamcastcard->card = | 612 | err = snd_card_create(index, SND_AICA_DRIVER, THIS_MODULE, 0, |
| 613 | snd_card_new(index, SND_AICA_DRIVER, THIS_MODULE, 0); | 613 | &dreamcastcard->card); |
| 614 | if (unlikely(!dreamcastcard->card)) { | 614 | if (unlikely(err < 0)) { |
| 615 | kfree(dreamcastcard); | 615 | kfree(dreamcastcard); |
| 616 | return -ENODEV; | 616 | return err; |
| 617 | } | 617 | } |
| 618 | strcpy(dreamcastcard->card->driver, "snd_aica"); | 618 | strcpy(dreamcastcard->card->driver, "snd_aica"); |
| 619 | strcpy(dreamcastcard->card->shortname, SND_AICA_DRIVER); | 619 | strcpy(dreamcastcard->card->shortname, SND_AICA_DRIVER); |
diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c index 6cbe7e82f238..318dfdd54d7f 100644 --- a/sound/soc/soc-core.c +++ b/sound/soc/soc-core.c | |||
| @@ -1311,17 +1311,17 @@ int snd_soc_new_pcms(struct snd_soc_device *socdev, int idx, const char *xid) | |||
| 1311 | { | 1311 | { |
| 1312 | struct snd_soc_codec *codec = socdev->codec; | 1312 | struct snd_soc_codec *codec = socdev->codec; |
| 1313 | struct snd_soc_card *card = socdev->card; | 1313 | struct snd_soc_card *card = socdev->card; |
| 1314 | int ret = 0, i; | 1314 | int ret, i; |
| 1315 | 1315 | ||
| 1316 | mutex_lock(&codec->mutex); | 1316 | mutex_lock(&codec->mutex); |
| 1317 | 1317 | ||
| 1318 | /* register a sound card */ | 1318 | /* register a sound card */ |
| 1319 | codec->card = snd_card_new(idx, xid, codec->owner, 0); | 1319 | ret = snd_card_create(idx, xid, codec->owner, 0, &codec->card); |
| 1320 | if (!codec->card) { | 1320 | if (ret < 0) { |
| 1321 | printk(KERN_ERR "asoc: can't create sound card for codec %s\n", | 1321 | printk(KERN_ERR "asoc: can't create sound card for codec %s\n", |
| 1322 | codec->name); | 1322 | codec->name); |
| 1323 | mutex_unlock(&codec->mutex); | 1323 | mutex_unlock(&codec->mutex); |
| 1324 | return -ENODEV; | 1324 | return ret; |
| 1325 | } | 1325 | } |
| 1326 | 1326 | ||
| 1327 | codec->card->dev = socdev->dev; | 1327 | codec->card->dev = socdev->dev; |
diff --git a/sound/sparc/amd7930.c b/sound/sparc/amd7930.c index f87933e48812..ba38912614b4 100644 --- a/sound/sparc/amd7930.c +++ b/sound/sparc/amd7930.c | |||
| @@ -1018,9 +1018,10 @@ static int __devinit amd7930_sbus_probe(struct of_device *op, const struct of_de | |||
| 1018 | return -ENOENT; | 1018 | return -ENOENT; |
| 1019 | } | 1019 | } |
| 1020 | 1020 | ||
| 1021 | card = snd_card_new(index[dev_num], id[dev_num], THIS_MODULE, 0); | 1021 | err = snd_card_create(index[dev_num], id[dev_num], THIS_MODULE, 0, |
| 1022 | if (card == NULL) | 1022 | &card); |
| 1023 | return -ENOMEM; | 1023 | if (err < 0) |
| 1024 | return err; | ||
| 1024 | 1025 | ||
| 1025 | strcpy(card->driver, "AMD7930"); | 1026 | strcpy(card->driver, "AMD7930"); |
| 1026 | strcpy(card->shortname, "Sun AMD7930"); | 1027 | strcpy(card->shortname, "Sun AMD7930"); |
diff --git a/sound/sparc/cs4231.c b/sound/sparc/cs4231.c index 41c387587474..7d93fa705ccf 100644 --- a/sound/sparc/cs4231.c +++ b/sound/sparc/cs4231.c | |||
| @@ -1563,6 +1563,7 @@ static int __init cs4231_attach_begin(struct snd_card **rcard) | |||
| 1563 | { | 1563 | { |
| 1564 | struct snd_card *card; | 1564 | struct snd_card *card; |
| 1565 | struct snd_cs4231 *chip; | 1565 | struct snd_cs4231 *chip; |
| 1566 | int err; | ||
| 1566 | 1567 | ||
| 1567 | *rcard = NULL; | 1568 | *rcard = NULL; |
| 1568 | 1569 | ||
| @@ -1574,10 +1575,10 @@ static int __init cs4231_attach_begin(struct snd_card **rcard) | |||
| 1574 | return -ENOENT; | 1575 | return -ENOENT; |
| 1575 | } | 1576 | } |
| 1576 | 1577 | ||
| 1577 | card = snd_card_new(index[dev], id[dev], THIS_MODULE, | 1578 | err = snd_card_create(index[dev], id[dev], THIS_MODULE, |
| 1578 | sizeof(struct snd_cs4231)); | 1579 | sizeof(struct snd_cs4231), &card); |
| 1579 | if (card == NULL) | 1580 | if (err < 0) |
| 1580 | return -ENOMEM; | 1581 | return err; |
| 1581 | 1582 | ||
| 1582 | strcpy(card->driver, "CS4231"); | 1583 | strcpy(card->driver, "CS4231"); |
| 1583 | strcpy(card->shortname, "Sun CS4231"); | 1584 | strcpy(card->shortname, "Sun CS4231"); |
diff --git a/sound/sparc/dbri.c b/sound/sparc/dbri.c index 23ed6f04a718..af95ff1e126c 100644 --- a/sound/sparc/dbri.c +++ b/sound/sparc/dbri.c | |||
| @@ -2612,10 +2612,10 @@ static int __devinit dbri_probe(struct of_device *op, const struct of_device_id | |||
| 2612 | return -ENODEV; | 2612 | return -ENODEV; |
| 2613 | } | 2613 | } |
| 2614 | 2614 | ||
| 2615 | card = snd_card_new(index[dev], id[dev], THIS_MODULE, | 2615 | err = snd_card_create(index[dev], id[dev], THIS_MODULE, |
| 2616 | sizeof(struct snd_dbri)); | 2616 | sizeof(struct snd_dbri), &card); |
| 2617 | if (card == NULL) | 2617 | if (err < 0) |
| 2618 | return -ENOMEM; | 2618 | return err; |
| 2619 | 2619 | ||
| 2620 | strcpy(card->driver, "DBRI"); | 2620 | strcpy(card->driver, "DBRI"); |
| 2621 | strcpy(card->shortname, "Sun DBRI"); | 2621 | strcpy(card->shortname, "Sun DBRI"); |
diff --git a/sound/spi/at73c213.c b/sound/spi/at73c213.c index 09802e8a6fb8..4c7b051f9d17 100644 --- a/sound/spi/at73c213.c +++ b/sound/spi/at73c213.c | |||
| @@ -965,12 +965,11 @@ static int __devinit snd_at73c213_probe(struct spi_device *spi) | |||
| 965 | return PTR_ERR(board->dac_clk); | 965 | return PTR_ERR(board->dac_clk); |
| 966 | } | 966 | } |
| 967 | 967 | ||
| 968 | retval = -ENOMEM; | ||
| 969 | |||
| 970 | /* Allocate "card" using some unused identifiers. */ | 968 | /* Allocate "card" using some unused identifiers. */ |
| 971 | snprintf(id, sizeof id, "at73c213_%d", board->ssc_id); | 969 | snprintf(id, sizeof id, "at73c213_%d", board->ssc_id); |
| 972 | card = snd_card_new(-1, id, THIS_MODULE, sizeof(struct snd_at73c213)); | 970 | retval = snd_card_create(-1, id, THIS_MODULE, |
| 973 | if (!card) | 971 | sizeof(struct snd_at73c213), &card); |
| 972 | if (retval < 0) | ||
| 974 | goto out; | 973 | goto out; |
| 975 | 974 | ||
| 976 | chip = card->private_data; | 975 | chip = card->private_data; |
diff --git a/sound/usb/caiaq/caiaq-device.c b/sound/usb/caiaq/caiaq-device.c index a62500e387a6..63a2c1d5779b 100644 --- a/sound/usb/caiaq/caiaq-device.c +++ b/sound/usb/caiaq/caiaq-device.c | |||
| @@ -339,6 +339,7 @@ static void __devinit setup_card(struct snd_usb_caiaqdev *dev) | |||
| 339 | static struct snd_card* create_card(struct usb_device* usb_dev) | 339 | static struct snd_card* create_card(struct usb_device* usb_dev) |
| 340 | { | 340 | { |
| 341 | int devnum; | 341 | int devnum; |
| 342 | int err; | ||
| 342 | struct snd_card *card; | 343 | struct snd_card *card; |
| 343 | struct snd_usb_caiaqdev *dev; | 344 | struct snd_usb_caiaqdev *dev; |
| 344 | 345 | ||
| @@ -349,9 +350,9 @@ static struct snd_card* create_card(struct usb_device* usb_dev) | |||
| 349 | if (devnum >= SNDRV_CARDS) | 350 | if (devnum >= SNDRV_CARDS) |
| 350 | return NULL; | 351 | return NULL; |
| 351 | 352 | ||
| 352 | card = snd_card_new(index[devnum], id[devnum], THIS_MODULE, | 353 | err = snd_card_create(index[devnum], id[devnum], THIS_MODULE, |
| 353 | sizeof(struct snd_usb_caiaqdev)); | 354 | sizeof(struct snd_usb_caiaqdev), &card); |
| 354 | if (!card) | 355 | if (err < 0) |
| 355 | return NULL; | 356 | return NULL; |
| 356 | 357 | ||
| 357 | dev = caiaqdev(card); | 358 | dev = caiaqdev(card); |
diff --git a/sound/usb/usbaudio.c b/sound/usb/usbaudio.c index c709b9563226..eec32e1a3020 100644 --- a/sound/usb/usbaudio.c +++ b/sound/usb/usbaudio.c | |||
| @@ -3463,10 +3463,10 @@ static int snd_usb_audio_create(struct usb_device *dev, int idx, | |||
| 3463 | return -ENXIO; | 3463 | return -ENXIO; |
| 3464 | } | 3464 | } |
| 3465 | 3465 | ||
| 3466 | card = snd_card_new(index[idx], id[idx], THIS_MODULE, 0); | 3466 | err = snd_card_create(index[idx], id[idx], THIS_MODULE, 0, &card); |
| 3467 | if (card == NULL) { | 3467 | if (err < 0) { |
| 3468 | snd_printk(KERN_ERR "cannot create card instance %d\n", idx); | 3468 | snd_printk(KERN_ERR "cannot create card instance %d\n", idx); |
| 3469 | return -ENOMEM; | 3469 | return err; |
| 3470 | } | 3470 | } |
| 3471 | 3471 | ||
| 3472 | chip = kzalloc(sizeof(*chip), GFP_KERNEL); | 3472 | chip = kzalloc(sizeof(*chip), GFP_KERNEL); |
diff --git a/sound/usb/usx2y/us122l.c b/sound/usb/usx2y/us122l.c index 73e59f4403a4..b21bb475c0ff 100644 --- a/sound/usb/usx2y/us122l.c +++ b/sound/usb/usx2y/us122l.c | |||
| @@ -482,14 +482,16 @@ static struct snd_card *usx2y_create_card(struct usb_device *device) | |||
| 482 | { | 482 | { |
| 483 | int dev; | 483 | int dev; |
| 484 | struct snd_card *card; | 484 | struct snd_card *card; |
| 485 | int err; | ||
| 486 | |||
| 485 | for (dev = 0; dev < SNDRV_CARDS; ++dev) | 487 | for (dev = 0; dev < SNDRV_CARDS; ++dev) |
| 486 | if (enable[dev] && !snd_us122l_card_used[dev]) | 488 | if (enable[dev] && !snd_us122l_card_used[dev]) |
| 487 | break; | 489 | break; |
| 488 | if (dev >= SNDRV_CARDS) | 490 | if (dev >= SNDRV_CARDS) |
| 489 | return NULL; | 491 | return NULL; |
| 490 | card = snd_card_new(index[dev], id[dev], THIS_MODULE, | 492 | err = snd_card_create(index[dev], id[dev], THIS_MODULE, |
| 491 | sizeof(struct us122l)); | 493 | sizeof(struct us122l), &card); |
| 492 | if (!card) | 494 | if (err < 0) |
| 493 | return NULL; | 495 | return NULL; |
| 494 | snd_us122l_card_used[US122L(card)->chip.index = dev] = 1; | 496 | snd_us122l_card_used[US122L(card)->chip.index = dev] = 1; |
| 495 | 497 | ||
diff --git a/sound/usb/usx2y/usbusx2y.c b/sound/usb/usx2y/usbusx2y.c index 11639bd72a51..b848a1806385 100644 --- a/sound/usb/usx2y/usbusx2y.c +++ b/sound/usb/usx2y/usbusx2y.c | |||
| @@ -337,13 +337,16 @@ static struct snd_card *usX2Y_create_card(struct usb_device *device) | |||
| 337 | { | 337 | { |
| 338 | int dev; | 338 | int dev; |
| 339 | struct snd_card * card; | 339 | struct snd_card * card; |
| 340 | int err; | ||
| 341 | |||
| 340 | for (dev = 0; dev < SNDRV_CARDS; ++dev) | 342 | for (dev = 0; dev < SNDRV_CARDS; ++dev) |
| 341 | if (enable[dev] && !snd_usX2Y_card_used[dev]) | 343 | if (enable[dev] && !snd_usX2Y_card_used[dev]) |
| 342 | break; | 344 | break; |
| 343 | if (dev >= SNDRV_CARDS) | 345 | if (dev >= SNDRV_CARDS) |
| 344 | return NULL; | 346 | return NULL; |
| 345 | card = snd_card_new(index[dev], id[dev], THIS_MODULE, sizeof(struct usX2Ydev)); | 347 | err = snd_card_create(index[dev], id[dev], THIS_MODULE, |
| 346 | if (!card) | 348 | sizeof(struct usX2Ydev), &card); |
| 349 | if (err < 0) | ||
| 347 | return NULL; | 350 | return NULL; |
| 348 | snd_usX2Y_card_used[usX2Y(card)->chip.index = dev] = 1; | 351 | snd_usX2Y_card_used[usX2Y(card)->chip.index = dev] = 1; |
| 349 | card->private_free = snd_usX2Y_card_private_free; | 352 | card->private_free = snd_usX2Y_card_private_free; |
