mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-03 01:59:51 +02:00 
			
		
		
		
	ALSA: aloop: 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-78-tiwai@suse.de Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
		
							parent
							
								
									de74763295
								
							
						
					
					
						commit
						b072e65aad
					
				
					 1 changed files with 8 additions and 18 deletions
				
			
		| 
						 | 
				
			
			@ -1712,7 +1712,7 @@ static int loopback_probe(struct platform_device *devptr)
 | 
			
		|||
	int dev = devptr->id;
 | 
			
		||||
	int err;
 | 
			
		||||
 | 
			
		||||
	err = snd_card_new(&devptr->dev, index[dev], id[dev], THIS_MODULE,
 | 
			
		||||
	err = snd_devm_card_new(&devptr->dev, index[dev], id[dev], THIS_MODULE,
 | 
			
		||||
				sizeof(struct loopback), &card);
 | 
			
		||||
	if (err < 0)
 | 
			
		||||
		return err;
 | 
			
		||||
| 
						 | 
				
			
			@ -1730,13 +1730,13 @@ static int loopback_probe(struct platform_device *devptr)
 | 
			
		|||
 | 
			
		||||
	err = loopback_pcm_new(loopback, 0, pcm_substreams[dev]);
 | 
			
		||||
	if (err < 0)
 | 
			
		||||
		goto __nodev;
 | 
			
		||||
		return err;
 | 
			
		||||
	err = loopback_pcm_new(loopback, 1, pcm_substreams[dev]);
 | 
			
		||||
	if (err < 0)
 | 
			
		||||
		goto __nodev;
 | 
			
		||||
		return err;
 | 
			
		||||
	err = loopback_mixer_new(loopback, pcm_notify[dev] ? 1 : 0);
 | 
			
		||||
	if (err < 0)
 | 
			
		||||
		goto __nodev;
 | 
			
		||||
		return err;
 | 
			
		||||
	loopback_cable_proc_new(loopback, 0);
 | 
			
		||||
	loopback_cable_proc_new(loopback, 1);
 | 
			
		||||
	loopback_timer_source_proc_new(loopback);
 | 
			
		||||
| 
						 | 
				
			
			@ -1744,18 +1744,9 @@ static int loopback_probe(struct platform_device *devptr)
 | 
			
		|||
	strcpy(card->shortname, "Loopback");
 | 
			
		||||
	sprintf(card->longname, "Loopback %i", dev + 1);
 | 
			
		||||
	err = snd_card_register(card);
 | 
			
		||||
	if (!err) {
 | 
			
		||||
		platform_set_drvdata(devptr, card);
 | 
			
		||||
		return 0;
 | 
			
		||||
	}
 | 
			
		||||
      __nodev:
 | 
			
		||||
	snd_card_free(card);
 | 
			
		||||
	if (err < 0)
 | 
			
		||||
		return err;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static int loopback_remove(struct platform_device *devptr)
 | 
			
		||||
{
 | 
			
		||||
	snd_card_free(platform_get_drvdata(devptr));
 | 
			
		||||
	platform_set_drvdata(devptr, card);
 | 
			
		||||
	return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1786,7 +1777,6 @@ static SIMPLE_DEV_PM_OPS(loopback_pm, loopback_suspend, loopback_resume);
 | 
			
		|||
 | 
			
		||||
static struct platform_driver loopback_driver = {
 | 
			
		||||
	.probe		= loopback_probe,
 | 
			
		||||
	.remove		= loopback_remove,
 | 
			
		||||
	.driver		= {
 | 
			
		||||
		.name	= SND_LOOPBACK_DRIVER,
 | 
			
		||||
		.pm	= LOOPBACK_PM_OPS,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue