mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 10:40:15 +02:00 
			
		
		
		
	ALSA: compress: Embed struct device
Like previous patches, this one embeds the struct device into struct snd_compr. As the dev field wasn't used beforehand, it's reused as the new device struct. Reviewed-by: Jaroslav Kysela <perex@perex.cz> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
		
							parent
							
								
									5205388d2d
								
							
						
					
					
						commit
						04c5d5a430
					
				
					 2 changed files with 21 additions and 7 deletions
				
			
		| 
						 | 
				
			
			@ -134,7 +134,7 @@ struct snd_compr_ops {
 | 
			
		|||
/**
 | 
			
		||||
 * struct snd_compr: Compressed device
 | 
			
		||||
 * @name: DSP device name
 | 
			
		||||
 * @dev: Device pointer
 | 
			
		||||
 * @dev: associated device instance
 | 
			
		||||
 * @ops: pointer to DSP callbacks
 | 
			
		||||
 * @private_data: pointer to DSP pvt data
 | 
			
		||||
 * @card: sound card pointer
 | 
			
		||||
| 
						 | 
				
			
			@ -144,7 +144,7 @@ struct snd_compr_ops {
 | 
			
		|||
 */
 | 
			
		||||
struct snd_compr {
 | 
			
		||||
	const char *name;
 | 
			
		||||
	struct device *dev;
 | 
			
		||||
	struct device dev;
 | 
			
		||||
	struct snd_compr_ops *ops;
 | 
			
		||||
	void *private_data;
 | 
			
		||||
	struct snd_card *card;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -868,12 +868,13 @@ static int snd_compress_dev_register(struct snd_device *device)
 | 
			
		|||
		return -EBADFD;
 | 
			
		||||
	compr = device->device_data;
 | 
			
		||||
 | 
			
		||||
	sprintf(str, "comprC%iD%i", compr->card->number, compr->device);
 | 
			
		||||
	pr_debug("reg %s for device %s, direction %d\n", str, compr->name,
 | 
			
		||||
			compr->direction);
 | 
			
		||||
	/* register compressed device */
 | 
			
		||||
	ret = snd_register_device(SNDRV_DEVICE_TYPE_COMPRESS, compr->card,
 | 
			
		||||
			compr->device, &snd_compr_file_ops, compr, str);
 | 
			
		||||
	ret = snd_register_device_for_dev(SNDRV_DEVICE_TYPE_COMPRESS,
 | 
			
		||||
					  compr->card, compr->device,
 | 
			
		||||
					  &snd_compr_file_ops, compr,
 | 
			
		||||
					  &compr->dev, NULL, NULL);
 | 
			
		||||
	if (ret < 0) {
 | 
			
		||||
		pr_err("snd_register_device failed\n %d", ret);
 | 
			
		||||
		return ret;
 | 
			
		||||
| 
						 | 
				
			
			@ -892,6 +893,15 @@ static int snd_compress_dev_disconnect(struct snd_device *device)
 | 
			
		|||
	return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static int snd_compress_dev_free(struct snd_device *device)
 | 
			
		||||
{
 | 
			
		||||
	struct snd_compr *compr;
 | 
			
		||||
 | 
			
		||||
	compr = device->device_data;
 | 
			
		||||
	put_device(&compr->dev);
 | 
			
		||||
	return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * snd_compress_new: create new compress device
 | 
			
		||||
 * @card: sound card pointer
 | 
			
		||||
| 
						 | 
				
			
			@ -903,7 +913,7 @@ int snd_compress_new(struct snd_card *card, int device,
 | 
			
		|||
			int dirn, struct snd_compr *compr)
 | 
			
		||||
{
 | 
			
		||||
	static struct snd_device_ops ops = {
 | 
			
		||||
		.dev_free = NULL,
 | 
			
		||||
		.dev_free = snd_compress_dev_free,
 | 
			
		||||
		.dev_register = snd_compress_dev_register,
 | 
			
		||||
		.dev_disconnect = snd_compress_dev_disconnect,
 | 
			
		||||
	};
 | 
			
		||||
| 
						 | 
				
			
			@ -911,6 +921,10 @@ int snd_compress_new(struct snd_card *card, int device,
 | 
			
		|||
	compr->card = card;
 | 
			
		||||
	compr->device = device;
 | 
			
		||||
	compr->direction = dirn;
 | 
			
		||||
 | 
			
		||||
	snd_device_initialize(&compr->dev, card);
 | 
			
		||||
	dev_set_name(&compr->dev, "comprC%iD%i", card->number, device);
 | 
			
		||||
 | 
			
		||||
	return snd_device_new(card, SNDRV_DEV_COMPRESS, compr, &ops);
 | 
			
		||||
}
 | 
			
		||||
EXPORT_SYMBOL_GPL(snd_compress_new);
 | 
			
		||||
| 
						 | 
				
			
			@ -948,7 +962,7 @@ int snd_compress_register(struct snd_compr *device)
 | 
			
		|||
{
 | 
			
		||||
	int retval;
 | 
			
		||||
 | 
			
		||||
	if (device->name == NULL || device->dev == NULL || device->ops == NULL)
 | 
			
		||||
	if (device->name == NULL || device->ops == NULL)
 | 
			
		||||
		return -EINVAL;
 | 
			
		||||
 | 
			
		||||
	pr_debug("Registering compressed device %s\n", device->name);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue