On 02/03/2014 10:08 AM, 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 <[email protected]>
>> Signed-off-by: Antti Palosaari <[email protected]>
>> ---
>>  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).

v4l2-compliance will actually complain about this. It is useful to add support 
for
swradio to v4l2-compliance as it helps you test v4l2 compliance of drivers.

Regards,

        Hans
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to