#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/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 "tda1004x.h"
DVB_DEFINE_MOD_OPT_ADAPTER_NR(adapter_nr);
#define DRIVER_NAME …
#define REG_PIDn(n) …
#define REG_PCAR …
#define REG_TSCR …
#define REG_MISC …
#define REG_MMAC …
#define REG_IMAC …
#define REG_LMAC …
#define REG_SPID …
#define REG_SLCS …
#define PID0_NOFIL …
#define PIDn_ENP …
#define PID0_END …
#define PID0_AFIL …
#define PIDn_PID …
#define TSCR_NBPACKETS …
#define TSCR_DEM …
#define TSCR_DE …
#define TSCR_RSTN …
#define TSCR_MSKO …
#define TSCR_MSKA …
#define TSCR_MSKL …
#define TSCR_OVR …
#define TSCR_AFUL …
#define TSCR_LOCK …
#define TSCR_IACK …
#define TSCR_ADEF …
#define MISC_DVR …
#define MISC_ALED …
#define MISC_FRST …
#define MISC_LED1 …
#define MISC_LED0 …
#define SPID_SPIDR …
#define SLCS_SCL …
#define SLCS_SDA …
#define SLCS_CSN …
#define SLCS_OVR …
#define SLCS_SWC …
#define TS_DMA_PACKETS …
#define TS_DMA_BYTES …
#define I2C_ADDR_TDA10046 …
#define I2C_ADDR_TUA6034 …
#define NHWFILTERS …
struct pluto { … };
static inline struct pluto *feed_to_pluto(struct dvb_demux_feed *feed)
{ … }
static inline struct pluto *frontend_to_pluto(struct dvb_frontend *fe)
{ … }
static inline u32 pluto_readreg(struct pluto *pluto, u32 reg)
{ … }
static inline void pluto_writereg(struct pluto *pluto, u32 reg, u32 val)
{ … }
static inline void pluto_rw(struct pluto *pluto, u32 reg, u32 mask, u32 bits)
{ … }
static void pluto_write_tscr(struct pluto *pluto, u32 val)
{ … }
static void pluto_setsda(void *data, int state)
{ … }
static void pluto_setscl(void *data, int state)
{ … }
static int pluto_getsda(void *data)
{ … }
static int pluto_getscl(void *data)
{ … }
static void pluto_reset_frontend(struct pluto *pluto, int reenable)
{ … }
static void pluto_reset_ts(struct pluto *pluto, int reenable)
{ … }
static void pluto_set_dma_addr(struct pluto *pluto)
{ … }
static int pluto_dma_map(struct pluto *pluto)
{ … }
static void pluto_dma_unmap(struct pluto *pluto)
{ … }
static int pluto_start_feed(struct dvb_demux_feed *f)
{ … }
static int pluto_stop_feed(struct dvb_demux_feed *f)
{ … }
static void pluto_dma_end(struct pluto *pluto, unsigned int nbpackets)
{ … }
static irqreturn_t pluto_irq(int irq, void *dev_id)
{ … }
static void pluto_enable_irqs(struct pluto *pluto)
{ … }
static void pluto_disable_irqs(struct pluto *pluto)
{ … }
static int pluto_hw_init(struct pluto *pluto)
{ … }
static void pluto_hw_exit(struct pluto *pluto)
{ … }
static inline u32 divide(u32 numerator, u32 denominator)
{ … }
static int lg_tdtpe001p_tuner_set_params(struct dvb_frontend *fe)
{ … }
static int pluto2_request_firmware(struct dvb_frontend *fe,
const struct firmware **fw, char *name)
{ … }
static struct tda1004x_config pluto2_fe_config = …;
static int frontend_init(struct pluto *pluto)
{ … }
static void pluto_read_rev(struct pluto *pluto)
{ … }
static void pluto_read_mac(struct pluto *pluto, u8 *mac)
{ … }
static int pluto_read_serial(struct pluto *pluto)
{ … }
static int pluto2_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
{ … }
static void pluto2_remove(struct pci_dev *pdev)
{ … }
#ifndef PCI_VENDOR_ID_SCM
#define PCI_VENDOR_ID_SCM …
#endif
#ifndef PCI_DEVICE_ID_PLUTO2
#define PCI_DEVICE_ID_PLUTO2 …
#endif
static const struct pci_device_id pluto2_id_table[] = …;
MODULE_DEVICE_TABLE(pci, pluto2_id_table);
static struct pci_driver pluto2_driver = …;
module_pci_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;