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