diff options
Diffstat (limited to 'include/media/v4l2-subdev.h')
-rw-r--r-- | include/media/v4l2-subdev.h | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/include/media/v4l2-subdev.h b/include/media/v4l2-subdev.h index 2884e3e69cb1..257da1a30f66 100644 --- a/include/media/v4l2-subdev.h +++ b/include/media/v4l2-subdev.h | |||
@@ -229,6 +229,12 @@ struct v4l2_subdev_audio_ops { | |||
229 | s_std_output: set v4l2_std_id for video OUTPUT devices. This is ignored by | 229 | s_std_output: set v4l2_std_id for video OUTPUT devices. This is ignored by |
230 | video input devices. | 230 | video input devices. |
231 | 231 | ||
232 | g_std_output: get current standard for video OUTPUT devices. This is ignored | ||
233 | by video input devices. | ||
234 | |||
235 | g_tvnorms_output: get v4l2_std_id with all standards supported by video | ||
236 | OUTPUT device. This is ignored by video input devices. | ||
237 | |||
232 | s_crystal_freq: sets the frequency of the crystal used to generate the | 238 | s_crystal_freq: sets the frequency of the crystal used to generate the |
233 | clocks in Hz. An extra flags field allows device specific configuration | 239 | clocks in Hz. An extra flags field allows device specific configuration |
234 | regarding clock frequency dividers, etc. If not used, then set flags | 240 | regarding clock frequency dividers, etc. If not used, then set flags |
@@ -243,6 +249,8 @@ struct v4l2_subdev_audio_ops { | |||
243 | s_dv_preset: set dv (Digital Video) preset in the sub device. Similar to | 249 | s_dv_preset: set dv (Digital Video) preset in the sub device. Similar to |
244 | s_std() | 250 | s_std() |
245 | 251 | ||
252 | g_dv_preset: get current dv (Digital Video) preset in the sub device. | ||
253 | |||
246 | query_dv_preset: query dv preset in the sub device. This is similar to | 254 | query_dv_preset: query dv preset in the sub device. This is similar to |
247 | querystd() | 255 | querystd() |
248 | 256 | ||
@@ -259,12 +267,20 @@ struct v4l2_subdev_audio_ops { | |||
259 | try_mbus_fmt: try to set a pixel format on a video data source | 267 | try_mbus_fmt: try to set a pixel format on a video data source |
260 | 268 | ||
261 | s_mbus_fmt: set a pixel format on a video data source | 269 | s_mbus_fmt: set a pixel format on a video data source |
270 | |||
271 | g_mbus_config: get supported mediabus configurations | ||
272 | |||
273 | s_mbus_config: set a certain mediabus configuration. This operation is added | ||
274 | for compatibility with soc-camera drivers and should not be used by new | ||
275 | software. | ||
262 | */ | 276 | */ |
263 | struct v4l2_subdev_video_ops { | 277 | struct v4l2_subdev_video_ops { |
264 | int (*s_routing)(struct v4l2_subdev *sd, u32 input, u32 output, u32 config); | 278 | int (*s_routing)(struct v4l2_subdev *sd, u32 input, u32 output, u32 config); |
265 | int (*s_crystal_freq)(struct v4l2_subdev *sd, u32 freq, u32 flags); | 279 | int (*s_crystal_freq)(struct v4l2_subdev *sd, u32 freq, u32 flags); |
266 | int (*s_std_output)(struct v4l2_subdev *sd, v4l2_std_id std); | 280 | int (*s_std_output)(struct v4l2_subdev *sd, v4l2_std_id std); |
281 | int (*g_std_output)(struct v4l2_subdev *sd, v4l2_std_id *std); | ||
267 | int (*querystd)(struct v4l2_subdev *sd, v4l2_std_id *std); | 282 | int (*querystd)(struct v4l2_subdev *sd, v4l2_std_id *std); |
283 | int (*g_tvnorms_output)(struct v4l2_subdev *sd, v4l2_std_id *std); | ||
268 | int (*g_input_status)(struct v4l2_subdev *sd, u32 *status); | 284 | int (*g_input_status)(struct v4l2_subdev *sd, u32 *status); |
269 | int (*s_stream)(struct v4l2_subdev *sd, int enable); | 285 | int (*s_stream)(struct v4l2_subdev *sd, int enable); |
270 | int (*cropcap)(struct v4l2_subdev *sd, struct v4l2_cropcap *cc); | 286 | int (*cropcap)(struct v4l2_subdev *sd, struct v4l2_cropcap *cc); |
@@ -282,6 +298,8 @@ struct v4l2_subdev_video_ops { | |||
282 | struct v4l2_dv_enum_preset *preset); | 298 | struct v4l2_dv_enum_preset *preset); |
283 | int (*s_dv_preset)(struct v4l2_subdev *sd, | 299 | int (*s_dv_preset)(struct v4l2_subdev *sd, |
284 | struct v4l2_dv_preset *preset); | 300 | struct v4l2_dv_preset *preset); |
301 | int (*g_dv_preset)(struct v4l2_subdev *sd, | ||
302 | struct v4l2_dv_preset *preset); | ||
285 | int (*query_dv_preset)(struct v4l2_subdev *sd, | 303 | int (*query_dv_preset)(struct v4l2_subdev *sd, |
286 | struct v4l2_dv_preset *preset); | 304 | struct v4l2_dv_preset *preset); |
287 | int (*s_dv_timings)(struct v4l2_subdev *sd, | 305 | int (*s_dv_timings)(struct v4l2_subdev *sd, |
@@ -298,6 +316,10 @@ struct v4l2_subdev_video_ops { | |||
298 | struct v4l2_mbus_framefmt *fmt); | 316 | struct v4l2_mbus_framefmt *fmt); |
299 | int (*s_mbus_fmt)(struct v4l2_subdev *sd, | 317 | int (*s_mbus_fmt)(struct v4l2_subdev *sd, |
300 | struct v4l2_mbus_framefmt *fmt); | 318 | struct v4l2_mbus_framefmt *fmt); |
319 | int (*g_mbus_config)(struct v4l2_subdev *sd, | ||
320 | struct v4l2_mbus_config *cfg); | ||
321 | int (*s_mbus_config)(struct v4l2_subdev *sd, | ||
322 | const struct v4l2_mbus_config *cfg); | ||
301 | }; | 323 | }; |
302 | 324 | ||
303 | /* | 325 | /* |
@@ -513,8 +535,6 @@ struct v4l2_subdev { | |||
513 | void *host_priv; | 535 | void *host_priv; |
514 | /* subdev device node */ | 536 | /* subdev device node */ |
515 | struct video_device devnode; | 537 | struct video_device devnode; |
516 | /* number of events to be allocated on open */ | ||
517 | unsigned int nevents; | ||
518 | }; | 538 | }; |
519 | 539 | ||
520 | #define media_entity_to_v4l2_subdev(ent) \ | 540 | #define media_entity_to_v4l2_subdev(ent) \ |