V4L/DVB (7600): em28xx: Sets frequency when changing to analog mode

This will make tuner-xc2028 to change to analog, if needed.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
This commit is contained in:
Mauro Carvalho Chehab 2008-04-17 21:38:53 -03:00
parent 52284c3e47
commit d2d9fbfd73

View File

@ -560,6 +560,8 @@ static int
buffer_setup(struct videobuf_queue *vq, unsigned int *count, unsigned int *size)
{
struct em28xx_fh *fh = vq->priv_data;
struct em28xx *dev = fh->dev;
struct v4l2_frequency f;
*size = 16 * fh->dev->width * fh->dev->height >> 3;
if (0 == *count)
@ -568,6 +570,14 @@ buffer_setup(struct videobuf_queue *vq, unsigned int *count, unsigned int *size)
if (*count < EM28XX_MIN_BUF)
*count = EM28XX_MIN_BUF;
dev->mode = EM28XX_ANALOG_MODE;
/* Ask tuner to go to analog mode */
memset (&f, 0, sizeof(f));
f.frequency = dev->ctl_freq;
em28xx_i2c_call_clients(dev, VIDIOC_S_FREQUENCY, &f);
return 0;
}