The patch number 10506 was added via Mauro Carvalho Chehab <mche...@redhat.com>
to http://linuxtv.org/hg/v4l-dvb master development tree.

Kernel patches in this development tree may be modified to be backward
compatible with older kernels. Compatibility modifications will be
removed before inclusion into the mainstream Kernel

If anyone has any objections, please let us know by sending a message to:
        Linux Media Mailing List <linux-me...@vger.kernel.org>

------

From: Mauro Carvalho Chehab  <mche...@redhat.com>
saa7134: move tuner init code to saa7134-cards


On certain devices, before opening a tuner, we need to open the tuner
gate via i2c.

This patch just moves the tuner probing code to the same place where
such i2c commands are handled, to make easier to fix this trouble on
later patches.

Priority: normal

Signed-off-by: Mauro Carvalho Chehab <mche...@redhat.com>


---

 linux/drivers/media/video/saa7134/saa7134-cards.c |   24 ++++++++++++++
 linux/drivers/media/video/saa7134/saa7134-core.c  |   24 --------------
 2 files changed, 24 insertions(+), 24 deletions(-)

diff -r aa153b84d997 -r 5bad8b1eec7b 
linux/drivers/media/video/saa7134/saa7134-cards.c
--- a/linux/drivers/media/video/saa7134/saa7134-cards.c Sun Feb 08 09:42:29 
2009 -0200
+++ b/linux/drivers/media/video/saa7134/saa7134-cards.c Sun Feb 08 09:50:50 
2009 -0200
@@ -6300,6 +6300,30 @@ int saa7134_board_init2(struct saa7134_d
        unsigned char buf;
        int board;
 
+       /* initialize hardware #2 */
+       if (TUNER_ABSENT != dev->tuner_type) {
+               int has_demod = (dev->tda9887_conf & TDA9887_PRESENT);
+
+               /* Note: radio tuner address is always filled in,
+                  so we do not need to probe for a radio tuner device. */
+               if (dev->radio_type != UNSET)
+                       v4l2_i2c_new_subdev(&dev->i2c_adap,
+                               "tuner", "tuner", dev->radio_addr);
+               if (has_demod)
+                       v4l2_i2c_new_probed_subdev(&dev->i2c_adap, "tuner",
+                               "tuner", v4l2_i2c_tuner_addrs(ADDRS_DEMOD));
+               if (dev->tuner_addr == ADDR_UNSET) {
+                       enum v4l2_i2c_tuner_type type =
+                               has_demod ? ADDRS_TV_WITH_DEMOD : ADDRS_TV;
+
+                       v4l2_i2c_new_probed_subdev(&dev->i2c_adap, "tuner",
+                               "tuner", v4l2_i2c_tuner_addrs(type));
+               } else {
+                       v4l2_i2c_new_subdev(&dev->i2c_adap,
+                               "tuner", "tuner", dev->tuner_addr);
+               }
+       }
+
        switch (dev->board) {
        case SAA7134_BOARD_BMK_MPEX_NOTUNER:
        case SAA7134_BOARD_BMK_MPEX_TUNER:
diff -r aa153b84d997 -r 5bad8b1eec7b 
linux/drivers/media/video/saa7134/saa7134-core.c
--- a/linux/drivers/media/video/saa7134/saa7134-core.c  Sun Feb 08 09:42:29 
2009 -0200
+++ b/linux/drivers/media/video/saa7134/saa7134-core.c  Sun Feb 08 09:50:50 
2009 -0200
@@ -1034,30 +1034,6 @@ static int __devinit saa7134_initdev(str
        /* wait a bit, register i2c bus */
        msleep(100);
        saa7134_i2c_register(dev);
-
-       /* initialize hardware #2 */
-       if (TUNER_ABSENT != dev->tuner_type) {
-               int has_demod = (dev->tda9887_conf & TDA9887_PRESENT);
-
-               /* Note: radio tuner address is always filled in,
-                  so we do not need to probe for a radio tuner device. */
-               if (dev->radio_type != UNSET)
-                       v4l2_i2c_new_subdev(&dev->i2c_adap,
-                               "tuner", "tuner", dev->radio_addr);
-               if (has_demod)
-                       v4l2_i2c_new_probed_subdev(&dev->i2c_adap, "tuner",
-                               "tuner", v4l2_i2c_tuner_addrs(ADDRS_DEMOD));
-               if (dev->tuner_addr == ADDR_UNSET) {
-                       enum v4l2_i2c_tuner_type type =
-                               has_demod ? ADDRS_TV_WITH_DEMOD : ADDRS_TV;
-
-                       v4l2_i2c_new_probed_subdev(&dev->i2c_adap, "tuner",
-                               "tuner", v4l2_i2c_tuner_addrs(type));
-               } else {
-                       v4l2_i2c_new_subdev(&dev->i2c_adap,
-                               "tuner", "tuner", dev->tuner_addr);
-               }
-       }
        saa7134_board_init2(dev);
 
        saa7134_hwinit2(dev);


---

Patch is available at: 
http://linuxtv.org/hg/v4l-dvb/rev/5bad8b1eec7b8d353487997baeb627468c3898a0

_______________________________________________
linuxtv-commits mailing list
linuxtv-commits@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits

Reply via email to