#include "ivtv-driver.h"
#include "ivtv-version.h"
#include "ivtv-fileops.h"
#include "ivtv-i2c.h"
#include "ivtv-firmware.h"
#include "ivtv-queue.h"
#include "ivtv-udma.h"
#include "ivtv-irq.h"
#include "ivtv-mailbox.h"
#include "ivtv-streams.h"
#include "ivtv-ioctl.h"
#include "ivtv-cards.h"
#include "ivtv-vbi.h"
#include "ivtv-routing.h"
#include "ivtv-controls.h"
#include "ivtv-gpio.h"
#include <linux/dma-mapping.h>
#include <media/tveeprom.h>
#include <media/i2c/saa7115.h>
#include "xc2028.h"
#include <uapi/linux/sched/types.h>
int ivtv_first_minor;
int (*ivtv_ext_init)(struct ivtv *);
EXPORT_SYMBOL(…);
static const struct pci_device_id ivtv_pci_tbl[] = …;
MODULE_DEVICE_TABLE(pci,ivtv_pci_tbl);
static atomic_t ivtv_instance = …;
static int cardtype[IVTV_MAX_CARDS];
static int tuner[IVTV_MAX_CARDS] = …;
static int radio[IVTV_MAX_CARDS] = …;
static int i2c_clock_period[IVTV_MAX_CARDS] = …;
static unsigned int cardtype_c = …;
static unsigned int tuner_c = …;
static int radio_c = …;
static unsigned int i2c_clock_period_c = …;
static char pal[] = …;
static char secam[] = …;
static char ntsc[] = …;
#define IVTV_DEFAULT_ENC_MPG_BUFFERS …
#define IVTV_DEFAULT_ENC_YUV_BUFFERS …
#define IVTV_DEFAULT_ENC_VBI_BUFFERS …
#define IVTV_DEFAULT_ENC_PCM_BUFFERS …
#define IVTV_DEFAULT_DEC_MPG_BUFFERS …
#define IVTV_DEFAULT_DEC_YUV_BUFFERS …
#define IVTV_DEFAULT_DEC_VBI_BUFFERS …
static int enc_mpg_buffers = …;
static int enc_yuv_buffers = …;
static int enc_vbi_buffers = …;
static int enc_pcm_buffers = …;
static int dec_mpg_buffers = …;
static int dec_yuv_buffers = …;
static int dec_vbi_buffers = …;
static int ivtv_yuv_mode;
static int ivtv_yuv_threshold = …;
static int ivtv_pci_latency = …;
int ivtv_debug;
#ifdef CONFIG_VIDEO_ADV_DEBUG
int ivtv_fw_debug;
#endif
static int tunertype = …;
static int newi2c = …;
module_param_array(…);
module_param_array(…);
module_param_array(…);
module_param_string(…);
module_param_string(…);
module_param_string(…);
module_param_named(debug,ivtv_debug, int, 0644);
#ifdef CONFIG_VIDEO_ADV_DEBUG
module_param_named(fw_debug, ivtv_fw_debug, int, 0644);
#endif
module_param(ivtv_pci_latency, int, 0644);
module_param(ivtv_yuv_mode, int, 0644);
module_param(ivtv_yuv_threshold, int, 0644);
module_param(ivtv_first_minor, int, 0644);
module_param(enc_mpg_buffers, int, 0644);
module_param(enc_yuv_buffers, int, 0644);
module_param(enc_vbi_buffers, int, 0644);
module_param(enc_pcm_buffers, int, 0644);
module_param(dec_mpg_buffers, int, 0644);
module_param(dec_yuv_buffers, int, 0644);
module_param(dec_vbi_buffers, int, 0644);
module_param(tunertype, int, 0644);
module_param(newi2c, int, 0644);
module_param_array(…);
MODULE_PARM_DESC(…) …;
MODULE_PARM_DESC(…) …;
MODULE_PARM_DESC(…) …;
MODULE_PARM_DESC(…) …;
MODULE_PARM_DESC(…) …;
MODULE_PARM_DESC(…) …;
MODULE_PARM_DESC(…) …;
MODULE_PARM_DESC(…) …;
#ifdef CONFIG_VIDEO_ADV_DEBUG
MODULE_PARM_DESC(…) …;
#endif
MODULE_PARM_DESC(…) …;
MODULE_PARM_DESC(…) …;
MODULE_PARM_DESC(…) …;
MODULE_PARM_DESC(…) …;
MODULE_PARM_DESC(…) …;
MODULE_PARM_DESC(…) …;
MODULE_PARM_DESC(…) …;
MODULE_PARM_DESC(…) …;
MODULE_PARM_DESC(…) …;
MODULE_PARM_DESC(…) …;
MODULE_PARM_DESC(…) …;
MODULE_PARM_DESC(…) …;
MODULE_PARM_DESC(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;
MODULE_VERSION(…);
#if defined(CONFIG_MODULES) && defined(MODULE)
static void request_module_async(struct work_struct *work)
{
struct ivtv *dev = container_of(work, struct ivtv, request_module_wk);
request_module("ivtv-alsa");
if (ivtv_ext_init != NULL)
ivtv_ext_init(dev);
}
static void request_modules(struct ivtv *dev)
{
INIT_WORK(&dev->request_module_wk, request_module_async);
schedule_work(&dev->request_module_wk);
}
static void flush_request_modules(struct ivtv *dev)
{
flush_work(&dev->request_module_wk);
}
#else
#define request_modules(dev) …
#define flush_request_modules(dev) …
#endif
void ivtv_clear_irq_mask(struct ivtv *itv, u32 mask)
{ … }
void ivtv_set_irq_mask(struct ivtv *itv, u32 mask)
{ … }
int ivtv_set_output_mode(struct ivtv *itv, int mode)
{ … }
struct ivtv_stream *ivtv_get_output_stream(struct ivtv *itv)
{ … }
int ivtv_waitq(wait_queue_head_t *waitq)
{ … }
int ivtv_msleep_timeout(unsigned int msecs, int intr)
{ … }
void ivtv_read_eeprom(struct ivtv *itv, struct tveeprom *tv)
{ … }
static void ivtv_process_eeprom(struct ivtv *itv)
{ … }
static v4l2_std_id ivtv_parse_std(struct ivtv *itv)
{ … }
static void ivtv_process_options(struct ivtv *itv)
{ … }
static int ivtv_init_struct1(struct ivtv *itv)
{ … }
static void ivtv_init_struct2(struct ivtv *itv)
{ … }
static int ivtv_setup_pci(struct ivtv *itv, struct pci_dev *pdev,
const struct pci_device_id *pci_id)
{ … }
static void ivtv_load_and_init_modules(struct ivtv *itv)
{ … }
static int ivtv_probe(struct pci_dev *pdev, const struct pci_device_id *pci_id)
{ … }
int ivtv_init_on_first_open(struct ivtv *itv)
{ … }
static void ivtv_remove(struct pci_dev *pdev)
{ … }
static struct pci_driver ivtv_pci_driver = …;
static int __init module_start(void)
{ … }
static void __exit module_cleanup(void)
{ … }
EXPORT_SYMBOL(…);
EXPORT_SYMBOL(…);
EXPORT_SYMBOL(…);
EXPORT_SYMBOL(…);
EXPORT_SYMBOL(…);
EXPORT_SYMBOL(…);
#ifdef CONFIG_VIDEO_ADV_DEBUG
EXPORT_SYMBOL(…);
#endif
EXPORT_SYMBOL(…);
EXPORT_SYMBOL(…);
EXPORT_SYMBOL(…);
EXPORT_SYMBOL(…);
EXPORT_SYMBOL(…);
EXPORT_SYMBOL(…);
EXPORT_SYMBOL(…);
module_init(…) …;
module_exit(module_cleanup);