diff options
| author | Takashi Iwai <tiwai@alsa3.local> | 2008-12-28 16:45:02 +0100 | 
|---|---|---|
| committer | Takashi Iwai <tiwai@suse.de> | 2009-01-12 15:21:19 +0100 | 
| commit | bd7dd77c2a05c530684eea2e3af16449ae9c5d52 (patch) | |
| tree | f26e8b6c83ed58d3c2d47f9df6373812db80a885 | |
| parent | e58de7baf7de11f01a675cbbf6ecc8a2758b9ca5 (diff) | |
| download | olio-linux-3.10-bd7dd77c2a05c530684eea2e3af16449ae9c5d52.tar.xz olio-linux-3.10-bd7dd77c2a05c530684eea2e3af16449ae9c5d52.zip  | |
ALSA: Convert to snd_card_create() in other sound/*
Convert from snd_card_new() to the new snd_card_create() function
in other sound subdirectories.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
31 files changed, 111 insertions, 103 deletions
diff --git a/sound/aoa/core/alsa.c b/sound/aoa/core/alsa.c index 61785046358..0fa3855b479 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)  		/* cannot be EEXIST due to usage in aoa_fabric_register */  		return -EBUSY; -	alsa_card = snd_card_new(index, name, mod, sizeof(struct aoa_card)); -	if (!alsa_card) -		return -ENOMEM; +	err = snd_card_create(index, name, mod, sizeof(struct aoa_card), +			      &alsa_card); +	if (err < 0) +		return err;  	aoa_card = alsa_card->private_data;  	aoa_card->alsa_card = alsa_card;  	alsa_card->dev = dev; diff --git a/sound/arm/aaci.c b/sound/arm/aaci.c index 89096e811a4..7d39aac9ec1 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)  {  	struct aaci *aaci;  	struct snd_card *card; +	int err; -	card = snd_card_new(SNDRV_DEFAULT_IDX1, SNDRV_DEFAULT_STR1, -			    THIS_MODULE, sizeof(struct aaci)); -	if (card == NULL) +	err = snd_card_create(SNDRV_DEFAULT_IDX1, SNDRV_DEFAULT_STR1, +			      THIS_MODULE, sizeof(struct aaci), &card); +	if (err < 0)  		return NULL;  	card->private_free = aaci_free_card; diff --git a/sound/arm/pxa2xx-ac97.c b/sound/arm/pxa2xx-ac97.c index 85cf591d4e1..7ed100c80a5 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)  	struct snd_ac97_template ac97_template;  	int ret; -	ret = -ENOMEM; -	card = snd_card_new(SNDRV_DEFAULT_IDX1, SNDRV_DEFAULT_STR1, -			    THIS_MODULE, 0); -	if (!card) +	ret = snd_card_create(SNDRV_DEFAULT_IDX1, SNDRV_DEFAULT_STR1, +			      THIS_MODULE, 0, &card); +	if (ret < 0)  		goto err;  	card->dev = &dev->dev; diff --git a/sound/arm/sa11xx-uda1341.c b/sound/arm/sa11xx-uda1341.c index 1dcd51d81d1..51d708c31e6 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)  	struct sa11xx_uda1341 *chip;  	/* register the soundcard */ -	card = snd_card_new(-1, id, THIS_MODULE, sizeof(struct sa11xx_uda1341)); -	if (card == NULL) -		return -ENOMEM; +	err = snd_card_create(-1, id, THIS_MODULE, +			      sizeof(struct sa11xx_uda1341), &card); +	if (err < 0) +		return err;  	chip = card->private_data;  	spin_lock_init(&chip->s[0].dma_lock); diff --git a/sound/drivers/dummy.c b/sound/drivers/dummy.c index 73be7e14a60..54239d2e099 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)  	int idx, err;  	int dev = devptr->id; -	card = snd_card_new(index[dev], id[dev], THIS_MODULE, -			    sizeof(struct snd_dummy)); -	if (card == NULL) -		return -ENOMEM; +	err = snd_card_create(index[dev], id[dev], THIS_MODULE, +			      sizeof(struct snd_dummy), &card); +	if (err < 0) +		return err;  	dummy = card->private_data;  	dummy->card = card;  	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 7783843ca9a..1950ffce2b5 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)  	if (!enable[dev])  		return -ENOENT; -	card = snd_card_new(index[dev], id[dev], THIS_MODULE, 0); -	if (card == NULL) -		return -ENOMEM; +	err = snd_card_create(index[dev], id[dev], THIS_MODULE, 0, &card); +	if (err < 0) +		return err;  	err = snd_ml403_ac97cr_create(card, pfdev, &ml403_ac97cr);  	if (err < 0) {  		PDEBUG(INIT_FAILURE, "probe(): create failed!\n"); diff --git a/sound/drivers/mpu401/mpu401.c b/sound/drivers/mpu401/mpu401.c index 5b996f3faba..149d05a8202 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)  		snd_printk(KERN_ERR "the uart_enter option is obsolete; remove it\n");  	*rcard = NULL; -	card = snd_card_new(index[dev], id[dev], THIS_MODULE, 0); -	if (card == NULL) -		return -ENOMEM; +	err = snd_card_create(index[dev], id[dev], THIS_MODULE, 0, &card); +	if (err < 0) +		return err;  	strcpy(card->driver, "MPU-401 UART");  	strcpy(card->shortname, card->driver);  	sprintf(card->longname, "%s at %#lx, ", card->shortname, port[dev]); diff --git a/sound/drivers/mtpav.c b/sound/drivers/mtpav.c index 5b89c0883d6..c3e9833dcfd 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)  	int err;  	struct mtpav *mtp_card; -	card = snd_card_new(index, id, THIS_MODULE, sizeof(*mtp_card)); -	if (! card) -		return -ENOMEM; +	err = snd_card_create(index, id, THIS_MODULE, sizeof(*mtp_card), &card); +	if (err < 0) +		return err;  	mtp_card = card->private_data;  	spin_lock_init(&mtp_card->spinlock); diff --git a/sound/drivers/mts64.c b/sound/drivers/mts64.c index 87ba1ddc011..33d9db782e0 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)  	if ((err = snd_mts64_probe_port(p)) < 0)  		return err; -	card = snd_card_new(index[dev], id[dev], THIS_MODULE, 0); -	if (card == NULL) { +	err = snd_card_create(index[dev], id[dev], THIS_MODULE, 0, &card); +	if (err < 0) {  		snd_printd("Cannot create card\n"); -		return -ENOMEM; +		return err;  	}  	strcpy(card->driver, DRIVER_NAME);  	strcpy(card->shortname, "ESI " CARD_NAME); diff --git a/sound/drivers/pcsp/pcsp.c b/sound/drivers/pcsp/pcsp.c index a4049eb94d3..aa2ae07a76d 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)  	hrtimer_init(&pcsp_chip.timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL);  	pcsp_chip.timer.function = pcsp_do_timer; -	card = snd_card_new(index, id, THIS_MODULE, 0); -	if (!card) -		return -ENOMEM; +	err = snd_card_create(index, id, THIS_MODULE, 0, &card); +	if (err < 0) +		return err;  	err = snd_pcsp_create(card);  	if (err < 0) { diff --git a/sound/drivers/portman2x4.c b/sound/drivers/portman2x4.c index b1c047ec19a..60158e2e0ea 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)  	if ((err = snd_portman_probe_port(p)) < 0)  		return err; -	card = snd_card_new(index[dev], id[dev], THIS_MODULE, 0); -	if (card == NULL) { +	err = snd_card_create(index[dev], id[dev], THIS_MODULE, 0, &card); +	if (err < 0) {  		snd_printd("Cannot create card\n"); -		return -ENOMEM; +		return err;  	}  	strcpy(card->driver, DRIVER_NAME);  	strcpy(card->shortname, CARD_NAME); diff --git a/sound/drivers/serial-u16550.c b/sound/drivers/serial-u16550.c index d8aab9da97c..891d081e482 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)  		return -ENODEV;  	} -	card  = snd_card_new(index[dev], id[dev], THIS_MODULE, 0); -	if (card == NULL) -		return -ENOMEM; +	err  = snd_card_create(index[dev], id[dev], THIS_MODULE, 0, &card); +	if (err < 0) +		return err;  	strcpy(card->driver, "Serial");  	strcpy(card->shortname, "Serial MIDI (UART16550A)"); diff --git a/sound/drivers/virmidi.c b/sound/drivers/virmidi.c index f79e3614079..6f48711818f 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)  	int idx, err;  	int dev = devptr->id; -	card = snd_card_new(index[dev], id[dev], THIS_MODULE, -			    sizeof(struct snd_card_virmidi)); -	if (card == NULL) -		return -ENOMEM; +	err = snd_card_create(index[dev], id[dev], THIS_MODULE, +			      sizeof(struct snd_card_virmidi), &card); +	if (err < 0) +		return err;  	vmidi = (struct snd_card_virmidi *)card->private_data;  	vmidi->card = card; diff --git a/sound/mips/au1x00.c b/sound/mips/au1x00.c index 1881cec11e7..99e1391b2eb 100644 --- a/sound/mips/au1x00.c +++ b/sound/mips/au1x00.c @@ -636,9 +636,10 @@ au1000_init(void)  	struct snd_card *card;  	struct snd_au1000 *au1000; -	card = snd_card_new(-1, "AC97", THIS_MODULE, sizeof(struct snd_au1000)); -	if (card == NULL) -		return -ENOMEM; +	err = snd_card_create(-1, "AC97", THIS_MODULE, +			      sizeof(struct snd_au1000), &card); +	if (err < 0) +		return err;  	card->private_free = snd_au1000_free;  	au1000 = card->private_data; diff --git a/sound/mips/hal2.c b/sound/mips/hal2.c index db495be0186..c52691c2fc4 100644 --- a/sound/mips/hal2.c +++ b/sound/mips/hal2.c @@ -878,9 +878,9 @@ static int __devinit hal2_probe(struct platform_device *pdev)  	struct snd_hal2 *chip;  	int err; -	card = snd_card_new(index, id, THIS_MODULE, 0); -	if (card == NULL) -		return -ENOMEM; +	err = snd_card_create(index, id, THIS_MODULE, 0, &card); +	if (err < 0) +		return err;  	err = hal2_create(card, &chip);  	if (err < 0) { diff --git a/sound/mips/sgio2audio.c b/sound/mips/sgio2audio.c index 4c63504348d..66f3b48ceaf 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)  	struct snd_sgio2audio *chip;  	int err; -	card = snd_card_new(index, id, THIS_MODULE, 0); -	if (card == NULL) -		return -ENOMEM; +	err = snd_card_create(index, id, THIS_MODULE, 0, &card); +	if (err < 0) +		return err;  	err = snd_sgio2audio_create(card, &chip);  	if (err < 0) { diff --git a/sound/parisc/harmony.c b/sound/parisc/harmony.c index 41f870f8a11..6055fd6d3b3 100644 --- a/sound/parisc/harmony.c +++ b/sound/parisc/harmony.c @@ -975,9 +975,9 @@ snd_harmony_probe(struct parisc_device *padev)  	struct snd_card *card;  	struct snd_harmony *h; -	card = snd_card_new(index, id, THIS_MODULE, 0); -	if (card == NULL) -		return -ENOMEM; +	err = snd_card_create(index, id, THIS_MODULE, 0, &card); +	if (err < 0) +		return err;  	err = snd_harmony_create(card, padev, &h);  	if (err < 0) diff --git a/sound/pcmcia/pdaudiocf/pdaudiocf.c b/sound/pcmcia/pdaudiocf/pdaudiocf.c index 819aaaac432..183f6615c68 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)   */  static int snd_pdacf_probe(struct pcmcia_device *link)  { -	int i; +	int i, err;  	struct snd_pdacf *pdacf;  	struct snd_card *card;  	static struct snd_device_ops ops = { @@ -112,10 +112,10 @@ static int snd_pdacf_probe(struct pcmcia_device *link)  		return -ENODEV; /* disabled explicitly */  	/* ok, create a card instance */ -	card = snd_card_new(index[i], id[i], THIS_MODULE, 0); -	if (card == NULL) { +	err = snd_card_create(index[i], id[i], THIS_MODULE, 0, &card); +	if (err < 0) {  		snd_printk(KERN_ERR "pdacf: cannot create a card instance\n"); -		return -ENOMEM; +		return err;  	}  	pdacf = snd_pdacf_create(card); diff --git a/sound/pcmcia/vx/vxpocket.c b/sound/pcmcia/vx/vxpocket.c index 706602a4060..087ded8a8d7 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)  {  	struct snd_card *card;  	struct snd_vxpocket *vxp; -	int i; +	int i, err;  	/* find an empty slot from the card list */  	for (i = 0; i < SNDRV_CARDS; i++) { @@ -307,10 +307,10 @@ static int vxpocket_probe(struct pcmcia_device *p_dev)  		return -ENODEV; /* disabled explicitly */  	/* ok, create a card instance */ -	card = snd_card_new(index[i], id[i], THIS_MODULE, 0); -	if (card == NULL) { +	err = snd_card_create(index[i], id[i], THIS_MODULE, 0, &card); +	if (err < 0) {  		snd_printk(KERN_ERR "vxpocket: cannot create a card instance\n"); -		return -ENOMEM; +		return err;  	}  	vxp = snd_vxpocket_new(card, ibl[i], p_dev); diff --git a/sound/ppc/powermac.c b/sound/ppc/powermac.c index c936225771b..2e18ed0ea89 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)  	char *name_ext;  	int err; -	card = snd_card_new(index, id, THIS_MODULE, 0); -	if (card == NULL) -		return -ENOMEM; +	err = snd_card_create(index, id, THIS_MODULE, 0, &card); +	if (err < 0) +		return err;  	if ((err = snd_pmac_new(card, &chip)) < 0)  		goto __error; diff --git a/sound/ppc/snd_ps3.c b/sound/ppc/snd_ps3.c index 8f9e3859c37..ef2c3f41717 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)  	}  	/* create card instance */ -	the_card.card = snd_card_new(index, id, THIS_MODULE, 0); -	if (!the_card.card) { -		ret = -ENXIO; +	ret = snd_card_create(index, id, THIS_MODULE, 0, &the_card.card); +	if (ret < 0)  		goto clean_irq; -	}  	strcpy(the_card.card->driver, "PS3");  	strcpy(the_card.card->shortname, "PS3"); diff --git a/sound/sh/aica.c b/sound/sh/aica.c index 7c920f3e7fe..f551233c5a0 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)  	dreamcastcard = kmalloc(sizeof(struct snd_card_aica), GFP_KERNEL);  	if (unlikely(!dreamcastcard))  		return -ENOMEM; -	dreamcastcard->card = -	    snd_card_new(index, SND_AICA_DRIVER, THIS_MODULE, 0); -	if (unlikely(!dreamcastcard->card)) { +	err = snd_card_create(index, SND_AICA_DRIVER, THIS_MODULE, 0, +			      &dreamcastcard->card); +	if (unlikely(err < 0)) {  		kfree(dreamcastcard); -		return -ENODEV; +		return err;  	}  	strcpy(dreamcastcard->card->driver, "snd_aica");  	strcpy(dreamcastcard->card->shortname, SND_AICA_DRIVER); diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c index 6cbe7e82f23..318dfdd54d7 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)  {  	struct snd_soc_codec *codec = socdev->codec;  	struct snd_soc_card *card = socdev->card; -	int ret = 0, i; +	int ret, i;  	mutex_lock(&codec->mutex);  	/* register a sound card */ -	codec->card = snd_card_new(idx, xid, codec->owner, 0); -	if (!codec->card) { +	ret = snd_card_create(idx, xid, codec->owner, 0, &codec->card); +	if (ret < 0) {  		printk(KERN_ERR "asoc: can't create sound card for codec %s\n",  			codec->name);  		mutex_unlock(&codec->mutex); -		return -ENODEV; +		return ret;  	}  	codec->card->dev = socdev->dev; diff --git a/sound/sparc/amd7930.c b/sound/sparc/amd7930.c index f87933e4881..ba38912614b 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  		return -ENOENT;  	} -	card = snd_card_new(index[dev_num], id[dev_num], THIS_MODULE, 0); -	if (card == NULL) -		return -ENOMEM; +	err = snd_card_create(index[dev_num], id[dev_num], THIS_MODULE, 0, +			      &card); +	if (err < 0) +		return err;  	strcpy(card->driver, "AMD7930");  	strcpy(card->shortname, "Sun AMD7930"); diff --git a/sound/sparc/cs4231.c b/sound/sparc/cs4231.c index 41c38758747..7d93fa705cc 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)  {  	struct snd_card *card;  	struct snd_cs4231 *chip; +	int err;  	*rcard = NULL; @@ -1574,10 +1575,10 @@ static int __init cs4231_attach_begin(struct snd_card **rcard)  		return -ENOENT;  	} -	card = snd_card_new(index[dev], id[dev], THIS_MODULE, -			    sizeof(struct snd_cs4231)); -	if (card == NULL) -		return -ENOMEM; +	err = snd_card_create(index[dev], id[dev], THIS_MODULE, +			      sizeof(struct snd_cs4231), &card); +	if (err < 0) +		return err;  	strcpy(card->driver, "CS4231");  	strcpy(card->shortname, "Sun CS4231"); diff --git a/sound/sparc/dbri.c b/sound/sparc/dbri.c index 23ed6f04a71..af95ff1e126 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  		return -ENODEV;  	} -	card = snd_card_new(index[dev], id[dev], THIS_MODULE, -			    sizeof(struct snd_dbri)); -	if (card == NULL) -		return -ENOMEM; +	err = snd_card_create(index[dev], id[dev], THIS_MODULE, +			      sizeof(struct snd_dbri), &card); +	if (err < 0) +		return err;  	strcpy(card->driver, "DBRI");  	strcpy(card->shortname, "Sun DBRI"); diff --git a/sound/spi/at73c213.c b/sound/spi/at73c213.c index 09802e8a6fb..4c7b051f9d1 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)  		return PTR_ERR(board->dac_clk);  	} -	retval = -ENOMEM; -  	/* Allocate "card" using some unused identifiers. */  	snprintf(id, sizeof id, "at73c213_%d", board->ssc_id); -	card = snd_card_new(-1, id, THIS_MODULE, sizeof(struct snd_at73c213)); -	if (!card) +	retval = snd_card_create(-1, id, THIS_MODULE, +				 sizeof(struct snd_at73c213), &card); +	if (retval < 0)  		goto out;  	chip = card->private_data; diff --git a/sound/usb/caiaq/caiaq-device.c b/sound/usb/caiaq/caiaq-device.c index a62500e387a..63a2c1d5779 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)  static struct snd_card* create_card(struct usb_device* usb_dev)  {  	int devnum; +	int err;  	struct snd_card *card;  	struct snd_usb_caiaqdev *dev; @@ -349,9 +350,9 @@ static struct snd_card* create_card(struct usb_device* usb_dev)  	if (devnum >= SNDRV_CARDS)  		return NULL; -	card = snd_card_new(index[devnum], id[devnum], THIS_MODULE,  -					sizeof(struct snd_usb_caiaqdev)); -	if (!card) +	err = snd_card_create(index[devnum], id[devnum], THIS_MODULE,  +			      sizeof(struct snd_usb_caiaqdev), &card); +	if (err < 0)  		return NULL;  	dev = caiaqdev(card); diff --git a/sound/usb/usbaudio.c b/sound/usb/usbaudio.c index c709b956322..eec32e1a302 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,  		return -ENXIO;  	} -	card = snd_card_new(index[idx], id[idx], THIS_MODULE, 0); -	if (card == NULL) { +	err = snd_card_create(index[idx], id[idx], THIS_MODULE, 0, &card); +	if (err < 0) {  		snd_printk(KERN_ERR "cannot create card instance %d\n", idx); -		return -ENOMEM; +		return err;  	}  	chip = kzalloc(sizeof(*chip), GFP_KERNEL); diff --git a/sound/usb/usx2y/us122l.c b/sound/usb/usx2y/us122l.c index 73e59f4403a..b21bb475c0f 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)  {  	int		dev;  	struct snd_card *card; +	int err; +  	for (dev = 0; dev < SNDRV_CARDS; ++dev)  		if (enable[dev] && !snd_us122l_card_used[dev])  			break;  	if (dev >= SNDRV_CARDS)  		return NULL; -	card = snd_card_new(index[dev], id[dev], THIS_MODULE, -			    sizeof(struct us122l)); -	if (!card) +	err = snd_card_create(index[dev], id[dev], THIS_MODULE, +			      sizeof(struct us122l), &card); +	if (err < 0)  		return NULL;  	snd_us122l_card_used[US122L(card)->chip.index = dev] = 1; diff --git a/sound/usb/usx2y/usbusx2y.c b/sound/usb/usx2y/usbusx2y.c index 11639bd72a5..b848a180638 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)  {  	int		dev;  	struct snd_card *	card; +	int err; +  	for (dev = 0; dev < SNDRV_CARDS; ++dev)  		if (enable[dev] && !snd_usX2Y_card_used[dev])  			break;  	if (dev >= SNDRV_CARDS)  		return NULL; -	card = snd_card_new(index[dev], id[dev], THIS_MODULE, sizeof(struct usX2Ydev)); -	if (!card) +	err = snd_card_create(index[dev], id[dev], THIS_MODULE, +			      sizeof(struct usX2Ydev), &card); +	if (err < 0)  		return NULL;  	snd_usX2Y_card_used[usX2Y(card)->chip.index = dev] = 1;  	card->private_free = snd_usX2Y_card_private_free;  |