diff options
author | Takashi Sakamoto <o-takashi@sakamocchi.jp> | 2014-04-25 13:45:12 (GMT) |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2014-05-26 12:28:41 (GMT) |
commit | 594ddced821dee39a548efe46d7f834bae013505 (patch) | |
tree | c0abaae51d84ef71127c3db3797130eb61701001 /sound/firewire/fireworks/fireworks.h | |
parent | aa02bb6e60783938d61eefe38346781a646800a6 (diff) | |
download | linux-594ddced821dee39a548efe46d7f834bae013505.tar.xz |
ALSA: fireworks: Add hwdep interface
This interface is designed for mixer/control application. To use hwdep
interface, the application can get information about firewire node, can
lock/unlock kernel streaming and can get notification at starting/stopping
kernel streaming.
Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/firewire/fireworks/fireworks.h')
-rw-r--r-- | sound/firewire/fireworks/fireworks.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/sound/firewire/fireworks/fireworks.h b/sound/firewire/fireworks/fireworks.h index 36419ca..4aaf2dc 100644 --- a/sound/firewire/fireworks/fireworks.h +++ b/sound/firewire/fireworks/fireworks.h @@ -24,6 +24,8 @@ #include <sound/info.h> #include <sound/rawmidi.h> #include <sound/pcm_params.h> +#include <sound/firewire.h> +#include <sound/hwdep.h> #include "../packets-buffer.h" #include "../iso-resources.h" @@ -90,6 +92,11 @@ struct snd_efw { unsigned int phys_in_grp_count; struct snd_efw_phys_grp phys_out_grps[HWINFO_MAX_CAPS_GROUPS]; struct snd_efw_phys_grp phys_in_grps[HWINFO_MAX_CAPS_GROUPS]; + + /* for uapi */ + int dev_lock_count; + bool dev_lock_changed; + wait_queue_head_t hwdep_wait; }; struct snd_efw_transaction { @@ -197,6 +204,9 @@ int snd_efw_stream_start_duplex(struct snd_efw *efw, int sampling_rate); void snd_efw_stream_stop_duplex(struct snd_efw *efw); void snd_efw_stream_update_duplex(struct snd_efw *efw); void snd_efw_stream_destroy_duplex(struct snd_efw *efw); +void snd_efw_stream_lock_changed(struct snd_efw *efw); +int snd_efw_stream_lock_try(struct snd_efw *efw); +void snd_efw_stream_lock_release(struct snd_efw *efw); void snd_efw_proc_init(struct snd_efw *efw); @@ -205,6 +215,8 @@ int snd_efw_create_midi_devices(struct snd_efw *efw); int snd_efw_create_pcm_devices(struct snd_efw *efw); int snd_efw_get_multiplier_mode(unsigned int sampling_rate, unsigned int *mode); +int snd_efw_create_hwdep_device(struct snd_efw *efw); + #define SND_EFW_DEV_ENTRY(vendor, model) \ { \ .match_flags = IEEE1394_MATCH_VENDOR_ID | \ |