diff options
author | Takashi Iwai <tiwai@suse.de> | 2009-02-16 17:03:57 -0500 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2009-02-16 17:03:57 -0500 |
commit | 96cf45cf559be375de29dd45afc50fa8946fb2aa (patch) | |
tree | 06242d4256aadc01aee67dfafbb94541e7a17738 /sound/isa/opti9xx/opti92x-ad1848.c | |
parent | 4c9f1d3ed7e5f910b66dc4d1456cfac17e58cf0e (diff) | |
parent | b1a0aac05f044e78a589bfd7a9e2334aa640eb45 (diff) |
Merge branch 'topic/snd_card_new-err' into topic/cs423x-merge
Diffstat (limited to 'sound/isa/opti9xx/opti92x-ad1848.c')
-rw-r--r-- | sound/isa/opti9xx/opti92x-ad1848.c | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/sound/isa/opti9xx/opti92x-ad1848.c b/sound/isa/opti9xx/opti92x-ad1848.c index d5bc0e03132a..5cd555325b9d 100644 --- a/sound/isa/opti9xx/opti92x-ad1848.c +++ b/sound/isa/opti9xx/opti92x-ad1848.c | |||
@@ -828,15 +828,18 @@ static int __devinit snd_opti9xx_probe(struct snd_card *card) | |||
828 | return snd_card_register(card); | 828 | return snd_card_register(card); |
829 | } | 829 | } |
830 | 830 | ||
831 | static struct snd_card *snd_opti9xx_card_new(void) | 831 | static int snd_opti9xx_card_new(struct snd_card **cardp) |
832 | { | 832 | { |
833 | struct snd_card *card; | 833 | struct snd_card *card; |
834 | int err; | ||
834 | 835 | ||
835 | card = snd_card_new(index, id, THIS_MODULE, sizeof(struct snd_opti9xx)); | 836 | err = snd_card_create(index, id, THIS_MODULE, |
836 | if (! card) | 837 | sizeof(struct snd_opti9xx), &card); |
837 | return NULL; | 838 | if (err < 0) |
839 | return err; | ||
838 | card->private_free = snd_card_opti9xx_free; | 840 | card->private_free = snd_card_opti9xx_free; |
839 | return card; | 841 | *cardp = card; |
842 | return 0; | ||
840 | } | 843 | } |
841 | 844 | ||
842 | static int __devinit snd_opti9xx_isa_match(struct device *devptr, | 845 | static int __devinit snd_opti9xx_isa_match(struct device *devptr, |
@@ -901,9 +904,9 @@ static int __devinit snd_opti9xx_isa_probe(struct device *devptr, | |||
901 | } | 904 | } |
902 | #endif | 905 | #endif |
903 | 906 | ||
904 | card = snd_opti9xx_card_new(); | 907 | error = snd_opti9xx_card_new(&card); |
905 | if (! card) | 908 | if (error < 0) |
906 | return -ENOMEM; | 909 | return error; |
907 | 910 | ||
908 | if ((error = snd_card_opti9xx_detect(card, card->private_data)) < 0) { | 911 | if ((error = snd_card_opti9xx_detect(card, card->private_data)) < 0) { |
909 | snd_card_free(card); | 912 | snd_card_free(card); |
@@ -948,9 +951,9 @@ static int __devinit snd_opti9xx_pnp_probe(struct pnp_card_link *pcard, | |||
948 | return -EBUSY; | 951 | return -EBUSY; |
949 | if (! isapnp) | 952 | if (! isapnp) |
950 | return -ENODEV; | 953 | return -ENODEV; |
951 | card = snd_opti9xx_card_new(); | 954 | error = snd_opti9xx_card_new(&card); |
952 | if (! card) | 955 | if (error < 0) |
953 | return -ENOMEM; | 956 | return error; |
954 | chip = card->private_data; | 957 | chip = card->private_data; |
955 | 958 | ||
956 | hw = snd_card_opti9xx_pnp(chip, pcard, pid); | 959 | hw = snd_card_opti9xx_pnp(chip, pcard, pid); |