This is part of the old V4L1->V4L2 bttv patch, ported to current tree
by Mauro Carvalho Chehab <mchehab@infradead.org>
Signed-off-by: Nickolay V. Shmyrev <nshmyrev@yandex.ru>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
return audio_mux(btv, input, btv->mute);
}
return audio_mux(btv, input, btv->mute);
}
-static void
-i2c_vidiocschan(struct bttv *btv)
-{
- v4l2_std_id std = bttv_tvnorms[btv->tvnorm].v4l2_id;
-
- bttv_call_i2c_clients(btv, VIDIOC_S_STD, &std);
- if (btv->c.type == BTTV_BOARD_VOODOOTV_FM || btv->c.type == BTTV_BOARD_VOODOOTV_200)
- bttv_tda9880_setnorm(btv,btv->tvnorm);
-}
-
static void
bttv_crop_calc_limits(struct bttv_crop *c)
{
static void
bttv_crop_calc_limits(struct bttv_crop *c)
{
set_tvnorm(struct bttv *btv, unsigned int norm)
{
const struct bttv_tvnorm *tvnorm;
set_tvnorm(struct bttv *btv, unsigned int norm)
{
const struct bttv_tvnorm *tvnorm;
if (norm < 0 || norm >= BTTV_TVNORMS)
return -EINVAL;
if (norm < 0 || norm >= BTTV_TVNORMS)
return -EINVAL;
bttv_tda9880_setnorm(btv,norm);
break;
}
bttv_tda9880_setnorm(btv,norm);
break;
}
+ id = tvnorm->v4l2_id;
+ bttv_call_i2c_clients(btv, VIDIOC_S_STD, &id);
+
audio_input(btv,(input == bttv_tvcards[btv->c.type].tuner ?
TVAUDIO_INPUT_TUNER : TVAUDIO_INPUT_EXTERN));
set_tvnorm(btv, norm);
audio_input(btv,(input == bttv_tvcards[btv->c.type].tuner ?
TVAUDIO_INPUT_TUNER : TVAUDIO_INPUT_EXTERN));
set_tvnorm(btv, norm);
}
static void init_irqreg(struct bttv *btv)
}
static void init_irqreg(struct bttv *btv)
mutex_lock(&btv->lock);
set_tvnorm(btv,i);
mutex_lock(&btv->lock);
set_tvnorm(btv,i);
mutex_unlock(&btv->lock);
return 0;
}
mutex_unlock(&btv->lock);
return 0;
}
V4L2_FIELD_SEQ_TB,
sizeof(struct bttv_buffer),
fh);
V4L2_FIELD_SEQ_TB,
sizeof(struct bttv_buffer),
fh);
+ set_tvnorm(btv,btv->tvnorm);