linux/drivers/media/pci/pluto2/pluto2.c

// SPDX-License-Identifier: GPL-2.0-or-later
/*
 * pluto2.c - Satelco Easywatch Mobile Terrestrial Receiver [DVB-T]
 *
 * Copyright (C) 2005 Andreas Oberritter <[email protected]>
 *
 * based on pluto2.c 1.10 - http://instinct-wp8.no-ip.org/pluto/
 *	by Dany Salman <[email protected]>
 *	Copyright (c) 2004 TDF
 */

#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)
{}

/* LG Innotek TDTE-E001P (Infineon TUA6034) */
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();