Signed-off-by: Antti Palosaari <crope@xxxxxx> --- drivers/staging/media/msi3101/sdr-msi3101.c | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/drivers/staging/media/msi3101/sdr-msi3101.c b/drivers/staging/media/msi3101/sdr-msi3101.c index 4de4f50..b6a8939 100644 --- a/drivers/staging/media/msi3101/sdr-msi3101.c +++ b/drivers/staging/media/msi3101/sdr-msi3101.c @@ -361,8 +361,9 @@ static const struct msi3101_gain msi3101_gain_lut_1000[] = { #define MAX_ISOC_ERRORS 20 -#define MSI3101_CID_SAMPLING_RATE ((V4L2_CID_USER_BASE | 0xf000) + 0) -#define MSI3101_CID_SAMPLING_RESOLUTION ((V4L2_CID_USER_BASE | 0xf000) + 1) +#define MSI3101_CID_SAMPLING_MODE ((V4L2_CID_USER_BASE | 0xf000) + 0) +#define MSI3101_CID_SAMPLING_RATE ((V4L2_CID_USER_BASE | 0xf000) + 1) +#define MSI3101_CID_SAMPLING_RESOLUTION ((V4L2_CID_USER_BASE | 0xf000) + 2) #define MSI3101_CID_TUNER_RF ((V4L2_CID_USER_BASE | 0xf000) + 10) #define MSI3101_CID_TUNER_BW ((V4L2_CID_USER_BASE | 0xf000) + 11) #define MSI3101_CID_TUNER_IF ((V4L2_CID_USER_BASE | 0xf000) + 12) @@ -1418,6 +1419,7 @@ static int msi3101_s_ctrl(struct v4l2_ctrl *ctrl) ctrl->minimum, ctrl->maximum, ctrl->step); switch (ctrl->id) { + case MSI3101_CID_SAMPLING_MODE: case MSI3101_CID_SAMPLING_RATE: case MSI3101_CID_SAMPLING_RESOLUTION: ret = 0; @@ -1455,6 +1457,18 @@ static int msi3101_probe(struct usb_interface *intf, struct usb_device *udev = interface_to_usbdev(intf); struct msi3101_state *s = NULL; int ret; + static const char * const ctrl_sampling_mode_qmenu_strings[] = { + "Quadrature Sampling", + NULL, + }; + static const struct v4l2_ctrl_config ctrl_sampling_mode = { + .ops = &msi3101_ctrl_ops, + .id = MSI3101_CID_SAMPLING_MODE, + .type = V4L2_CTRL_TYPE_MENU, + .flags = V4L2_CTRL_FLAG_INACTIVE, + .name = "Sampling Mode", + .qmenu = ctrl_sampling_mode_qmenu_strings, + }; static const struct v4l2_ctrl_config ctrl_sampling_rate = { .ops = &msi3101_ctrl_ops, .id = MSI3101_CID_SAMPLING_RATE, @@ -1553,7 +1567,8 @@ static int msi3101_probe(struct usb_interface *intf, video_set_drvdata(&s->vdev, s); /* Register controls */ - v4l2_ctrl_handler_init(&s->ctrl_handler, 6); + v4l2_ctrl_handler_init(&s->ctrl_handler, 7); + v4l2_ctrl_new_custom(&s->ctrl_handler, &ctrl_sampling_mode, NULL); s->ctrl_sampling_rate = v4l2_ctrl_new_custom(&s->ctrl_handler, &ctrl_sampling_rate, NULL); v4l2_ctrl_new_custom(&s->ctrl_handler, &ctrl_sampling_resolution, NULL); s->ctrl_tuner_rf = v4l2_ctrl_new_custom(&s->ctrl_handler, &ctrl_tuner_rf, NULL); -- 1.7.11.7 -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html