diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/sound/pcm.h | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/include/sound/pcm.h b/include/sound/pcm.h index 048b456ca32d..d27aed5c6f4e 100644 --- a/include/sound/pcm.h +++ b/include/sound/pcm.h @@ -519,6 +519,7 @@ struct snd_pcm_str { #endif struct snd_kcontrol *chmap_kctl; /* channel-mapping controls */ struct snd_kcontrol *vol_kctl; /* volume controls */ + struct snd_kcontrol *usr_kctl; /* user controls */ struct device dev; }; @@ -1435,6 +1436,30 @@ int snd_pcm_add_volume_ctls(struct snd_pcm *pcm, int stream, unsigned long private_value, struct snd_pcm_volume **info_ret); +/* + * PCM User control API + */ +/* array element of usr elem */ +struct snd_pcm_usr_elem { + int val[128]; +}; + +/* pp information; retrieved via snd_kcontrol_chip() */ +struct snd_pcm_usr { + struct snd_pcm *pcm; /* assigned PCM instance */ + int stream; /* PLAYBACK or CAPTURE */ + struct snd_kcontrol *kctl; + const struct snd_pcm_usr_elem *usr; + int max_length; + void *private_data; /* optional: private data pointer */ +}; + +int snd_pcm_add_usr_ctls(struct snd_pcm *pcm, int stream, + const struct snd_pcm_usr_elem *usr, + int max_length, int max_control_str_len, + unsigned long private_value, + struct snd_pcm_usr **info_ret); + /* printk helpers */ #define pcm_err(pcm, fmt, args...) \ dev_err((pcm)->card->dev, fmt, ##args) |
