aboutsummaryrefslogtreecommitdiffstats
path: root/include/media/v4l2-common.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/media/v4l2-common.h')
-rw-r--r--include/media/v4l2-common.h69
1 files changed, 19 insertions, 50 deletions
diff --git a/include/media/v4l2-common.h b/include/media/v4l2-common.h
index 91b19921f958..181a40c46a52 100644
--- a/include/media/v4l2-common.h
+++ b/include/media/v4l2-common.h
@@ -64,9 +64,6 @@
64/* Prints the ioctl in a human-readable format */ 64/* Prints the ioctl in a human-readable format */
65extern void v4l_printk_ioctl(unsigned int cmd); 65extern void v4l_printk_ioctl(unsigned int cmd);
66 66
67/* Prints the ioctl and arg in a human-readable format */
68extern void v4l_printk_ioctl_arg(char *s,unsigned int cmd, void *arg);
69
70/* Use this macro for non-I2C drivers. Pass the driver name as the first arg. */ 67/* Use this macro for non-I2C drivers. Pass the driver name as the first arg. */
71#define v4l_print_ioctl(name, cmd) \ 68#define v4l_print_ioctl(name, cmd) \
72 do { \ 69 do { \
@@ -97,14 +94,17 @@ u32 v4l2_ctrl_next(const u32 * const *ctrl_classes, u32 id);
97 94
98/* ------------------------------------------------------------------------- */ 95/* ------------------------------------------------------------------------- */
99 96
100/* Internal ioctls */ 97/* Register/chip ident helper function */
101 98
102/* VIDIOC_INT_G_REGISTER and VIDIOC_INT_S_REGISTER */ 99struct i2c_client; /* forward reference */
103struct v4l2_register { 100int v4l2_chip_match_i2c_client(struct i2c_client *c, u32 id_type, u32 chip_id);
104 u32 i2c_id; /* I2C driver ID of the I2C chip. 0 for the I2C adapter. */ 101int v4l2_chip_ident_i2c_client(struct i2c_client *c, struct v4l2_chip_ident *chip,
105 unsigned long reg; 102 u32 ident, u32 revision);
106 u32 val; 103int v4l2_chip_match_host(u32 id_type, u32 chip_id);
107}; 104
105/* ------------------------------------------------------------------------- */
106
107/* Internal ioctls */
108 108
109/* VIDIOC_INT_DECODE_VBI_LINE */ 109/* VIDIOC_INT_DECODE_VBI_LINE */
110struct v4l2_decode_vbi_line { 110struct v4l2_decode_vbi_line {
@@ -116,39 +116,6 @@ struct v4l2_decode_vbi_line {
116 u32 type; /* VBI service type (V4L2_SLICED_*). 0 if no service found */ 116 u32 type; /* VBI service type (V4L2_SLICED_*). 0 if no service found */
117}; 117};
118 118
119/* VIDIOC_INT_G_CHIP_IDENT: identifies the actual chip installed on the board */
120enum v4l2_chip_ident {
121 /* general idents: reserved range 0-49 */
122 V4L2_IDENT_UNKNOWN = 0,
123
124 /* module saa7110: just ident= 100 */
125 V4L2_IDENT_SAA7110 = 100,
126
127 /* module saa7111: just ident= 101 */
128 V4L2_IDENT_SAA7111 = 101,
129
130 /* module saa7115: reserved range 102-149 */
131 V4L2_IDENT_SAA7113 = 103,
132 V4L2_IDENT_SAA7114 = 104,
133 V4L2_IDENT_SAA7115 = 105,
134 V4L2_IDENT_SAA7118 = 108,
135
136 /* module saa7127: reserved range 150-199 */
137 V4L2_IDENT_SAA7127 = 157,
138 V4L2_IDENT_SAA7129 = 159,
139
140 /* module cx25840: reserved range 200-249 */
141 V4L2_IDENT_CX25836 = 236,
142 V4L2_IDENT_CX25837 = 237,
143 V4L2_IDENT_CX25840 = 240,
144 V4L2_IDENT_CX25841 = 241,
145 V4L2_IDENT_CX25842 = 242,
146 V4L2_IDENT_CX25843 = 243,
147
148 /* OmniVision sensors - range 250-299 */
149 V4L2_IDENT_OV7670 = 250,
150};
151
152/* audio ioctls */ 119/* audio ioctls */
153 120
154/* v4l device was opened in Radio mode, to be replaced by VIDIOC_INT_S_TUNER_MODE */ 121/* v4l device was opened in Radio mode, to be replaced by VIDIOC_INT_S_TUNER_MODE */
@@ -175,9 +142,7 @@ enum v4l2_chip_ident {
175 Replacement of TUNER_SET_STANDBY. */ 142 Replacement of TUNER_SET_STANDBY. */
176#define VIDIOC_INT_S_STANDBY _IOW('d', 94, u32) 143#define VIDIOC_INT_S_STANDBY _IOW('d', 94, u32)
177 144
178/* only implemented if CONFIG_VIDEO_ADV_DEBUG is defined */ 145/* 100, 101 used by VIDIOC_DBG_[SG]_REGISTER */
179#define VIDIOC_INT_S_REGISTER _IOW ('d', 100, struct v4l2_register)
180#define VIDIOC_INT_G_REGISTER _IOWR('d', 101, struct v4l2_register)
181 146
182/* Generic reset command. The argument selects which subsystems to reset. 147/* Generic reset command. The argument selects which subsystems to reset.
183 Passing 0 will always reset the whole chip. */ 148 Passing 0 will always reset the whole chip. */
@@ -212,10 +177,6 @@ enum v4l2_chip_ident {
212 whether CC data from the first or second field should be obtained). */ 177 whether CC data from the first or second field should be obtained). */
213#define VIDIOC_INT_G_VBI_DATA _IOWR('d', 106, struct v4l2_sliced_vbi_data) 178#define VIDIOC_INT_G_VBI_DATA _IOWR('d', 106, struct v4l2_sliced_vbi_data)
214 179
215/* Returns the chip identifier or V4L2_IDENT_UNKNOWN if no identification can
216 be made. */
217#define VIDIOC_INT_G_CHIP_IDENT _IOR ('d', 107, enum v4l2_chip_ident)
218
219/* Sets I2S speed in bps. This is used to provide a standard way to select I2S 180/* Sets I2S speed in bps. This is used to provide a standard way to select I2S
220 clock used by driving digital audio streams at some board designs. 181 clock used by driving digital audio streams at some board designs.
221 Usual values for the frequency are 1024000 and 2048000. 182 Usual values for the frequency are 1024000 and 2048000.
@@ -258,4 +219,12 @@ struct v4l2_crystal_freq {
258 default values. */ 219 default values. */
259#define VIDIOC_INT_INIT _IOW ('d', 114, u32) 220#define VIDIOC_INT_INIT _IOW ('d', 114, u32)
260 221
222/* Set v4l2_std_id for video OUTPUT devices. This is ignored by
223 video input devices. */
224#define VIDIOC_INT_S_STD_OUTPUT _IOW ('d', 115, v4l2_std_id)
225
226/* Get v4l2_std_id for video OUTPUT devices. This is ignored by
227 video input devices. */
228#define VIDIOC_INT_G_STD_OUTPUT _IOW ('d', 116, v4l2_std_id)
229
261#endif /* V4L2_COMMON_H_ */ 230#endif /* V4L2_COMMON_H_ */