Skip to content

Commit ed16a22

Browse files
committed
ALSA: dummy: Allocate resources with device-managed APIs
Use the new snd_devm_card_new() for the card object allocation, and clean up the superfluous remove callback. Link: https://lore.kernel.org/r/20210715075941.23332-79-tiwai@suse.de Signed-off-by: Takashi Iwai <tiwai@suse.de>
1 parent b072e65 commit ed16a22

1 file changed

Lines changed: 7 additions & 17 deletions

File tree

sound/drivers/dummy.c

Lines changed: 7 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1025,8 +1025,8 @@ static int snd_dummy_probe(struct platform_device *devptr)
10251025
int idx, err;
10261026
int dev = devptr->id;
10271027

1028-
err = snd_card_new(&devptr->dev, index[dev], id[dev], THIS_MODULE,
1029-
sizeof(struct snd_dummy), &card);
1028+
err = snd_devm_card_new(&devptr->dev, index[dev], id[dev], THIS_MODULE,
1029+
sizeof(struct snd_dummy), &card);
10301030
if (err < 0)
10311031
return err;
10321032
dummy = card->private_data;
@@ -1047,7 +1047,7 @@ static int snd_dummy_probe(struct platform_device *devptr)
10471047
pcm_substreams[dev] = MAX_PCM_SUBSTREAMS;
10481048
err = snd_card_dummy_pcm(dummy, idx, pcm_substreams[dev]);
10491049
if (err < 0)
1050-
goto __nodev;
1050+
return err;
10511051
}
10521052

10531053
dummy->pcm_hw = dummy_pcm_hardware;
@@ -1078,26 +1078,17 @@ static int snd_dummy_probe(struct platform_device *devptr)
10781078

10791079
err = snd_card_dummy_new_mixer(dummy);
10801080
if (err < 0)
1081-
goto __nodev;
1081+
return err;
10821082
strcpy(card->driver, "Dummy");
10831083
strcpy(card->shortname, "Dummy");
10841084
sprintf(card->longname, "Dummy %i", dev + 1);
10851085

10861086
dummy_proc_init(dummy);
10871087

10881088
err = snd_card_register(card);
1089-
if (err == 0) {
1090-
platform_set_drvdata(devptr, card);
1091-
return 0;
1092-
}
1093-
__nodev:
1094-
snd_card_free(card);
1095-
return err;
1096-
}
1097-
1098-
static int snd_dummy_remove(struct platform_device *devptr)
1099-
{
1100-
snd_card_free(platform_get_drvdata(devptr));
1089+
if (err < 0)
1090+
return err;
1091+
platform_set_drvdata(devptr, card);
11011092
return 0;
11021093
}
11031094

@@ -1128,7 +1119,6 @@ static SIMPLE_DEV_PM_OPS(snd_dummy_pm, snd_dummy_suspend, snd_dummy_resume);
11281119

11291120
static struct platform_driver snd_dummy_driver = {
11301121
.probe = snd_dummy_probe,
1131-
.remove = snd_dummy_remove,
11321122
.driver = {
11331123
.name = SND_DUMMY_DRIVER,
11341124
.pm = SND_DUMMY_PM_OPS,

0 commit comments

Comments
 (0)