diff options
author | Frank Schaefer <fschaefer.oss@googlemail.com> | 2013-03-21 13:51:17 -0300 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2013-03-23 11:31:49 -0300 |
commit | 5f45678173a79661409375ffa8b5c297cb932aad (patch) | |
tree | b694597094fb1392bf1456b3272ba53bdbf3c992 | |
parent | 2166f0a9710413ea60bd72a4983de11b764468e4 (diff) |
[media] bttv: separate GPIO part from function audio_mux()
Move the GPIO part of function audio_mux() to a separate function
audio_mux_gpio().
This prepares the code for the next patch which will separate mute and input
setting.
Signed-off-by: Frank Schäfer <fschaefer.oss@googlemail.com>
Acked-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
-rw-r--r-- | drivers/media/pci/bt8xx/bttv-driver.c | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/drivers/media/pci/bt8xx/bttv-driver.c b/drivers/media/pci/bt8xx/bttv-driver.c index 81ee70d93189..f1cb0dbf34e3 100644 --- a/drivers/media/pci/bt8xx/bttv-driver.c +++ b/drivers/media/pci/bt8xx/bttv-driver.c @@ -989,11 +989,10 @@ static char *audio_modes[] = { "audio: intern", "audio: mute" }; -static int -audio_mux(struct bttv *btv, int input, int mute) +static void +audio_mux_gpio(struct bttv *btv, int input, int mute) { int gpio_val, signal, mute_gpio; - struct v4l2_ctrl *ctrl; gpio_inout(bttv_tvcards[btv->c.type].gpiomask, bttv_tvcards[btv->c.type].gpiomask); @@ -1020,8 +1019,14 @@ audio_mux(struct bttv *btv, int input, int mute) if (bttv_gpio) bttv_gpio_tracking(btv, audio_modes[mute_gpio ? 4 : input]); - if (in_interrupt()) - return 0; +} + +static int +audio_mux(struct bttv *btv, int input, int mute) +{ + struct v4l2_ctrl *ctrl; + + audio_mux_gpio(btv, input, mute); if (btv->sd_msp34xx) { u32 in; @@ -3846,7 +3851,8 @@ static irqreturn_t bttv_irq(int irq, void *dev_id) bttv_irq_switch_video(btv); if ((astat & BT848_INT_HLOCK) && btv->opt_automute) - audio_mute(btv, btv->mute); /* trigger automute */ + /* trigger automute */ + audio_mux_gpio(btv, btv->audio_input, btv->mute); if (astat & (BT848_INT_SCERR|BT848_INT_OCERR)) { pr_info("%d: %s%s @ %08x,", |