summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--linux/include/sound/tea575x-tuner.h1
-rw-r--r--linux/sound/i2c/other/tea575x-tuner.c8
2 files changed, 9 insertions, 0 deletions
diff --git a/linux/include/sound/tea575x-tuner.h b/linux/include/sound/tea575x-tuner.h
index e29915916..c85aeca78 100644
--- a/linux/include/sound/tea575x-tuner.h
+++ b/linux/include/sound/tea575x-tuner.h
@@ -39,6 +39,7 @@ struct snd_tea575x_ops {
#else
void (*write)(struct snd_tea575x *tea, unsigned int val);
unsigned int (*read)(struct snd_tea575x *tea);
+ void (*mute)(struct snd_tea575x *tea, unsigned int mute);
#endif
};
diff --git a/linux/sound/i2c/other/tea575x-tuner.c b/linux/sound/i2c/other/tea575x-tuner.c
index 4c100300c..6d1dc0f9f 100644
--- a/linux/sound/i2c/other/tea575x-tuner.c
+++ b/linux/sound/i2c/other/tea575x-tuner.c
@@ -166,6 +166,10 @@ static int snd_tea575x_ioctl(struct inode *inode, struct file *file,
struct video_audio v;
if(copy_from_user(&v, arg, sizeof(v)))
return -EFAULT;
+ if (tea->ops->mute)
+ tea->ops->mute(tea,
+ (v.flags &
+ VIDEO_AUDIO_MUTE) ? 1 : 0);
if(v.audio)
return -EINVAL;
return 0;
@@ -217,6 +221,10 @@ void snd_tea575x_init(struct snd_tea575x *tea)
tea->freq = 90500 * 16; /* 90.5Mhz default */
snd_tea575x_set_freq(tea);
+
+ /* mute on init */
+ if (tea->ops->mute)
+ tea->ops->mute(tea, 1);
}
#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,17)