Currently the modules dst.c and dst-ca.c are compiled in connection with 
dvb-bt8xx.c by default like a "siamese birth".
As the Pinnacle PCTVSAT DOES NOT NEED dst.c or dst-ca.c I invented this patch 
to save RAM.
This is something for users, perhaps for the mm-tree, but NOTHING for the 
vanilla mainline at all.
I would like to invite some developpers to see this thing through and offer a 
more sophisticated solution that
a. saves RAM
b. is not getting rid of support for dst.c and dst-ca.c
Signed-off-by: Uwe Bugla <[EMAIL PROTECTED]>
--- a/drivers/media/dvb/bt8xx/Makefile
+++ b/drivers/media/dvb/bt8xx/Makefile
@@ -1,3 +1,3 @@
-obj-$(CONFIG_DVB_BT8XX) += bt878.o dvb-bt8xx.o dst.o dst_ca.o
+obj-$(CONFIG_DVB_BT8XX) += bt878.o dvb-bt8xx.o
 
 EXTRA_CFLAGS = -Idrivers/media/dvb/dvb-core/ -Idrivers/media/video/bt8xx 
-Idrivers/media/dvb/frontends
--- a/drivers/media/dvb/bt8xx/dvb-bt8xx.c
+++ b/drivers/media/dvb/bt8xx/dvb-bt8xx.c
@@ -403,9 +403,6 @@
        .demod_init = advbt771_samsung_tdtc9251dh0_demod_init,
 };
 
-static struct dst_config dst_config = {
-       .demod_address = 0x55,
-};
 
 static int or51211_request_firmware(struct dvb_frontend* fe, const struct 
firmware **fw, char* name)
 {
@@ -568,34 +565,9 @@
        .demod_init = digitv_alps_tded4_demod_init,
 };
 
-static int tdvs_tua6034_tuner_set_params(struct dvb_frontend* fe, struct 
dvb_frontend_parameters* params)
-{
-       struct dvb_bt8xx_card *card = (struct dvb_bt8xx_card *) fe->dvb->priv;
-       return lg_h06xf_pll_set(fe, card->i2c_adapter, params);
-}
-
-static struct lgdt330x_config tdvs_tua6034_config = {
-       .demod_address    = 0x0e,
-       .demod_chip       = LGDT3303,
-       .serial_mpeg      = 0x40, /* TPSERIAL for 3303 in TOP_CONTROL */
-};
-
-static void lgdt330x_reset(struct dvb_bt8xx_card *bt)
-{
-       /* Set pin 27 of the lgdt3303 chip high to reset the frontend */
-
-       /* Pulse the reset line */
-       bttv_write_gpio(bt->bttv_nr, 0x00e00007, 0x00000001); /* High */
-       bttv_write_gpio(bt->bttv_nr, 0x00e00007, 0x00000000); /* Low  */
-       msleep(100);
-
-       bttv_write_gpio(bt->bttv_nr, 0x00e00007, 0x00000001); /* High */
-       msleep(100);
-}
 
 static void frontend_init(struct dvb_bt8xx_card *card, u32 type)
 {
-       struct dst_state* state = NULL;
 
        switch(type) {
        case BTTV_BOARD_DVICO_DVBT_LITE:
@@ -612,14 +584,6 @@
                }
                break;
 
-       case BTTV_BOARD_DVICO_FUSIONHDTV_5_LITE:
-               lgdt330x_reset(card);
-               card->fe = dvb_attach(lgdt330x_attach, &tdvs_tua6034_config, 
card->i2c_adapter);
-               if (card->fe != NULL) {
-                       card->fe->ops.tuner_ops.set_params = 
tdvs_tua6034_tuner_set_params;
-                       dprintk ("dvb_bt8xx: lgdt330x detected\n");
-               }
-               break;
 
        case BTTV_BOARD_NEBULA_DIGITV:
                /*
@@ -662,29 +626,6 @@
                }
                break;
 
-       case BTTV_BOARD_TWINHAN_DST:
-               /*      DST is not a frontend driver !!!                */
-               state = (struct dst_state *) kmalloc(sizeof (struct dst_state), 
GFP_KERNEL);
-               if (!state) {
-                       printk("dvb_bt8xx: No memory\n");
-                       break;
-               }
-               /*      Setup the Card                                  */
-               state->config = &dst_config;
-               state->i2c = card->i2c_adapter;
-               state->bt = card->bt;
-               state->dst_ca = NULL;
-               /*      DST is not a frontend, attaching the ASIC       */
-               if (dvb_attach(dst_attach, state, &card->dvb_adapter) == NULL) {
-                       printk("%s: Could not find a Twinhan DST.\n", 
__FUNCTION__);
-                       break;
-               }
-               /*      Attach other DST peripherals if any             */
-               /*      Conditional Access device                       */
-               card->fe = &state->frontend;
-               if (state->dst_hw_cap & DST_TYPE_HAS_CA)
-                       dvb_attach(dst_ca_attach, state, &card->dvb_adapter);
-               break;
 
        case BTTV_BOARD_PINNACLESAT:
                card->fe = dvb_attach(cx24110_attach, &pctvsat_config, 
card->i2c_adapter);
@@ -852,23 +797,6 @@
                /* A_PWRDN DA_SBR  DA_APP[0] PKTP=10 RISC_ENABLE FIFO_ENABLE*/
                break;
 
-       case BTTV_BOARD_TWINHAN_DST:
-               card->gpio_mode = 0x2204f2c;
-               card->op_sync_orin = BT878_RISC_SYNC_MASK;
-               card->irq_err_ignore = BT878_APABORT | BT878_ARIPERR |
-                                      BT878_APPERR | BT878_AFBUS;
-               /* 25,21,14,11,10,9,8,3,2 then
-                * 0x33 = 5,4,1,0
-                * A_SEL=SML, DA_MLB, DA_SBR,
-                * DA_SDR=f, fifo trigger = 32 DWORDS
-                * IOM = 0 == audio A/D
-                * DPM = 0 == digital audio mode
-                * == async data parallel port
-                * then 0x33 (13 is set by start_capture)
-                * DA_APP = async data parallel port,
-                * ACAP_EN = 1,
-                * RISC+FIFO ENABLE */
-               break;
 
        case BTTV_BOARD_PC_HDTV:
                card->gpio_mode = 0x0100EC7B;

-- 
GMX DSL-Flatrate 0,- Euro* - Überall, wo DSL verfügbar ist!
NEU: Jetzt bis zu 16.000 kBit/s! http://www.gmx.net/de/go/dsl

_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

Reply via email to