#include <linux/init.h>
#include <linux/module.h>
#include <linux/moduleparam.h>
#include <linux/kmod.h>
#include <linux/kernel.h>
#include <linux/slab.h>
#include <linux/interrupt.h>
#include <linux/delay.h>
#include "netup_unidvb.h"
#define CAM0_CONFIG …
#define CAM0_IO …
#define CAM0_MEM …
#define CAM0_SZ …
#define CAM1_CONFIG …
#define CAM1_IO …
#define CAM1_MEM …
#define CAM1_SZ …
#define CAM_CTRLSTAT_READ_SET …
#define CAM_CTRLSTAT_CLR …
#define BIT_CAM_STCHG …
#define BIT_CAM_PRESENT …
#define BIT_CAM_RESET …
#define BIT_CAM_BYPASS …
#define BIT_CAM_READY …
#define BIT_CAM_ERROR …
#define BIT_CAM_OVERCURR …
#define CAM1_SHIFT …
irqreturn_t netup_ci_interrupt(struct netup_unidvb_dev *ndev)
{ … }
static int netup_unidvb_ci_slot_ts_ctl(struct dvb_ca_en50221 *en50221,
int slot)
{ … }
static int netup_unidvb_ci_slot_shutdown(struct dvb_ca_en50221 *en50221,
int slot)
{ … }
static int netup_unidvb_ci_slot_reset(struct dvb_ca_en50221 *en50221,
int slot)
{ … }
static int netup_unidvb_poll_ci_slot_status(struct dvb_ca_en50221 *en50221,
int slot, int open)
{ … }
static int netup_unidvb_ci_read_attribute_mem(struct dvb_ca_en50221 *en50221,
int slot, int addr)
{ … }
static int netup_unidvb_ci_write_attribute_mem(struct dvb_ca_en50221 *en50221,
int slot, int addr, u8 data)
{ … }
static int netup_unidvb_ci_read_cam_ctl(struct dvb_ca_en50221 *en50221,
int slot, u8 addr)
{ … }
static int netup_unidvb_ci_write_cam_ctl(struct dvb_ca_en50221 *en50221,
int slot, u8 addr, u8 data)
{ … }
int netup_unidvb_ci_register(struct netup_unidvb_dev *dev,
int num, struct pci_dev *pci_dev)
{ … }
void netup_unidvb_ci_unregister(struct netup_unidvb_dev *dev, int num)
{ … }