diff options
Diffstat (limited to 'include/sound/pcm.h')
| -rw-r--r-- | include/sound/pcm.h | 19 |
1 files changed, 6 insertions, 13 deletions
diff --git a/include/sound/pcm.h b/include/sound/pcm.h index 373425895faa..f84d84993a31 100644 --- a/include/sound/pcm.h +++ b/include/sound/pcm.h | |||
| @@ -300,7 +300,6 @@ struct snd_pcm_runtime { | |||
| 300 | /* -- mmap -- */ | 300 | /* -- mmap -- */ |
| 301 | volatile struct snd_pcm_mmap_status *status; | 301 | volatile struct snd_pcm_mmap_status *status; |
| 302 | volatile struct snd_pcm_mmap_control *control; | 302 | volatile struct snd_pcm_mmap_control *control; |
| 303 | atomic_t mmap_count; | ||
| 304 | 303 | ||
| 305 | /* -- locking / scheduling -- */ | 304 | /* -- locking / scheduling -- */ |
| 306 | wait_queue_head_t sleep; | 305 | wait_queue_head_t sleep; |
| @@ -368,7 +367,9 @@ struct snd_pcm_substream { | |||
| 368 | struct snd_pcm_group *group; /* pointer to current group */ | 367 | struct snd_pcm_group *group; /* pointer to current group */ |
| 369 | /* -- assigned files -- */ | 368 | /* -- assigned files -- */ |
| 370 | void *file; | 369 | void *file; |
| 371 | struct file *ffile; | 370 | int ref_count; |
| 371 | atomic_t mmap_count; | ||
| 372 | unsigned int f_flags; | ||
| 372 | void (*pcm_release)(struct snd_pcm_substream *); | 373 | void (*pcm_release)(struct snd_pcm_substream *); |
| 373 | #if defined(CONFIG_SND_PCM_OSS) || defined(CONFIG_SND_PCM_OSS_MODULE) | 374 | #if defined(CONFIG_SND_PCM_OSS) || defined(CONFIG_SND_PCM_OSS_MODULE) |
| 374 | /* -- OSS things -- */ | 375 | /* -- OSS things -- */ |
| @@ -387,7 +388,7 @@ struct snd_pcm_substream { | |||
| 387 | unsigned int hw_opened: 1; | 388 | unsigned int hw_opened: 1; |
| 388 | }; | 389 | }; |
| 389 | 390 | ||
| 390 | #define SUBSTREAM_BUSY(substream) ((substream)->file != NULL) | 391 | #define SUBSTREAM_BUSY(substream) ((substream)->ref_count > 0) |
| 391 | 392 | ||
| 392 | 393 | ||
| 393 | struct snd_pcm_str { | 394 | struct snd_pcm_str { |
| @@ -825,14 +826,6 @@ int snd_interval_ratnum(struct snd_interval *i, | |||
| 825 | 826 | ||
| 826 | void _snd_pcm_hw_params_any(struct snd_pcm_hw_params *params); | 827 | void _snd_pcm_hw_params_any(struct snd_pcm_hw_params *params); |
| 827 | void _snd_pcm_hw_param_setempty(struct snd_pcm_hw_params *params, snd_pcm_hw_param_t var); | 828 | void _snd_pcm_hw_param_setempty(struct snd_pcm_hw_params *params, snd_pcm_hw_param_t var); |
| 828 | int snd_pcm_hw_param_near(struct snd_pcm_substream *substream, | ||
| 829 | struct snd_pcm_hw_params *params, | ||
| 830 | snd_pcm_hw_param_t var, | ||
| 831 | unsigned int val, int *dir); | ||
| 832 | int snd_pcm_hw_param_set(struct snd_pcm_substream *pcm, | ||
| 833 | struct snd_pcm_hw_params *params, | ||
| 834 | snd_pcm_hw_param_t var, | ||
| 835 | unsigned int val, int dir); | ||
| 836 | int snd_pcm_hw_params_choose(struct snd_pcm_substream *substream, struct snd_pcm_hw_params *params); | 829 | int snd_pcm_hw_params_choose(struct snd_pcm_substream *substream, struct snd_pcm_hw_params *params); |
| 837 | 830 | ||
| 838 | int snd_pcm_hw_refine(struct snd_pcm_substream *substream, struct snd_pcm_hw_params *params); | 831 | int snd_pcm_hw_refine(struct snd_pcm_substream *substream, struct snd_pcm_hw_params *params); |
| @@ -979,13 +972,13 @@ struct page *snd_pcm_sgbuf_ops_page(struct snd_pcm_substream *substream, unsigne | |||
| 979 | static inline void snd_pcm_mmap_data_open(struct vm_area_struct *area) | 972 | static inline void snd_pcm_mmap_data_open(struct vm_area_struct *area) |
| 980 | { | 973 | { |
| 981 | struct snd_pcm_substream *substream = (struct snd_pcm_substream *)area->vm_private_data; | 974 | struct snd_pcm_substream *substream = (struct snd_pcm_substream *)area->vm_private_data; |
| 982 | atomic_inc(&substream->runtime->mmap_count); | 975 | atomic_inc(&substream->mmap_count); |
| 983 | } | 976 | } |
| 984 | 977 | ||
| 985 | static inline void snd_pcm_mmap_data_close(struct vm_area_struct *area) | 978 | static inline void snd_pcm_mmap_data_close(struct vm_area_struct *area) |
| 986 | { | 979 | { |
| 987 | struct snd_pcm_substream *substream = (struct snd_pcm_substream *)area->vm_private_data; | 980 | struct snd_pcm_substream *substream = (struct snd_pcm_substream *)area->vm_private_data; |
| 988 | atomic_dec(&substream->runtime->mmap_count); | 981 | atomic_dec(&substream->mmap_count); |
| 989 | } | 982 | } |
| 990 | 983 | ||
| 991 | /* mmap for io-memory area */ | 984 | /* mmap for io-memory area */ |
