#ifndef __BUDGET_DVB__ #define __BUDGET_DVB__ #include "dvb_i2c.h" #include "dvb_frontend.h" #include "dvbdev.h" #include "demux.h" #include "dvb_demux.h" #include "dmxdev.h" #include "dvb_filter.h" #include "dvb_net.h" #include "saa7146.h" #if 1 #define DEBUG_PROLOG printk("%s: %s(): ",__stringify(KBUILD_MODNAME),__FUNCTION__) #define DEB_S(x) if (0!=(budget_debug&0x01)) { DEBUG_PROLOG; printk x; } /* simple debug messages */ #define DEB_D(x) if (0!=(budget_debug&0x02)) { DEBUG_PROLOG; printk x; } /* more detailed debug messages */ #define DEB_EE(x) if (0!=(budget_debug&0x04)) { DEBUG_PROLOG; printk x; } /* print enter and exit of functions */ #else #define DEB_S(x) #define DEB_D(x) #define DEB_EE(x) #endif /* place to store all the necessary device information */ struct budget_s { /* devices */ struct dvb_device dvb_dev; dvb_net_t dvb_net; struct saa7146_dev *dev; struct dvb_i2c_bus *i2c_bus; struct saa7146_sub_info *card; unsigned char *grabbing; struct saa7146_pgtable pt; struct tasklet_struct fidb_tasklet; dmxdev_t dmxdev; struct dvb_demux demux; char demux_id[16]; dmx_frontend_t hw_frontend; dmx_frontend_t mem_frontend; int fe_synced; struct semaphore pid_mutex; int tsf; u32 ttbp; int feeding; int registered; struct dvb_adapter *dvb_adapter; void *priv; }; #define TS_WIDTH (4*188) #define TS_HEIGHT (1024/4) #define TS_BUFLEN (TS_WIDTH*TS_HEIGHT) #define DVB_CARD_TT_BUDGET 0 #define DVB_CARD_TT_BUDGET_CI 1 #define DVB_CARD_KNC1 2 int budget_probe(struct saa7146_dev *, unsigned int subvendor, unsigned int subdevice); void budget_irq(struct saa7146_dev *, u32 *isr); int budget_attach (struct saa7146_dev* dev, struct saa7146_sub_info *info); int budget_detach (struct saa7146_dev *); int budget_register(struct budget_s *budget); #endif