Skip to content

Commit

Permalink
V4L/DVB (12336): ivtv: Fix improper GPIO audio mux input switch on vi…
Browse files Browse the repository at this point in the history
…deo standard change

Remove the subdev_s_std() method from the GPIO subdev.  It appears it was
used in the past to effect the switch back from radio mode to tuner mode,
but it had a side effect that is improper and against the V4L2 spec, when
you were not in radio mode.  Whenever the video stanadrd was changed, the
GPIO audio mux was set back to the tuner audio input, even if you were set
to a Line In input.

Thanks to Ravi A. for doing the troubleshooting to point me right to the
problem.

Reported-by: Ravi A <asvravi@gmail.com>
Signed-off-by: Andy Walls <awalls@radix.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
  • Loading branch information
Andy Walls authored and Mauro Carvalho Chehab committed Sep 12, 2009
1 parent d31b67d commit 1420d49
Showing 1 changed file with 0 additions and 13 deletions.
13 changes: 0 additions & 13 deletions drivers/media/video/ivtv/ivtv-gpio.c
Original file line number Diff line number Diff line change
Expand Up @@ -236,18 +236,6 @@ static int subdev_s_radio(struct v4l2_subdev *sd)
return 0;
}

static int subdev_s_std(struct v4l2_subdev *sd, v4l2_std_id std)
{
struct ivtv *itv = sd_to_ivtv(sd);
u16 mask, data;

mask = itv->card->gpio_audio_input.mask;
data = itv->card->gpio_audio_input.tuner;
if (mask)
write_reg((read_reg(IVTV_REG_GPIO_OUT) & ~mask) | (data & mask), IVTV_REG_GPIO_OUT);
return 0;
}

static int subdev_s_audio_routing(struct v4l2_subdev *sd,
u32 input, u32 output, u32 config)
{
Expand Down Expand Up @@ -344,7 +332,6 @@ static const struct v4l2_subdev_core_ops subdev_core_ops = {
.g_ctrl = subdev_g_ctrl,
.s_ctrl = subdev_s_ctrl,
.queryctrl = subdev_queryctrl,
.s_std = subdev_s_std,
};

static const struct v4l2_subdev_tuner_ops subdev_tuner_ops = {
Expand Down

0 comments on commit 1420d49

Please sign in to comment.