From 5e9c7b1b42b68600cc50c26061636c43d202aaeb Mon Sep 17 00:00:00 2001 From: Hans Verkuil Date: Thu, 15 Jan 2009 09:53:18 +0100 Subject: cx25840: add comments explaining what the init() does. From: Hans Verkuil Priority: normal Signed-off-by: Hans Verkuil --- linux/include/media/cx25840.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'linux/include') diff --git a/linux/include/media/cx25840.h b/linux/include/media/cx25840.h index db431d513..2c3fbaa33 100644 --- a/linux/include/media/cx25840.h +++ b/linux/include/media/cx25840.h @@ -21,6 +21,18 @@ #ifndef _CX25840_H_ #define _CX25840_H_ +/* Note that the cx25840 driver requires that the bridge driver calls the + v4l2_subdev's init operation in order to load the driver's firmware. + Without this the audio standard detection will fail and you will + only get mono. + + Since loading the firmware is often problematic when the driver is + compiled into the kernel I recommend postponing calling this function + until the first open of the video device. Another reason for + postponing it is that loading this firmware takes a long time (seconds) + due to the slow i2c bus speed. So it will speed up the boot process if + you can avoid loading the fw as long as the video device isn't used. */ + enum cx25840_video_input { /* Composite video inputs In1-In8 */ CX25840_COMPOSITE1 = 1, -- cgit v1.2.3 From b3bd2b4c24de403f1baa56ec2ec452e7f8f9b463 Mon Sep 17 00:00:00 2001 From: Hans Verkuil Date: Sun, 18 Jan 2009 23:37:59 +0100 Subject: v4l2-common: added v4l2_i2c_tuner_addrs() From: Hans Verkuil Add v4l2_i2c_tuner_addrs() to obtain the various I2C tuner addresses. This will be used in several drivers, so make this a common function as we do not want to have these I2C addresses all over the place. Priority: normal Signed-off-by: Hans Verkuil --- linux/include/media/v4l2-common.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'linux/include') diff --git a/linux/include/media/v4l2-common.h b/linux/include/media/v4l2-common.h index 95e74f187..0f864f8da 100644 --- a/linux/include/media/v4l2-common.h +++ b/linux/include/media/v4l2-common.h @@ -150,6 +150,19 @@ struct v4l2_subdev *v4l2_i2c_new_probed_subdev(struct i2c_adapter *adapter, void v4l2_i2c_subdev_init(struct v4l2_subdev *sd, struct i2c_client *client, const struct v4l2_subdev_ops *ops); +enum v4l2_i2c_tuner_type { + ADDRS_RADIO, /* Radio tuner addresses */ + ADDRS_DEMOD, /* Demod tuner addresses */ + ADDRS_TV, /* TV tuner addresses */ + /* TV tuner addresses if demod is present, this excludes + addresses used by the demodulator from the list of + candidates. */ + ADDRS_TV_WITH_DEMOD, +}; +/* Return a list of I2C tuner addresses to probe. Use only if the tuner + addresses are unknown. */ +const unsigned short *v4l2_i2c_tuner_addrs(enum v4l2_i2c_tuner_type type); + /* ------------------------------------------------------------------------- */ /* Internal ioctls */ -- cgit v1.2.3