linux/drivers/media/pci/cx88/cx88-cards.c

// SPDX-License-Identifier: GPL-2.0-or-later
/*
 * device driver for Conexant 2388x based TV cards
 * card-specific stuff.
 *
 * (c) 2003 Gerd Knorr <[email protected]> [SuSE Labs]
 */

#include "cx88.h"
#include "tea5767.h"
#include "xc4000.h"

#include <linux/init.h>
#include <linux/module.h>
#include <linux/pci.h>
#include <linux/delay.h>
#include <linux/slab.h>

static unsigned int tuner[] =;
static unsigned int radio[] =;
static unsigned int card[]  =;

module_param_array();
module_param_array();
module_param_array();

MODULE_PARM_DESC();
MODULE_PARM_DESC();
MODULE_PARM_DESC();

static unsigned int latency =;
module_param(latency, int, 0444);
MODULE_PARM_DESC();

static int disable_ir;
module_param(disable_ir, int, 0444);
MODULE_PARM_DESC();

#define dprintk(level, fmt, arg...)

/* ------------------------------------------------------------------ */
/* board config info                                                  */

/* If radio_type !=UNSET, radio_addr should be specified
 */

static const struct cx88_board cx88_boards[] =;

/* ------------------------------------------------------------------ */
/* PCI subsystem IDs                                                  */

static const struct cx88_subid cx88_subids[] =;

/*
 * some leadtek specific stuff
 */
static void leadtek_eeprom(struct cx88_core *core, u8 *eeprom_data)
{}

static void hauppauge_eeprom(struct cx88_core *core, u8 *eeprom_data)
{}

/*
 * some GDI (was: Modular Technology) specific stuff
 */

static const struct {} gdi_tuner[] =;

static void gdi_eeprom(struct cx88_core *core, u8 *eeprom_data)
{}

/*
 * some Divco specific stuff
 */
static int cx88_dvico_xc2028_callback(struct cx88_core *core,
				      int command, int arg)
{}

/*
 * some Geniatech specific stuff
 */

static int cx88_xc3028_geniatech_tuner_callback(struct cx88_core *core,
						int command, int mode)
{}

static int cx88_xc3028_winfast1800h_callback(struct cx88_core *core,
					     int command, int arg)
{}

static int cx88_xc4000_winfast2000h_plus_callback(struct cx88_core *core,
						  int command, int arg)
{}

/*
 * some Divco specific stuff
 */
static int cx88_pv_8000gt_callback(struct cx88_core *core,
				   int command, int arg)
{}

/*
 * some DViCO specific stuff
 */

static void dvico_fusionhdtv_hybrid_init(struct cx88_core *core)
{}

static int cx88_xc2028_tuner_callback(struct cx88_core *core,
				      int command, int arg)
{}

static int cx88_xc4000_tuner_callback(struct cx88_core *core,
				      int command, int arg)
{}

/*
 * Tuner callback function. Currently only needed for the Pinnacle
 * PCTV HD 800i with an xc5000 silicon tuner. This is used for both
 * analog tuner attach (tuner-core.c) and dvb tuner attach (cx88-dvb.c)
 */
static int cx88_xc5000_tuner_callback(struct cx88_core *core,
				      int command, int arg)
{}

int cx88_tuner_callback(void *priv, int component, int command, int arg)
{}
EXPORT_SYMBOL();

/* ----------------------------------------------------------------------- */

static void cx88_card_list(struct cx88_core *core, struct pci_dev *pci)
{}

static void cx88_card_setup_pre_i2c(struct cx88_core *core)
{}

/*
 * Sets board-dependent xc3028 configuration
 */
void cx88_setup_xc3028(struct cx88_core *core, struct xc2028_ctrl *ctl)
{}
EXPORT_SYMBOL_GPL();

static void cx88_card_setup(struct cx88_core *core)
{}

/* ------------------------------------------------------------------ */

static int cx88_pci_quirks(const char *name, struct pci_dev *pci)
{}

int cx88_get_resources(const struct cx88_core *core, struct pci_dev *pci)
{}

/*
 * Allocate and initialize the cx88 core struct.  One should hold the
 * devlist mutex before calling this.
 */
struct cx88_core *cx88_core_create(struct pci_dev *pci, int nr)
{}