diff options
Diffstat (limited to 'include/media/v4l2-common.h')
-rw-r--r-- | include/media/v4l2-common.h | 69 |
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 */ |
65 | extern void v4l_printk_ioctl(unsigned int cmd); | 65 | extern void v4l_printk_ioctl(unsigned int cmd); |
66 | 66 | ||
67 | /* Prints the ioctl and arg in a human-readable format */ | ||
68 | extern 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 */ | 99 | struct i2c_client; /* forward reference */ |
103 | struct v4l2_register { | 100 | int 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. */ | 101 | int 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; | 103 | int 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 */ |
110 | struct v4l2_decode_vbi_line { | 110 | struct 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 */ | ||
120 | enum 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_ */ |