Edgar Toernig wrote: >Manu Abraham wrote: > > >>Edgar Toernig wrote: >> >> >> >>>The resulting codes is much cleaner than before and gives the same >>>behaviour as your 'minimal size patch'. >>> >>> >>I would prefer the individual card-sections/glue-logic to handle that >>part rather than the the common driver, leaving no options later. >> >> > >But these flags are _not effecting_ the glue-logic. Why is there >a 'the common driver'? Maybe because it handles the common part? > > From your previous post, >I don't touch _all modules_: > > bt878.c | 30 +++++++++------------------- > bt878.h | 5 ---- > dvb-bt8xx.c | 55 ++++++---------------------------------------------- > dvb-bt8xx.h | 2 - > 4 files changed, 18 insertions(+), 74 deletions(-) > >The resulting codes is much cleaner than before and gives the same >behaviour as your 'minimal size patch'. > and from your patch, +++ 0.4/drivers/media/dvb/bt8xx/dvb-bt8xx.c Sat, 07 Jan 2006 02:03:06 +0100 froese (kernel-dvb/h/9_dvb-bt8xx. 1.4 644) @@ -78,8 +78,7 @@ card->nfeeds++; rc = card->nfeeds; if (card->nfeeds == 1) - bt878_start(card->bt, card->gpio_mode, - card->op_sync_orin, card->irq_err_ignore); + bt878_start(card->bt, card->gpio_mode); up(&card->lock); return rc; } @@ -816,73 +815,33 @@ switch(sub->core->type) { case BTTV_BOARD_PINNACLESAT: - card->gpio_mode = 0x0400c060; - /* should be: BT878_A_GAIN=0,BT878_A_PWRDN,BT878_DA_DPM,BT878_DA_SBR, - BT878_DA_IOM=1,BT878_DA_APP to enable serial highspeed mode. */ - card->op_sync_orin = 0; - card->irq_err_ignore = 0; - break; - -#ifdef BTTV_BOARD_DVICO_DVBT_LITE case BTTV_BOARD_DVICO_DVBT_LITE: -#endif - card->gpio_mode = 0x0400C060; - card->op_sync_orin = 0; - card->irq_err_ignore = 0; - /* 26, 15, 14, 6, 5 - * A_PWRDN DA_DPM DA_SBR DA_IOM_DA - * DA_APP(parallel) */ - break; - -#ifdef BTTV_BOARD_DVICO_FUSIONHDTV_5_LITE case BTTV_BOARD_DVICO_FUSIONHDTV_5_LITE: -#endif - card->gpio_mode = 0x0400c060; - card->op_sync_orin = BT878_RISC_SYNC_MASK; - card->irq_err_ignore = BT878_AFBUS | BT878_AFDSR; + card->gpio_mode = 0x0400c060; /* high speed serial mode */ break; -#ifdef BTTV_BOARD_TWINHAN_VP3021 - case BTTV_BOARD_TWINHAN_VP3021: -#else case BTTV_BOARD_NEBULA_DIGITV: -#endif case BTTV_BOARD_AVDVBT_761: - card->gpio_mode = (1 << 26) | (1 << 14) | (1 << 5); - card->op_sync_orin = 0; - card->irq_err_ignore = 0; - /* A_PWRDN DA_SBR DA_APP (high speed serial) */ - break; - case BTTV_BOARD_AVDVBT_771: //case 0x07711461: - card->gpio_mode = 0x0400402B; - card->op_sync_orin = BT878_RISC_SYNC_MASK; - card->irq_err_ignore = 0; - /* A_PWRDN DA_SBR DA_APP[0] PKTP=10 RISC_ENABLE FIFO_ENABLE*/ + card->gpio_mode = 0x04004020; /* parallel mode */ 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; + card->gpio_mode = 0x2204f20; /* 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 + * DA_SDR=f, * 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; - card->op_sync_orin = 0; - card->irq_err_ignore = 0; + card->gpio_mode = 0x0100EC60; break; default: Manu