arm: tegra: change function declaration to static
[linux-2.6.git] / include / linux / tegra_audio.h
1 /* include/linux/tegra_audio.h
2  *
3  * Copyright (C) 2010 Google, Inc.
4  *
5  * Author:
6  *     Iliyan Malchev <malchev@google.com>
7  *
8  * This software is licensed under the terms of the GNU General Public
9  * License version 2, as published by the Free Software Foundation, and
10  * may be copied, distributed, and modified under those terms.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15  * GNU General Public License for more details.
16  *
17  */
18
19 #ifndef _TEGRA_AUDIO_H
20 #define _TEGRA_AUDIO_H
21
22 #include <linux/ioctl.h>
23
24 #define TEGRA_AUDIO_MAGIC 't'
25
26 #define TEGRA_AUDIO_IN_START _IO(TEGRA_AUDIO_MAGIC, 0)
27 #define TEGRA_AUDIO_IN_STOP  _IO(TEGRA_AUDIO_MAGIC, 1)
28
29 struct tegra_audio_in_config {
30         int rate;
31         int stereo;
32 };
33
34 struct dam_srate {
35         unsigned int in_sample_rate;
36         unsigned int out_sample_rate;
37         unsigned int audio_bits;
38         unsigned int client_bits;
39         unsigned int audio_channels;
40         unsigned int client_channels;
41         unsigned int apbif_chan;
42 };
43
44 #define TEGRA_AUDIO_IN_SET_CONFIG       _IOW(TEGRA_AUDIO_MAGIC, 2, \
45                         const struct tegra_audio_in_config *)
46 #define TEGRA_AUDIO_IN_GET_CONFIG       _IOR(TEGRA_AUDIO_MAGIC, 3, \
47                         struct tegra_audio_in_config *)
48
49 #define TEGRA_AUDIO_IN_SET_NUM_BUFS     _IOW(TEGRA_AUDIO_MAGIC, 4, \
50                         const unsigned int *)
51 #define TEGRA_AUDIO_IN_GET_NUM_BUFS     _IOW(TEGRA_AUDIO_MAGIC, 5, \
52                         unsigned int *)
53 #define TEGRA_AUDIO_OUT_SET_NUM_BUFS    _IOW(TEGRA_AUDIO_MAGIC, 6, \
54                         const unsigned int *)
55 #define TEGRA_AUDIO_OUT_GET_NUM_BUFS    _IOW(TEGRA_AUDIO_MAGIC, 7, \
56                         unsigned int *)
57
58 #define TEGRA_AUDIO_OUT_FLUSH           _IO(TEGRA_AUDIO_MAGIC, 10)
59
60 #define TEGRA_AUDIO_BIT_FORMAT_DEFAULT 0
61 #define TEGRA_AUDIO_BIT_FORMAT_DSP 1
62 #define TEGRA_AUDIO_SET_BIT_FORMAT      _IOW(TEGRA_AUDIO_MAGIC, 11, \
63                         const unsigned int *)
64 #define TEGRA_AUDIO_GET_BIT_FORMAT      _IOR(TEGRA_AUDIO_MAGIC, 12, \
65                         unsigned int *)
66
67 #define DAM_SRC_START   _IOW(TEGRA_AUDIO_MAGIC, 13, struct dam_srate *)
68 #define DAM_SRC_STOP    _IO(TEGRA_AUDIO_MAGIC, 14)
69 #define DAM_MIXING_START        _IOW(TEGRA_AUDIO_MAGIC, 15, struct dam_srate *)
70 #define DAM_MIXING_STOP _IO(TEGRA_AUDIO_MAGIC, 16)
71 #define DAM_SET_MIXING_FLAG     _IO(TEGRA_AUDIO_MAGIC, 17)
72
73 #define I2S_START       _IOW(TEGRA_AUDIO_MAGIC, 15, struct i2s_pcm_format *)
74 #define I2S_STOP        _IOW(TEGRA_AUDIO_MAGIC, 16, struct i2s_pcm_format *)
75 #define I2S_LOOPBACK    _IOW(TEGRA_AUDIO_MAGIC, 17, unsigned int *)
76 #define I2S_MODE_I2S    _IOW(TEGRA_AUDIO_MAGIC, 18, unsigned int *)
77
78 #ifdef CONFIG_SND_SOC_TEGRA
79 extern bool tegra_is_voice_call_active();
80 #else
81 static inline bool tegra_is_voice_call_active()
82 {
83         return false;
84 }
85 #endif
86
87 #endif/*_CPCAP_AUDIO_H*/