Skip to content

Commit

Permalink
[media] videodev2.h: add VIDIOC_ENUM_FREQ_BANDS
Browse files Browse the repository at this point in the history
Add a new ioctl to enumerate the supported frequency bands of a tuner.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
  • Loading branch information
Hans Verkuil authored and Mauro Carvalho Chehab committed Jul 30, 2012
1 parent b67a39e commit 3d687b4
Showing 1 changed file with 30 additions and 10 deletions.
40 changes: 30 additions & 10 deletions include/linux/videodev2.h
Original file line number Diff line number Diff line change
Expand Up @@ -2032,6 +2032,7 @@ struct v4l2_modulator {
#define V4L2_TUNER_CAP_RDS 0x0080
#define V4L2_TUNER_CAP_RDS_BLOCK_IO 0x0100
#define V4L2_TUNER_CAP_RDS_CONTROLS 0x0200
#define V4L2_TUNER_CAP_FREQ_BANDS 0x0400

/* Flags for the 'rxsubchans' field */
#define V4L2_TUNER_SUB_MONO 0x0001
Expand All @@ -2050,19 +2051,34 @@ struct v4l2_modulator {
#define V4L2_TUNER_MODE_LANG1_LANG2 0x0004

struct v4l2_frequency {
__u32 tuner;
__u32 type; /* enum v4l2_tuner_type */
__u32 frequency;
__u32 reserved[8];
__u32 tuner;
__u32 type; /* enum v4l2_tuner_type */
__u32 frequency;
__u32 reserved[8];
};

#define V4L2_BAND_MODULATION_VSB (1 << 1)
#define V4L2_BAND_MODULATION_FM (1 << 2)
#define V4L2_BAND_MODULATION_AM (1 << 3)

struct v4l2_frequency_band {
__u32 tuner;
__u32 type; /* enum v4l2_tuner_type */
__u32 index;
__u32 capability;
__u32 rangelow;
__u32 rangehigh;
__u32 modulation;
__u32 reserved[9];
};

struct v4l2_hw_freq_seek {
__u32 tuner;
__u32 type; /* enum v4l2_tuner_type */
__u32 seek_upward;
__u32 wrap_around;
__u32 spacing;
__u32 reserved[7];
__u32 tuner;
__u32 type; /* enum v4l2_tuner_type */
__u32 seek_upward;
__u32 wrap_around;
__u32 spacing;
__u32 reserved[7];
};

/*
Expand Down Expand Up @@ -2630,6 +2646,10 @@ struct v4l2_create_buffers {
#define VIDIOC_QUERY_DV_TIMINGS _IOR('V', 99, struct v4l2_dv_timings)
#define VIDIOC_DV_TIMINGS_CAP _IOWR('V', 100, struct v4l2_dv_timings_cap)

/* Experimental, this ioctl may change over the next couple of kernel
versions. */
#define VIDIOC_ENUM_FREQ_BANDS _IOWR('V', 101, struct v4l2_frequency_band)

/* Reminder: when adding new ioctls please add support for them to
drivers/media/video/v4l2-compat-ioctl32.c as well! */

Expand Down

0 comments on commit 3d687b4

Please sign in to comment.