Commit 01df530c authored by Hans Verkuil's avatar Hans Verkuil Committed by Mauro Carvalho Chehab

[media] bttv: convert to the control framework

Note that the private chroma agc control has been replaced with the standard
CHROMA_AGC control.
Also fixes a mute/automute problem where closing the file handle would force
mute on. That's not what you want since that would make the mute state out of
sync with the mute control. Instead check against the user count.
Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent 5d478e0d
...@@ -3554,8 +3554,9 @@ void bttv_init_card2(struct bttv *btv) ...@@ -3554,8 +3554,9 @@ void bttv_init_card2(struct bttv *btv)
I2C_CLIENT_END I2C_CLIENT_END
}; };
if (v4l2_i2c_new_subdev(&btv->c.v4l2_dev, btv->sd_tda7432 = v4l2_i2c_new_subdev(&btv->c.v4l2_dev,
&btv->c.i2c_adap, "tda7432", 0, addrs)) &btv->c.i2c_adap, "tda7432", 0, addrs);
if (btv->sd_tda7432)
return; return;
} }
......
This diff is collapsed.
...@@ -33,9 +33,10 @@ ...@@ -33,9 +33,10 @@
#include <linux/input.h> #include <linux/input.h>
#include <linux/mutex.h> #include <linux/mutex.h>
#include <linux/scatterlist.h> #include <linux/scatterlist.h>
#include <linux/device.h>
#include <asm/io.h> #include <asm/io.h>
#include <media/v4l2-common.h> #include <media/v4l2-common.h>
#include <linux/device.h> #include <media/v4l2-ctrls.h>
#include <media/videobuf-dma-sg.h> #include <media/videobuf-dma-sg.h>
#include <media/tveeprom.h> #include <media/tveeprom.h>
#include <media/rc-core.h> #include <media/rc-core.h>
...@@ -393,12 +394,17 @@ struct bttv { ...@@ -393,12 +394,17 @@ struct bttv {
wait_queue_head_t i2c_queue; wait_queue_head_t i2c_queue;
struct v4l2_subdev *sd_msp34xx; struct v4l2_subdev *sd_msp34xx;
struct v4l2_subdev *sd_tvaudio; struct v4l2_subdev *sd_tvaudio;
struct v4l2_subdev *sd_tda7432;
/* video4linux (1) */ /* video4linux (1) */
struct video_device *video_dev; struct video_device *video_dev;
struct video_device *radio_dev; struct video_device *radio_dev;
struct video_device *vbi_dev; struct video_device *vbi_dev;
/* controls */
struct v4l2_ctrl_handler ctrl_handler;
struct v4l2_ctrl_handler radio_ctrl_handler;
/* infrared remote */ /* infrared remote */
int has_remote; int has_remote;
struct bttv_ir *remote; struct bttv_ir *remote;
...@@ -426,17 +432,9 @@ struct bttv { ...@@ -426,17 +432,9 @@ struct bttv {
/* various options */ /* various options */
int opt_combfilter; int opt_combfilter;
int opt_lumafilter;
int opt_automute; int opt_automute;
int opt_chroma_agc;
int opt_color_killer;
int opt_adc_crush;
int opt_vcr_hack; int opt_vcr_hack;
int opt_whitecrush_upper;
int opt_whitecrush_lower;
int opt_uv_ratio; int opt_uv_ratio;
int opt_full_luma_range;
int opt_coring;
/* radio data/state */ /* radio data/state */
int has_radio; int has_radio;
......
...@@ -146,6 +146,11 @@ enum v4l2_colorfx { ...@@ -146,6 +146,11 @@ enum v4l2_colorfx {
* of controls. We reserve 16 controls for this driver. */ * of controls. We reserve 16 controls for this driver. */
#define V4L2_CID_USER_MEYE_BASE (V4L2_CID_USER_BASE + 0x1000) #define V4L2_CID_USER_MEYE_BASE (V4L2_CID_USER_BASE + 0x1000)
/* The base for the bttv driver controls.
* We reserve 32 controls for this driver. */
#define V4L2_CID_USER_BTTV_BASE (V4L2_CID_USER_BASE + 0x1010)
/* MPEG-class control IDs */ /* MPEG-class control IDs */
#define V4L2_CID_MPEG_BASE (V4L2_CTRL_CLASS_MPEG | 0x900) #define V4L2_CID_MPEG_BASE (V4L2_CTRL_CLASS_MPEG | 0x900)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment