]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
[media] tea575x-tuner: move HW init to a separate function
authorOndrej Zary <linux@rainbow-software.org>
Tue, 14 May 2013 19:54:43 +0000 (16:54 -0300)
committerMauro Carvalho Chehab <m.chehab@samsung.com>
Fri, 26 Jul 2013 16:32:15 +0000 (13:32 -0300)
Move HW initialization to separate function to allow using the code without
the v4l parts. This is needed for use in the bttv driver.

Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
include/sound/tea575x-tuner.h
sound/i2c/other/tea575x-tuner.c

index 098c4de4494573a3ecbb5f697d9fc9a34f8416a7..2d4fa59db9021059b387b7df5145b7a615c81007 100644 (file)
@@ -71,6 +71,7 @@ struct snd_tea575x {
        int (*ext_init)(struct snd_tea575x *tea);
 };
 
+int snd_tea575x_hw_init(struct snd_tea575x *tea);
 int snd_tea575x_init(struct snd_tea575x *tea, struct module *owner);
 void snd_tea575x_exit(struct snd_tea575x *tea);
 void snd_tea575x_set_freq(struct snd_tea575x *tea);
index 8a36a1d9803fbf305bdbcc2bca35c961c4643f5f..46ec4dff094ba566ee28018167e244065734b074 100644 (file)
@@ -486,13 +486,9 @@ static const struct v4l2_ctrl_ops tea575x_ctrl_ops = {
        .s_ctrl = tea575x_s_ctrl,
 };
 
-/*
- * initialize all the tea575x chips
- */
-int snd_tea575x_init(struct snd_tea575x *tea, struct module *owner)
-{
-       int retval;
 
+int snd_tea575x_hw_init(struct snd_tea575x *tea)
+{
        tea->mute = true;
 
        /* Not all devices can or know how to read the data back.
@@ -507,6 +503,17 @@ int snd_tea575x_init(struct snd_tea575x *tea, struct module *owner)
        tea->freq = 90500 * 16;         /* 90.5Mhz default */
        snd_tea575x_set_freq(tea);
 
+       return 0;
+}
+EXPORT_SYMBOL(snd_tea575x_hw_init);
+
+int snd_tea575x_init(struct snd_tea575x *tea, struct module *owner)
+{
+       int retval = snd_tea575x_hw_init(tea);
+
+       if (retval)
+               return retval;
+
        tea->vd = tea575x_radio;
        video_set_drvdata(&tea->vd, tea);
        mutex_init(&tea->mutex);