#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 extern int budget_debug; struct budget_info { char *name; int type; }; /* 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 budget_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 MAKE_BUDGET_INFO(x_var,x_name,x_type) \ static struct budget_info x_var ## _info = { \ .name=x_name, \ .type=x_type }; \ static struct saa7146_pci_extension_data x_var = { \ .ext_priv = &x_var ## _info, \ .ext = &budget_extension }; #define TS_WIDTH (4*188) #define TS_HEIGHT (1024/4) #define TS_BUFLEN (TS_WIDTH*TS_HEIGHT) #define BUDGET_TT 0 #define BUDGET_TT_HW_DISEQC 1 #define BUDGET_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_pci_extension_data *info); int budget_detach (struct saa7146_dev *); int budget_register(struct budget_s *budget); #endif