#include <linux/i2c.h>
#include <linux/i2c-algo-bit.h>
#include <linux/init.h>
#include <linux/interrupt.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/pci.h>
#include <linux/dma-mapping.h>
#include <linux/slab.h>
#include <media/rc-core.h>
#include <media/demux.h>
#include <media/dmxdev.h>
#include <media/dvb_demux.h>
#include <media/dvb_frontend.h>
#include <media/dvb_net.h>
#include <media/dvbdev.h>
#include "dvb-pll.h"
#include "stv0299.h"
#include "stv0288.h"
#include "stb6000.h"
#include "si21xx.h"
#include "cx24116.h"
#include "z0194a.h"
#include "ts2020.h"
#include "ds3000.h"
#define MODULE_NAME …
#define UNSET …
#define DM1105_BOARD_NOAUTO …
#define DM1105_BOARD_UNKNOWN …
#define DM1105_BOARD_DVBWORLD_2002 …
#define DM1105_BOARD_DVBWORLD_2004 …
#define DM1105_BOARD_AXESS_DM05 …
#define DM1105_BOARD_UNBRANDED_I2C_ON_GPIO …
#ifndef PCI_VENDOR_ID_TRIGEM
#define PCI_VENDOR_ID_TRIGEM …
#endif
#ifndef PCI_VENDOR_ID_AXESS
#define PCI_VENDOR_ID_AXESS …
#endif
#ifndef PCI_DEVICE_ID_DM1105
#define PCI_DEVICE_ID_DM1105 …
#endif
#ifndef PCI_DEVICE_ID_DW2002
#define PCI_DEVICE_ID_DW2002 …
#endif
#ifndef PCI_DEVICE_ID_DW2004
#define PCI_DEVICE_ID_DW2004 …
#endif
#ifndef PCI_DEVICE_ID_DM05
#define PCI_DEVICE_ID_DM05 …
#endif
#define DM1105_TSCTR …
#define DM1105_DTALENTH …
#define DM1105_GPIOVAL …
#define DM1105_GPIOCTR …
#define DM1105_PIDN …
#define DM1105_CWSEL …
#define DM1105_HOST_CTR …
#define DM1105_HOST_AD …
#define DM1105_CR …
#define DM1105_RST …
#define DM1105_STADR …
#define DM1105_RLEN …
#define DM1105_WRP …
#define DM1105_INTCNT …
#define DM1105_INTMAK …
#define DM1105_INTSTS …
#define DM1105_ODD …
#define DM1105_EVEN …
#define DM1105_PID …
#define DM1105_IRCTR …
#define DM1105_IRMODE …
#define DM1105_SYSTEMCODE …
#define DM1105_IRCODE …
#define DM1105_ENCRYPT …
#define DM1105_VER …
#define DM1105_I2CCTR …
#define DM1105_I2CSTS …
#define DM1105_I2CDAT …
#define DM1105_I2C_RA …
#define INTMAK_TSIRQM …
#define INTMAK_HIRQM …
#define INTMAK_IRM …
#define INTMAK_ALLMASK …
#define INTMAK_NONEMASK …
#define INTSTS_TSIRQ …
#define INTSTS_HIRQ …
#define INTSTS_IR …
#define DM1105_IR_EN …
#define DM1105_SYS_CHK …
#define DM1105_REP_FLG …
#define IIC_24C01_addr …
#define DM1105_MAX …
#define DRIVER_NAME …
#define DM1105_I2C_GPIO_NAME …
#define DM1105_DMA_PACKETS …
#define DM1105_DMA_PACKET_LENGTH …
#define DM1105_DMA_BYTES …
#define GPIO08 …
#define GPIO13 …
#define GPIO14 …
#define GPIO15 …
#define GPIO16 …
#define GPIO17 …
#define GPIO_ALL …
#define DM1105_LNB_MASK …
#define DM1105_LNB_OFF …
#define DM1105_LNB_13V …
#define DM1105_LNB_18V …
#define DM05_LNB_MASK …
#define DM05_LNB_OFF …
#define DM05_LNB_13V …
#define DM05_LNB_18V …
#define UNBR_LNB_MASK …
#define UNBR_LNB_OFF …
#define UNBR_LNB_13V …
#define UNBR_LNB_18V …
static unsigned int card[] = …;
module_param_array(…);
MODULE_PARM_DESC(…) …;
static int ir_debug;
module_param(ir_debug, int, 0644);
MODULE_PARM_DESC(…) …;
static unsigned int dm1105_devcount;
DVB_DEFINE_MOD_OPT_ADAPTER_NR(adapter_nr);
struct dm1105_board { … };
struct dm1105_subid { … };
static const struct dm1105_board dm1105_boards[] = …;
static const struct dm1105_subid dm1105_subids[] = …;
static void dm1105_card_list(struct pci_dev *pci)
{ … }
struct infrared { … };
struct dm1105_dev { … };
#define dm_io_mem(reg) …
#define dm_readb(reg) …
#define dm_writeb(reg, value) …
#define dm_readw(reg) …
#define dm_writew(reg, value) …
#define dm_readl(reg) …
#define dm_writel(reg, value) …
#define dm_andorl(reg, mask, value) …
#define dm_setl(reg, bit) …
#define dm_clearl(reg, bit) …
static void dm1105_gpio_set(struct dm1105_dev *dev, u32 mask)
{ … }
static void dm1105_gpio_clear(struct dm1105_dev *dev, u32 mask)
{ … }
static void dm1105_gpio_andor(struct dm1105_dev *dev, u32 mask, u32 val)
{ … }
static u32 dm1105_gpio_get(struct dm1105_dev *dev, u32 mask)
{ … }
static void dm1105_gpio_enable(struct dm1105_dev *dev, u32 mask, int asoutput)
{ … }
static void dm1105_setline(struct dm1105_dev *dev, u32 line, int state)
{ … }
static void dm1105_setsda(void *data, int state)
{ … }
static void dm1105_setscl(void *data, int state)
{ … }
static int dm1105_getsda(void *data)
{ … }
static int dm1105_getscl(void *data)
{ … }
static int dm1105_i2c_xfer(struct i2c_adapter *i2c_adap,
struct i2c_msg *msgs, int num)
{ … }
static u32 functionality(struct i2c_adapter *adap)
{ … }
static const struct i2c_algorithm dm1105_algo = …;
static inline struct dm1105_dev *feed_to_dm1105_dev(struct dvb_demux_feed *feed)
{ … }
static inline struct dm1105_dev *frontend_to_dm1105_dev(struct dvb_frontend *fe)
{ … }
static int dm1105_set_voltage(struct dvb_frontend *fe,
enum fe_sec_voltage voltage)
{ … }
static void dm1105_set_dma_addr(struct dm1105_dev *dev)
{ … }
static int dm1105_dma_map(struct dm1105_dev *dev)
{ … }
static void dm1105_dma_unmap(struct dm1105_dev *dev)
{ … }
static void dm1105_enable_irqs(struct dm1105_dev *dev)
{ … }
static void dm1105_disable_irqs(struct dm1105_dev *dev)
{ … }
static int dm1105_start_feed(struct dvb_demux_feed *f)
{ … }
static int dm1105_stop_feed(struct dvb_demux_feed *f)
{ … }
static void dm1105_emit_key(struct work_struct *work)
{ … }
static void dm1105_dmx_buffer(struct work_struct *work)
{ … }
static irqreturn_t dm1105_irq(int irq, void *dev_id)
{ … }
static int dm1105_ir_init(struct dm1105_dev *dm1105)
{ … }
static void dm1105_ir_exit(struct dm1105_dev *dm1105)
{ … }
static int dm1105_hw_init(struct dm1105_dev *dev)
{ … }
static void dm1105_hw_exit(struct dm1105_dev *dev)
{ … }
static const struct stv0299_config sharp_z0194a_config = …;
static struct stv0288_config earda_config = …;
static struct si21xx_config serit_config = …;
static struct cx24116_config serit_sp2633_config = …;
static struct ds3000_config dvbworld_ds3000_config = …;
static struct ts2020_config dvbworld_ts2020_config = …;
static int frontend_init(struct dm1105_dev *dev)
{ … }
static void dm1105_read_mac(struct dm1105_dev *dev, u8 *mac)
{ … }
static int dm1105_probe(struct pci_dev *pdev,
const struct pci_device_id *ent)
{ … }
static void dm1105_remove(struct pci_dev *pdev)
{ … }
static const struct pci_device_id dm1105_id_table[] = …;
MODULE_DEVICE_TABLE(pci, dm1105_id_table);
static struct pci_driver dm1105_driver = …;
module_pci_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;