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.h24
1 files changed, 23 insertions, 1 deletions
diff --git a/include/media/v4l2-common.h b/include/media/v4l2-common.h
index 95e74f1874e1..3a6905615d68 100644
--- a/include/media/v4l2-common.h
+++ b/include/media/v4l2-common.h
@@ -102,11 +102,15 @@ int v4l2_ctrl_check(struct v4l2_ext_control *ctrl, struct v4l2_queryctrl *qctrl,
102const char *v4l2_ctrl_get_name(u32 id); 102const char *v4l2_ctrl_get_name(u32 id);
103const char **v4l2_ctrl_get_menu(u32 id); 103const char **v4l2_ctrl_get_menu(u32 id);
104int v4l2_ctrl_query_fill(struct v4l2_queryctrl *qctrl, s32 min, s32 max, s32 step, s32 def); 104int v4l2_ctrl_query_fill(struct v4l2_queryctrl *qctrl, s32 min, s32 max, s32 step, s32 def);
105int v4l2_ctrl_query_fill_std(struct v4l2_queryctrl *qctrl);
106int v4l2_ctrl_query_menu(struct v4l2_querymenu *qmenu, 105int v4l2_ctrl_query_menu(struct v4l2_querymenu *qmenu,
107 struct v4l2_queryctrl *qctrl, const char **menu_items); 106 struct v4l2_queryctrl *qctrl, const char **menu_items);
108#define V4L2_CTRL_MENU_IDS_END (0xffffffff) 107#define V4L2_CTRL_MENU_IDS_END (0xffffffff)
109int v4l2_ctrl_query_menu_valid_items(struct v4l2_querymenu *qmenu, const u32 *ids); 108int v4l2_ctrl_query_menu_valid_items(struct v4l2_querymenu *qmenu, const u32 *ids);
109
110/* Note: ctrl_classes points to an array of u32 pointers. Each u32 array is a
111 0-terminated array of control IDs. Each array must be sorted low to high
112 and belong to the same control class. The array of u32 pointers must also
113 be sorted, from low class IDs to high class IDs. */
110u32 v4l2_ctrl_next(const u32 * const *ctrl_classes, u32 id); 114u32 v4l2_ctrl_next(const u32 * const *ctrl_classes, u32 id);
111 115
112/* ------------------------------------------------------------------------- */ 116/* ------------------------------------------------------------------------- */
@@ -149,6 +153,21 @@ struct v4l2_subdev *v4l2_i2c_new_probed_subdev(struct i2c_adapter *adapter,
149/* Initialize an v4l2_subdev with data from an i2c_client struct */ 153/* Initialize an v4l2_subdev with data from an i2c_client struct */
150void v4l2_i2c_subdev_init(struct v4l2_subdev *sd, struct i2c_client *client, 154void v4l2_i2c_subdev_init(struct v4l2_subdev *sd, struct i2c_client *client,
151 const struct v4l2_subdev_ops *ops); 155 const struct v4l2_subdev_ops *ops);
156/* Return i2c client address of v4l2_subdev. */
157unsigned short v4l2_i2c_subdev_addr(struct v4l2_subdev *sd);
158
159enum v4l2_i2c_tuner_type {
160 ADDRS_RADIO, /* Radio tuner addresses */
161 ADDRS_DEMOD, /* Demod tuner addresses */
162 ADDRS_TV, /* TV tuner addresses */
163 /* TV tuner addresses if demod is present, this excludes
164 addresses used by the demodulator from the list of
165 candidates. */
166 ADDRS_TV_WITH_DEMOD,
167};
168/* Return a list of I2C tuner addresses to probe. Use only if the tuner
169 addresses are unknown. */
170const unsigned short *v4l2_i2c_tuner_addrs(enum v4l2_i2c_tuner_type type);
152 171
153/* ------------------------------------------------------------------------- */ 172/* ------------------------------------------------------------------------- */
154 173
@@ -284,4 +303,7 @@ struct v4l2_crystal_freq {
284 a v4l2_gpio struct if a direction is also needed. */ 303 a v4l2_gpio struct if a direction is also needed. */
285#define VIDIOC_INT_S_GPIO _IOW('d', 117, u32) 304#define VIDIOC_INT_S_GPIO _IOW('d', 117, u32)
286 305
306/* Get input status. Same as the status field in the v4l2_input struct. */
307#define VIDIOC_INT_G_INPUT_STATUS _IOR('d', 118, u32)
308
287#endif /* V4L2_COMMON_H_ */ 309#endif /* V4L2_COMMON_H_ */