@@ -1712,8 +1712,8 @@ static int loopback_probe(struct platform_device *devptr)
17121712 int dev = devptr -> id ;
17131713 int err ;
17141714
1715- err = snd_card_new (& devptr -> dev , index [dev ], id [dev ], THIS_MODULE ,
1716- sizeof (struct loopback ), & card );
1715+ err = snd_devm_card_new (& devptr -> dev , index [dev ], id [dev ], THIS_MODULE ,
1716+ sizeof (struct loopback ), & card );
17171717 if (err < 0 )
17181718 return err ;
17191719 loopback = card -> private_data ;
@@ -1730,32 +1730,23 @@ static int loopback_probe(struct platform_device *devptr)
17301730
17311731 err = loopback_pcm_new (loopback , 0 , pcm_substreams [dev ]);
17321732 if (err < 0 )
1733- goto __nodev ;
1733+ return err ;
17341734 err = loopback_pcm_new (loopback , 1 , pcm_substreams [dev ]);
17351735 if (err < 0 )
1736- goto __nodev ;
1736+ return err ;
17371737 err = loopback_mixer_new (loopback , pcm_notify [dev ] ? 1 : 0 );
17381738 if (err < 0 )
1739- goto __nodev ;
1739+ return err ;
17401740 loopback_cable_proc_new (loopback , 0 );
17411741 loopback_cable_proc_new (loopback , 1 );
17421742 loopback_timer_source_proc_new (loopback );
17431743 strcpy (card -> driver , "Loopback" );
17441744 strcpy (card -> shortname , "Loopback" );
17451745 sprintf (card -> longname , "Loopback %i" , dev + 1 );
17461746 err = snd_card_register (card );
1747- if (!err ) {
1748- platform_set_drvdata (devptr , card );
1749- return 0 ;
1750- }
1751- __nodev :
1752- snd_card_free (card );
1753- return err ;
1754- }
1755-
1756- static int loopback_remove (struct platform_device * devptr )
1757- {
1758- snd_card_free (platform_get_drvdata (devptr ));
1747+ if (err < 0 )
1748+ return err ;
1749+ platform_set_drvdata (devptr , card );
17591750 return 0 ;
17601751}
17611752
@@ -1786,7 +1777,6 @@ static SIMPLE_DEV_PM_OPS(loopback_pm, loopback_suspend, loopback_resume);
17861777
17871778static struct platform_driver loopback_driver = {
17881779 .probe = loopback_probe ,
1789- .remove = loopback_remove ,
17901780 .driver = {
17911781 .name = SND_LOOPBACK_DRIVER ,
17921782 .pm = LOOPBACK_PM_OPS ,
0 commit comments