V4L/DVB (11599): S2-1600: Use budget driver instead of budged-ci
authorAndreas Regel <andreas.regel@gmx.de>
Thu, 23 Apr 2009 17:59:36 +0000 (14:59 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Tue, 16 Jun 2009 21:20:41 +0000 (18:20 -0300)
Signed-off-by: Andreas Regel <andreas.regel@gmx.de>
Signed-off-by: Manu Abraham <manu@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/dvb/ttpci/budget-ci.c
drivers/media/dvb/ttpci/budget.c

index 351481d4c383972fe6bb6f86b6fc726c96587eb9..371a716168106e0698e299504594fe62c242198a 100644 (file)
@@ -53,9 +53,6 @@
 #include "bsru6.h"
 #include "tda1002x.h"
 #include "tda827x.h"
-#include "stv6110x.h"
-#include "stv090x.h"
-#include "isl6423.h"
 
 /*
  * Regarding DEBIADDR_IR:
@@ -1349,44 +1346,6 @@ static struct stb6100_config tt3200_stb6100_config = {
        .refclock       = 27000000,
 };
 
-static struct stv090x_config tt1600_stv090x_config = {
-       .device                 = STV0903,
-       .demod_mode             = STV090x_SINGLE,
-       .clk_mode               = STV090x_CLK_EXT,
-
-       .xtal                   = 27000000,
-       .address                = 0x68,
-       .ref_clk                = 27000000,
-
-       .ts1_mode               = STV090x_TSMODE_PARALLEL_PUNCTURED,
-       .ts2_mode               = STV090x_TSMODE_SERIAL_PUNCTURED,
-
-       .repeater_level         = STV090x_RPTLEVEL_16,
-
-       .tuner_init             = NULL,
-       .tuner_set_mode         = NULL,
-       .tuner_set_frequency    = NULL,
-       .tuner_get_frequency    = NULL,
-       .tuner_set_bandwidth    = NULL,
-       .tuner_get_bandwidth    = NULL,
-       .tuner_set_bbgain       = NULL,
-       .tuner_get_bbgain       = NULL,
-       .tuner_set_refclk       = NULL,
-       .tuner_get_status       = NULL,
-};
-
-static struct stv6110x_config tt1600_stv6110x_config = {
-       .addr                   = 0x60,
-       .refclk                 = 27000000,
-};
-
-static struct isl6423_config tt1600_isl6423_config = {
-       .current_max            = SEC_CURRENT_515m,
-       .curlim                 = SEC_CURRENT_LIM_ON,
-       .mod_extern             = 1,
-       .addr                   = 0x08,
-};
-
 static void frontend_init(struct budget_ci *budget_ci)
 {
        switch (budget_ci->budget.dev->pci->subsystem_device) {
@@ -1506,49 +1465,6 @@ static void frontend_init(struct budget_ci *budget_ci)
                }
                break;
 
-       case 0x101c: { /* TT S2-1600 */
-                       struct stv6110x_devctl *ctl;
-                       /* TODO! must verify with Andreas */
-                       saa7146_setgpio(budget_ci->budget.dev, 2, SAA7146_GPIO_OUTLO);
-                       msleep(50);
-                       saa7146_setgpio(budget_ci->budget.dev, 2, SAA7146_GPIO_OUTHI);
-                       msleep(250);
-
-                       budget_ci->budget.dvb_frontend = dvb_attach(stv090x_attach,
-                                                                   &tt1600_stv090x_config,
-                                                                   &budget_ci->budget.i2c_adap,
-                                                                   STV090x_DEMODULATOR_0);
-
-                       if (budget_ci->budget.dvb_frontend) {
-
-                               ctl = dvb_attach(stv6110x_attach,
-                                                budget_ci->budget.dvb_frontend,
-                                                &tt1600_stv6110x_config,
-                                                &budget_ci->budget.i2c_adap);
-
-                               tt1600_stv090x_config.tuner_init          = ctl->tuner_init;
-                               tt1600_stv090x_config.tuner_set_mode      = ctl->tuner_set_mode;
-                               tt1600_stv090x_config.tuner_set_frequency = ctl->tuner_set_frequency;
-                               tt1600_stv090x_config.tuner_get_frequency = ctl->tuner_get_frequency;
-                               tt1600_stv090x_config.tuner_set_bandwidth = ctl->tuner_set_bandwidth;
-                               tt1600_stv090x_config.tuner_get_bandwidth = ctl->tuner_get_bandwidth;
-                               tt1600_stv090x_config.tuner_set_bbgain    = ctl->tuner_set_bbgain;
-                               tt1600_stv090x_config.tuner_get_bbgain    = ctl->tuner_get_bbgain;
-                               tt1600_stv090x_config.tuner_set_refclk    = ctl->tuner_set_refclk;
-                               tt1600_stv090x_config.tuner_get_status    = ctl->tuner_get_status;
-
-                               dvb_attach(isl6423_attach,
-                                       budget_ci->budget.dvb_frontend,
-                                       &budget_ci->budget.i2c_adap,
-                                       &tt1600_isl6423_config);
-
-                       } else {
-                               dvb_frontend_detach(budget_ci->budget.dvb_frontend);
-                               budget_ci->budget.dvb_frontend = NULL;
-                       }
-               }
-               break;
-
        }
 
        if (budget_ci->budget.dvb_frontend == NULL) {
@@ -1640,7 +1556,6 @@ MAKE_BUDGET_INFO(ttbtci, "TT-Budget-T-CI PCI", BUDGET_TT);
 MAKE_BUDGET_INFO(ttbcci, "TT-Budget-C-CI PCI", BUDGET_TT);
 MAKE_BUDGET_INFO(ttc1501, "TT-Budget C-1501 PCI", BUDGET_TT);
 MAKE_BUDGET_INFO(tt3200, "TT-Budget S2-3200 PCI", BUDGET_TT);
-MAKE_BUDGET_INFO(tt1600, "TT-Budget S2-1600 PCI", BUDGET_TT);
 
 static struct pci_device_id pci_tbl[] = {
        MAKE_EXTENSION_PCI(ttbci, 0x13c2, 0x100c),
@@ -1651,7 +1566,6 @@ static struct pci_device_id pci_tbl[] = {
        MAKE_EXTENSION_PCI(ttbs2, 0x13c2, 0x1017),
        MAKE_EXTENSION_PCI(ttc1501, 0x13c2, 0x101a),
        MAKE_EXTENSION_PCI(tt3200, 0x13c2, 0x1019),
-       MAKE_EXTENSION_PCI(tt1600, 0x13c2, 0x101c),
        {
         .vendor = 0,
         }
index 83e9e7750c8cb1e382ddda99e901f7fef1514d48..07dced4e7e862c725029ac9675ac9a277ca95e85 100644 (file)
@@ -47,6 +47,9 @@
 #include "bsru6.h"
 #include "bsbe1.h"
 #include "tdhd1.h"
+#include "stv6110x.h"
+#include "stv090x.h"
+#include "isl6423.h"
 
 static int diseqc_method;
 module_param(diseqc_method, int, 0444);
@@ -425,6 +428,44 @@ static u8 read_pwm(struct budget* budget)
        return pwm;
 }
 
+static struct stv090x_config tt1600_stv090x_config = {
+       .device                 = STV0903,
+       .demod_mode             = STV090x_SINGLE,
+       .clk_mode               = STV090x_CLK_EXT,
+
+       .xtal                   = 27000000,
+       .address                = 0x68,
+       .ref_clk                = 27000000,
+
+       .ts1_mode               = STV090x_TSMODE_PARALLEL_PUNCTURED,
+       .ts2_mode               = STV090x_TSMODE_SERIAL_PUNCTURED,
+
+       .repeater_level         = STV090x_RPTLEVEL_16,
+
+       .tuner_init             = NULL,
+       .tuner_set_mode         = NULL,
+       .tuner_set_frequency    = NULL,
+       .tuner_get_frequency    = NULL,
+       .tuner_set_bandwidth    = NULL,
+       .tuner_get_bandwidth    = NULL,
+       .tuner_set_bbgain       = NULL,
+       .tuner_get_bbgain       = NULL,
+       .tuner_set_refclk       = NULL,
+       .tuner_get_status       = NULL,
+};
+
+static struct stv6110x_config tt1600_stv6110x_config = {
+       .addr                   = 0x60,
+       .refclk                 = 27000000,
+};
+
+static struct isl6423_config tt1600_isl6423_config = {
+       .current_max            = SEC_CURRENT_515m,
+       .curlim                 = SEC_CURRENT_LIM_ON,
+       .mod_extern             = 1,
+       .addr                   = 0x08,
+};
+
 static void frontend_init(struct budget *budget)
 {
        (void)alps_bsbe1_config; /* avoid warning */
@@ -566,6 +607,48 @@ static void frontend_init(struct budget *budget)
                        }
                        break;
                }
+
+       case 0x101c: { /* TT S2-1600 */
+                       struct stv6110x_devctl *ctl;
+                       saa7146_setgpio(budget->dev, 2, SAA7146_GPIO_OUTLO);
+                       msleep(50);
+                       saa7146_setgpio(budget->dev, 2, SAA7146_GPIO_OUTHI);
+                       msleep(250);
+
+                       budget->dvb_frontend = dvb_attach(stv090x_attach,
+                                                         &tt1600_stv090x_config,
+                                                         &budget->i2c_adap,
+                                                         STV090x_DEMODULATOR_0);
+
+                       if (budget->dvb_frontend) {
+
+                               ctl = dvb_attach(stv6110x_attach,
+                                                budget->dvb_frontend,
+                                                &tt1600_stv6110x_config,
+                                                &budget->i2c_adap);
+
+                               tt1600_stv090x_config.tuner_init          = ctl->tuner_init;
+                               tt1600_stv090x_config.tuner_set_mode      = ctl->tuner_set_mode;
+                               tt1600_stv090x_config.tuner_set_frequency = ctl->tuner_set_frequency;
+                               tt1600_stv090x_config.tuner_get_frequency = ctl->tuner_get_frequency;
+                               tt1600_stv090x_config.tuner_set_bandwidth = ctl->tuner_set_bandwidth;
+                               tt1600_stv090x_config.tuner_get_bandwidth = ctl->tuner_get_bandwidth;
+                               tt1600_stv090x_config.tuner_set_bbgain    = ctl->tuner_set_bbgain;
+                               tt1600_stv090x_config.tuner_get_bbgain    = ctl->tuner_get_bbgain;
+                               tt1600_stv090x_config.tuner_set_refclk    = ctl->tuner_set_refclk;
+                               tt1600_stv090x_config.tuner_get_status    = ctl->tuner_get_status;
+
+                               dvb_attach(isl6423_attach,
+                                       budget->dvb_frontend,
+                                       &budget->i2c_adap,
+                                       &tt1600_isl6423_config);
+
+                       } else {
+                               dvb_frontend_detach(budget->dvb_frontend);
+                               budget->dvb_frontend = NULL;
+                       }
+               }
+               break;
        }
 
        if (budget->dvb_frontend == NULL) {
@@ -641,6 +724,7 @@ MAKE_BUDGET_INFO(ttbc,      "TT-Budget/WinTV-NOVA-C  PCI",  BUDGET_TT);
 MAKE_BUDGET_INFO(ttbt, "TT-Budget/WinTV-NOVA-T  PCI",  BUDGET_TT);
 MAKE_BUDGET_INFO(satel,        "SATELCO Multimedia PCI",       BUDGET_TT_HW_DISEQC);
 MAKE_BUDGET_INFO(ttbs1401, "TT-Budget-S-1401 PCI", BUDGET_TT);
+MAKE_BUDGET_INFO(tt1600, "TT-Budget S2-1600 PCI", BUDGET_TT);
 MAKE_BUDGET_INFO(fsacs0, "Fujitsu Siemens Activy Budget-S PCI (rev GR/grundig frontend)", BUDGET_FS_ACTIVY);
 MAKE_BUDGET_INFO(fsacs1, "Fujitsu Siemens Activy Budget-S PCI (rev AL/alps frontend)", BUDGET_FS_ACTIVY);
 MAKE_BUDGET_INFO(fsact,         "Fujitsu Siemens Activy Budget-T PCI (rev GR/Grundig frontend)", BUDGET_FS_ACTIVY);
@@ -653,6 +737,7 @@ static struct pci_device_id pci_tbl[] = {
        MAKE_EXTENSION_PCI(satel, 0x13c2, 0x1013),
        MAKE_EXTENSION_PCI(ttbs,  0x13c2, 0x1016),
        MAKE_EXTENSION_PCI(ttbs1401, 0x13c2, 0x1018),
+       MAKE_EXTENSION_PCI(tt1600, 0x13c2, 0x101c),
        MAKE_EXTENSION_PCI(fsacs1,0x1131, 0x4f60),
        MAKE_EXTENSION_PCI(fsacs0,0x1131, 0x4f61),
        MAKE_EXTENSION_PCI(fsact1, 0x1131, 0x5f60),