Commit e88e8ae6 authored by Takashi Iwai's avatar Takashi Iwai Committed by Jaroslav Kysela

[ALSA] Move OSS-specific hw_params helper to snd-pcm-oss module

Move EXPORT_SYMBOL()s to places adjacent to functions/variables.
Also move OSS-specific hw_params helper functions to pcm_oss.c.
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent e5e8a1d4
...@@ -825,14 +825,6 @@ int snd_interval_ratnum(struct snd_interval *i, ...@@ -825,14 +825,6 @@ int snd_interval_ratnum(struct snd_interval *i,
void _snd_pcm_hw_params_any(struct snd_pcm_hw_params *params); void _snd_pcm_hw_params_any(struct snd_pcm_hw_params *params);
void _snd_pcm_hw_param_setempty(struct snd_pcm_hw_params *params, snd_pcm_hw_param_t var); void _snd_pcm_hw_param_setempty(struct snd_pcm_hw_params *params, snd_pcm_hw_param_t var);
int snd_pcm_hw_param_near(struct snd_pcm_substream *substream,
struct snd_pcm_hw_params *params,
snd_pcm_hw_param_t var,
unsigned int val, int *dir);
int snd_pcm_hw_param_set(struct snd_pcm_substream *pcm,
struct snd_pcm_hw_params *params,
snd_pcm_hw_param_t var,
unsigned int val, int dir);
int snd_pcm_hw_params_choose(struct snd_pcm_substream *substream, struct snd_pcm_hw_params *params); int snd_pcm_hw_params_choose(struct snd_pcm_substream *substream, struct snd_pcm_hw_params *params);
int snd_pcm_hw_refine(struct snd_pcm_substream *substream, struct snd_pcm_hw_params *params); int snd_pcm_hw_refine(struct snd_pcm_substream *substream, struct snd_pcm_hw_params *params);
......
...@@ -22,18 +22,14 @@ ...@@ -22,18 +22,14 @@
* *
*/ */
extern int snd_pcm_hw_param_mask(struct snd_pcm_substream *pcm, struct snd_pcm_hw_params *params, int snd_pcm_hw_param_first(struct snd_pcm_substream *pcm,
snd_pcm_hw_param_t var, const struct snd_mask *val); struct snd_pcm_hw_params *params,
extern unsigned int snd_pcm_hw_param_value_min(const struct snd_pcm_hw_params *params,
snd_pcm_hw_param_t var, int *dir); snd_pcm_hw_param_t var, int *dir);
extern unsigned int snd_pcm_hw_param_value_max(const struct snd_pcm_hw_params *params, int snd_pcm_hw_param_last(struct snd_pcm_substream *pcm,
struct snd_pcm_hw_params *params,
snd_pcm_hw_param_t var, int *dir);
int snd_pcm_hw_param_value(const struct snd_pcm_hw_params *params,
snd_pcm_hw_param_t var, int *dir); snd_pcm_hw_param_t var, int *dir);
extern int _snd_pcm_hw_param_min(struct snd_pcm_hw_params *params,
snd_pcm_hw_param_t var, unsigned int val, int dir);
extern int _snd_pcm_hw_param_setinteger(struct snd_pcm_hw_params *params,
snd_pcm_hw_param_t var);
extern int _snd_pcm_hw_param_set(struct snd_pcm_hw_params *params,
snd_pcm_hw_param_t var, unsigned int val, int dir);
#define SNDRV_MASK_BITS 64 /* we use so far 64bits only */ #define SNDRV_MASK_BITS 64 /* we use so far 64bits only */
#define SNDRV_MASK_SIZE (SNDRV_MASK_BITS / 32) #define SNDRV_MASK_SIZE (SNDRV_MASK_BITS / 32)
......
This diff is collapsed.
...@@ -671,6 +671,8 @@ int snd_pcm_new_stream(struct snd_pcm *pcm, int stream, int substream_count) ...@@ -671,6 +671,8 @@ int snd_pcm_new_stream(struct snd_pcm *pcm, int stream, int substream_count)
return 0; return 0;
} }
EXPORT_SYMBOL(snd_pcm_new_stream);
/** /**
* snd_pcm_new - create a new PCM instance * snd_pcm_new - create a new PCM instance
* @card: the card instance * @card: the card instance
...@@ -730,6 +732,8 @@ int snd_pcm_new(struct snd_card *card, char *id, int device, ...@@ -730,6 +732,8 @@ int snd_pcm_new(struct snd_card *card, char *id, int device,
return 0; return 0;
} }
EXPORT_SYMBOL(snd_pcm_new);
static void snd_pcm_free_stream(struct snd_pcm_str * pstr) static void snd_pcm_free_stream(struct snd_pcm_str * pstr)
{ {
struct snd_pcm_substream *substream, *substream_next; struct snd_pcm_substream *substream, *substream_next;
...@@ -1022,6 +1026,8 @@ int snd_pcm_notify(struct snd_pcm_notify *notify, int nfree) ...@@ -1022,6 +1026,8 @@ int snd_pcm_notify(struct snd_pcm_notify *notify, int nfree)
return 0; return 0;
} }
EXPORT_SYMBOL(snd_pcm_notify);
#ifdef CONFIG_PROC_FS #ifdef CONFIG_PROC_FS
/* /*
* Info interface * Info interface
...@@ -1099,33 +1105,3 @@ static void __exit alsa_pcm_exit(void) ...@@ -1099,33 +1105,3 @@ static void __exit alsa_pcm_exit(void)
module_init(alsa_pcm_init) module_init(alsa_pcm_init)
module_exit(alsa_pcm_exit) module_exit(alsa_pcm_exit)
EXPORT_SYMBOL(snd_pcm_new);
EXPORT_SYMBOL(snd_pcm_new_stream);
EXPORT_SYMBOL(snd_pcm_notify);
EXPORT_SYMBOL(snd_pcm_open_substream);
EXPORT_SYMBOL(snd_pcm_release_substream);
/* pcm_native.c */
EXPORT_SYMBOL(snd_pcm_link_rwlock);
#ifdef CONFIG_PM
EXPORT_SYMBOL(snd_pcm_suspend);
EXPORT_SYMBOL(snd_pcm_suspend_all);
#endif
EXPORT_SYMBOL(snd_pcm_kernel_ioctl);
EXPORT_SYMBOL(snd_pcm_mmap_data);
#if SNDRV_PCM_INFO_MMAP_IOMEM
EXPORT_SYMBOL(snd_pcm_lib_mmap_iomem);
#endif
/* pcm_misc.c */
EXPORT_SYMBOL(snd_pcm_format_signed);
EXPORT_SYMBOL(snd_pcm_format_unsigned);
EXPORT_SYMBOL(snd_pcm_format_linear);
EXPORT_SYMBOL(snd_pcm_format_little_endian);
EXPORT_SYMBOL(snd_pcm_format_big_endian);
EXPORT_SYMBOL(snd_pcm_format_width);
EXPORT_SYMBOL(snd_pcm_format_physical_width);
EXPORT_SYMBOL(snd_pcm_format_size);
EXPORT_SYMBOL(snd_pcm_format_silence_64);
EXPORT_SYMBOL(snd_pcm_format_set_silence);
EXPORT_SYMBOL(snd_pcm_build_linear_format);
EXPORT_SYMBOL(snd_pcm_limit_hw_rates);
This diff is collapsed.
...@@ -126,6 +126,8 @@ int snd_pcm_lib_preallocate_free_for_all(struct snd_pcm *pcm) ...@@ -126,6 +126,8 @@ int snd_pcm_lib_preallocate_free_for_all(struct snd_pcm *pcm)
return 0; return 0;
} }
EXPORT_SYMBOL(snd_pcm_lib_preallocate_free_for_all);
#ifdef CONFIG_SND_VERBOSE_PROCFS #ifdef CONFIG_SND_VERBOSE_PROCFS
/* /*
* read callback for prealloc proc file * read callback for prealloc proc file
...@@ -253,6 +255,8 @@ int snd_pcm_lib_preallocate_pages(struct snd_pcm_substream *substream, ...@@ -253,6 +255,8 @@ int snd_pcm_lib_preallocate_pages(struct snd_pcm_substream *substream,
return snd_pcm_lib_preallocate_pages1(substream, size, max); return snd_pcm_lib_preallocate_pages1(substream, size, max);
} }
EXPORT_SYMBOL(snd_pcm_lib_preallocate_pages);
/** /**
* snd_pcm_lib_preallocate_pages_for_all - pre-allocation for continous memory type (all substreams) * snd_pcm_lib_preallocate_pages_for_all - pre-allocation for continous memory type (all substreams)
* @pcm: the pcm instance * @pcm: the pcm instance
...@@ -280,6 +284,8 @@ int snd_pcm_lib_preallocate_pages_for_all(struct snd_pcm *pcm, ...@@ -280,6 +284,8 @@ int snd_pcm_lib_preallocate_pages_for_all(struct snd_pcm *pcm,
return 0; return 0;
} }
EXPORT_SYMBOL(snd_pcm_lib_preallocate_pages_for_all);
/** /**
* snd_pcm_sgbuf_ops_page - get the page struct at the given offset * snd_pcm_sgbuf_ops_page - get the page struct at the given offset
* @substream: the pcm substream instance * @substream: the pcm substream instance
...@@ -298,6 +304,8 @@ struct page *snd_pcm_sgbuf_ops_page(struct snd_pcm_substream *substream, unsigne ...@@ -298,6 +304,8 @@ struct page *snd_pcm_sgbuf_ops_page(struct snd_pcm_substream *substream, unsigne
return sgbuf->page_table[idx]; return sgbuf->page_table[idx];
} }
EXPORT_SYMBOL(snd_pcm_sgbuf_ops_page);
/** /**
* snd_pcm_lib_malloc_pages - allocate the DMA buffer * snd_pcm_lib_malloc_pages - allocate the DMA buffer
* @substream: the substream to allocate the DMA buffer to * @substream: the substream to allocate the DMA buffer to
...@@ -349,6 +357,8 @@ int snd_pcm_lib_malloc_pages(struct snd_pcm_substream *substream, size_t size) ...@@ -349,6 +357,8 @@ int snd_pcm_lib_malloc_pages(struct snd_pcm_substream *substream, size_t size)
return 1; /* area was changed */ return 1; /* area was changed */
} }
EXPORT_SYMBOL(snd_pcm_lib_malloc_pages);
/** /**
* snd_pcm_lib_free_pages - release the allocated DMA buffer. * snd_pcm_lib_free_pages - release the allocated DMA buffer.
* @substream: the substream to release the DMA buffer * @substream: the substream to release the DMA buffer
...@@ -374,3 +384,5 @@ int snd_pcm_lib_free_pages(struct snd_pcm_substream *substream) ...@@ -374,3 +384,5 @@ int snd_pcm_lib_free_pages(struct snd_pcm_substream *substream)
snd_pcm_set_runtime_buffer(substream, NULL); snd_pcm_set_runtime_buffer(substream, NULL);
return 0; return 0;
} }
EXPORT_SYMBOL(snd_pcm_lib_free_pages);
...@@ -207,6 +207,8 @@ int snd_pcm_format_signed(snd_pcm_format_t format) ...@@ -207,6 +207,8 @@ int snd_pcm_format_signed(snd_pcm_format_t format)
return val; return val;
} }
EXPORT_SYMBOL(snd_pcm_format_signed);
/** /**
* snd_pcm_format_unsigned - Check the PCM format is unsigned linear * snd_pcm_format_unsigned - Check the PCM format is unsigned linear
* @format: the format to check * @format: the format to check
...@@ -224,6 +226,8 @@ int snd_pcm_format_unsigned(snd_pcm_format_t format) ...@@ -224,6 +226,8 @@ int snd_pcm_format_unsigned(snd_pcm_format_t format)
return !val; return !val;
} }
EXPORT_SYMBOL(snd_pcm_format_unsigned);
/** /**
* snd_pcm_format_linear - Check the PCM format is linear * snd_pcm_format_linear - Check the PCM format is linear
* @format: the format to check * @format: the format to check
...@@ -235,6 +239,8 @@ int snd_pcm_format_linear(snd_pcm_format_t format) ...@@ -235,6 +239,8 @@ int snd_pcm_format_linear(snd_pcm_format_t format)
return snd_pcm_format_signed(format) >= 0; return snd_pcm_format_signed(format) >= 0;
} }
EXPORT_SYMBOL(snd_pcm_format_linear);
/** /**
* snd_pcm_format_little_endian - Check the PCM format is little-endian * snd_pcm_format_little_endian - Check the PCM format is little-endian
* @format: the format to check * @format: the format to check
...@@ -252,6 +258,8 @@ int snd_pcm_format_little_endian(snd_pcm_format_t format) ...@@ -252,6 +258,8 @@ int snd_pcm_format_little_endian(snd_pcm_format_t format)
return val; return val;
} }
EXPORT_SYMBOL(snd_pcm_format_little_endian);
/** /**
* snd_pcm_format_big_endian - Check the PCM format is big-endian * snd_pcm_format_big_endian - Check the PCM format is big-endian
* @format: the format to check * @format: the format to check
...@@ -269,6 +277,8 @@ int snd_pcm_format_big_endian(snd_pcm_format_t format) ...@@ -269,6 +277,8 @@ int snd_pcm_format_big_endian(snd_pcm_format_t format)
return !val; return !val;
} }
EXPORT_SYMBOL(snd_pcm_format_big_endian);
/** /**
* snd_pcm_format_width - return the bit-width of the format * snd_pcm_format_width - return the bit-width of the format
* @format: the format to check * @format: the format to check
...@@ -286,6 +296,8 @@ int snd_pcm_format_width(snd_pcm_format_t format) ...@@ -286,6 +296,8 @@ int snd_pcm_format_width(snd_pcm_format_t format)
return val; return val;
} }
EXPORT_SYMBOL(snd_pcm_format_width);
/** /**
* snd_pcm_format_physical_width - return the physical bit-width of the format * snd_pcm_format_physical_width - return the physical bit-width of the format
* @format: the format to check * @format: the format to check
...@@ -303,6 +315,8 @@ int snd_pcm_format_physical_width(snd_pcm_format_t format) ...@@ -303,6 +315,8 @@ int snd_pcm_format_physical_width(snd_pcm_format_t format)
return val; return val;
} }
EXPORT_SYMBOL(snd_pcm_format_physical_width);
/** /**
* snd_pcm_format_size - return the byte size of samples on the given format * snd_pcm_format_size - return the byte size of samples on the given format
* @format: the format to check * @format: the format to check
...@@ -318,6 +332,8 @@ ssize_t snd_pcm_format_size(snd_pcm_format_t format, size_t samples) ...@@ -318,6 +332,8 @@ ssize_t snd_pcm_format_size(snd_pcm_format_t format, size_t samples)
return samples * phys_width / 8; return samples * phys_width / 8;
} }
EXPORT_SYMBOL(snd_pcm_format_size);
/** /**
* snd_pcm_format_silence_64 - return the silent data in 8 bytes array * snd_pcm_format_silence_64 - return the silent data in 8 bytes array
* @format: the format to check * @format: the format to check
...@@ -333,6 +349,8 @@ const unsigned char *snd_pcm_format_silence_64(snd_pcm_format_t format) ...@@ -333,6 +349,8 @@ const unsigned char *snd_pcm_format_silence_64(snd_pcm_format_t format)
return pcm_formats[format].silence; return pcm_formats[format].silence;
} }
EXPORT_SYMBOL(snd_pcm_format_silence_64);
/** /**
* snd_pcm_format_set_silence - set the silence data on the buffer * snd_pcm_format_set_silence - set the silence data on the buffer
* @format: the PCM format * @format: the PCM format
...@@ -402,6 +420,8 @@ int snd_pcm_format_set_silence(snd_pcm_format_t format, void *data, unsigned int ...@@ -402,6 +420,8 @@ int snd_pcm_format_set_silence(snd_pcm_format_t format, void *data, unsigned int
return 0; return 0;
} }
EXPORT_SYMBOL(snd_pcm_format_set_silence);
/* [width][unsigned][bigendian] */ /* [width][unsigned][bigendian] */
static int linear_formats[4][2][2] = { static int linear_formats[4][2][2] = {
{{ SNDRV_PCM_FORMAT_S8, SNDRV_PCM_FORMAT_S8}, {{ SNDRV_PCM_FORMAT_S8, SNDRV_PCM_FORMAT_S8},
...@@ -432,6 +452,8 @@ snd_pcm_format_t snd_pcm_build_linear_format(int width, int unsignd, int big_end ...@@ -432,6 +452,8 @@ snd_pcm_format_t snd_pcm_build_linear_format(int width, int unsignd, int big_end
return linear_formats[width][!!unsignd][!!big_endian]; return linear_formats[width][!!unsignd][!!big_endian];
} }
EXPORT_SYMBOL(snd_pcm_build_linear_format);
/** /**
* snd_pcm_limit_hw_rates - determine rate_min/rate_max fields * snd_pcm_limit_hw_rates - determine rate_min/rate_max fields
* @runtime: the runtime instance * @runtime: the runtime instance
...@@ -463,3 +485,5 @@ int snd_pcm_limit_hw_rates(struct snd_pcm_runtime *runtime) ...@@ -463,3 +485,5 @@ int snd_pcm_limit_hw_rates(struct snd_pcm_runtime *runtime)
} }
return 0; return 0;
} }
EXPORT_SYMBOL(snd_pcm_limit_hw_rates);
...@@ -71,8 +71,9 @@ static int snd_pcm_open(struct file *file, struct snd_pcm *pcm, int stream); ...@@ -71,8 +71,9 @@ static int snd_pcm_open(struct file *file, struct snd_pcm *pcm, int stream);
*/ */
DEFINE_RWLOCK(snd_pcm_link_rwlock); DEFINE_RWLOCK(snd_pcm_link_rwlock);
static DECLARE_RWSEM(snd_pcm_link_rwsem); EXPORT_SYMBOL(snd_pcm_link_rwlock);
static DECLARE_RWSEM(snd_pcm_link_rwsem);
static inline mm_segment_t snd_enter_user(void) static inline mm_segment_t snd_enter_user(void)
{ {
...@@ -319,6 +320,8 @@ int snd_pcm_hw_refine(struct snd_pcm_substream *substream, ...@@ -319,6 +320,8 @@ int snd_pcm_hw_refine(struct snd_pcm_substream *substream,
return 0; return 0;
} }
EXPORT_SYMBOL(snd_pcm_hw_refine);
static int snd_pcm_hw_refine_user(struct snd_pcm_substream *substream, static int snd_pcm_hw_refine_user(struct snd_pcm_substream *substream,
struct snd_pcm_hw_params __user * _params) struct snd_pcm_hw_params __user * _params)
{ {
...@@ -936,6 +939,8 @@ int snd_pcm_stop(struct snd_pcm_substream *substream, int state) ...@@ -936,6 +939,8 @@ int snd_pcm_stop(struct snd_pcm_substream *substream, int state)
return snd_pcm_action(&snd_pcm_action_stop, substream, state); return snd_pcm_action(&snd_pcm_action_stop, substream, state);
} }
EXPORT_SYMBOL(snd_pcm_stop);
/** /**
* snd_pcm_drain_done * snd_pcm_drain_done
* @substream: the PCM substream * @substream: the PCM substream
...@@ -1085,6 +1090,8 @@ int snd_pcm_suspend(struct snd_pcm_substream *substream) ...@@ -1085,6 +1090,8 @@ int snd_pcm_suspend(struct snd_pcm_substream *substream)
return err; return err;
} }
EXPORT_SYMBOL(snd_pcm_suspend);
/** /**
* snd_pcm_suspend_all * snd_pcm_suspend_all
* @pcm: the PCM instance * @pcm: the PCM instance
...@@ -1114,6 +1121,8 @@ int snd_pcm_suspend_all(struct snd_pcm *pcm) ...@@ -1114,6 +1121,8 @@ int snd_pcm_suspend_all(struct snd_pcm *pcm)
return 0; return 0;
} }
EXPORT_SYMBOL(snd_pcm_suspend_all);
/* resume */ /* resume */
static int snd_pcm_pre_resume(struct snd_pcm_substream *substream, int state) static int snd_pcm_pre_resume(struct snd_pcm_substream *substream, int state)
...@@ -2020,6 +2029,8 @@ void snd_pcm_release_substream(struct snd_pcm_substream *substream) ...@@ -2020,6 +2029,8 @@ void snd_pcm_release_substream(struct snd_pcm_substream *substream)
snd_pcm_detach_substream(substream); snd_pcm_detach_substream(substream);
} }
EXPORT_SYMBOL(snd_pcm_release_substream);
int snd_pcm_open_substream(struct snd_pcm *pcm, int stream, int snd_pcm_open_substream(struct snd_pcm *pcm, int stream,
struct file *file, struct file *file,
struct snd_pcm_substream **rsubstream) struct snd_pcm_substream **rsubstream)
...@@ -2056,6 +2067,8 @@ int snd_pcm_open_substream(struct snd_pcm *pcm, int stream, ...@@ -2056,6 +2067,8 @@ int snd_pcm_open_substream(struct snd_pcm *pcm, int stream,
return err; return err;
} }
EXPORT_SYMBOL(snd_pcm_open_substream);
static int snd_pcm_open_file(struct file *file, static int snd_pcm_open_file(struct file *file,
struct snd_pcm *pcm, struct snd_pcm *pcm,
int stream, int stream,
...@@ -2768,6 +2781,8 @@ int snd_pcm_kernel_ioctl(struct snd_pcm_substream *substream, ...@@ -2768,6 +2781,8 @@ int snd_pcm_kernel_ioctl(struct snd_pcm_substream *substream,
return result; return result;
} }
EXPORT_SYMBOL(snd_pcm_kernel_ioctl);
static ssize_t snd_pcm_read(struct file *file, char __user *buf, size_t count, static ssize_t snd_pcm_read(struct file *file, char __user *buf, size_t count,
loff_t * offset) loff_t * offset)
{ {
...@@ -3169,6 +3184,8 @@ int snd_pcm_lib_mmap_iomem(struct snd_pcm_substream *substream, ...@@ -3169,6 +3184,8 @@ int snd_pcm_lib_mmap_iomem(struct snd_pcm_substream *substream,
atomic_inc(&substream->runtime->mmap_count); atomic_inc(&substream->runtime->mmap_count);
return 0; return 0;
} }
EXPORT_SYMBOL(snd_pcm_lib_mmap_iomem);
#endif /* SNDRV_PCM_INFO_MMAP */ #endif /* SNDRV_PCM_INFO_MMAP */
/* /*
...@@ -3212,6 +3229,8 @@ int snd_pcm_mmap_data(struct snd_pcm_substream *substream, struct file *file, ...@@ -3212,6 +3229,8 @@ int snd_pcm_mmap_data(struct snd_pcm_substream *substream, struct file *file,
return snd_pcm_default_mmap(substream, area); return snd_pcm_default_mmap(substream, area);
} }
EXPORT_SYMBOL(snd_pcm_mmap_data);
static int snd_pcm_mmap(struct file *file, struct vm_area_struct *area) static int snd_pcm_mmap(struct file *file, struct vm_area_struct *area)
{ {
struct snd_pcm_file * pcm_file; struct snd_pcm_file * pcm_file;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment