On 02/03/2014 11:13 AM, Antti Palosaari wrote: > On 03.02.2014 11:08, Hans Verkuil wrote: >> Hi Antti, >> >> On 02/01/2014 03:24 PM, Antti Palosaari wrote: >>> Modern silicon RF tuners has one or more adjustable filters on >>> signal path, in order to filter noise from desired radio channel. >>> >>> Add channel bandwidth control to tell the driver which is radio >>> channel width we want receive. Filters could be then adjusted by >>> the driver or hardware, using RF frequency and channel bandwidth >>> as a base of filter calculations. >>> >>> On automatic mode (normal mode), bandwidth is calculated from sampling >>> rate or tuning info got from userspace. That new control gives >>> possibility to set manual mode and let user have more control for >>> filters. >>> >>> Cc: Hans Verkuil <hverkuil@xxxxxxxxx> >>> Signed-off-by: Antti Palosaari <crope@xxxxxx> >>> --- >>> drivers/media/v4l2-core/v4l2-ctrls.c | 4 ++++ >>> include/uapi/linux/v4l2-controls.h | 2 ++ >>> 2 files changed, 6 insertions(+) >>> >>> diff --git a/drivers/media/v4l2-core/v4l2-ctrls.c b/drivers/media/v4l2-core/v4l2-ctrls.c >>> index d201f61..e44722b 100644 >>> --- a/drivers/media/v4l2-core/v4l2-ctrls.c >>> +++ b/drivers/media/v4l2-core/v4l2-ctrls.c >>> @@ -865,6 +865,8 @@ const char *v4l2_ctrl_get_name(u32 id) >>> case V4L2_CID_MIXER_GAIN: return "Mixer Gain"; >>> case V4L2_CID_IF_GAIN_AUTO: return "IF Gain, Auto"; >>> case V4L2_CID_IF_GAIN: return "IF Gain"; >>> + case V4L2_CID_BANDWIDTH_AUTO: return "Channel Bandwidth, Auto"; >>> + case V4L2_CID_BANDWIDTH: return "Channel Bandwidth"; >>> default: >>> return NULL; >>> } >>> @@ -917,6 +919,7 @@ void v4l2_ctrl_fill(u32 id, const char **name, enum v4l2_ctrl_type *type, >>> case V4L2_CID_LNA_GAIN_AUTO: >>> case V4L2_CID_MIXER_GAIN_AUTO: >>> case V4L2_CID_IF_GAIN_AUTO: >>> + case V4L2_CID_BANDWIDTH_AUTO: >>> *type = V4L2_CTRL_TYPE_BOOLEAN; >>> *min = 0; >>> *max = *step = 1; >>> @@ -1078,6 +1081,7 @@ void v4l2_ctrl_fill(u32 id, const char **name, enum v4l2_ctrl_type *type, >>> case V4L2_CID_LNA_GAIN: >>> case V4L2_CID_MIXER_GAIN: >>> case V4L2_CID_IF_GAIN: >>> + case V4L2_CID_BANDWIDTH: >> >> Booleans never have the slider flag set (they are represented as a checkbox, so a slider >> makes no sense). >> >>> *flags |= V4L2_CTRL_FLAG_SLIDER; > > These are two different controls, as it is controls groups with auto mode (boolean) and value (slider). Oops, my fault. I misread. Hans -- 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