#include "sp2_priv.h"
static int sp2_read_i2c(struct sp2 *s, u8 reg, u8 *buf, int len)
{ … }
static int sp2_write_i2c(struct sp2 *s, u8 reg, u8 *buf, int len)
{ … }
static int sp2_ci_op_cam(struct dvb_ca_en50221 *en50221, int slot, u8 acs,
u8 read, int addr, u8 data)
{ … }
int sp2_ci_read_attribute_mem(struct dvb_ca_en50221 *en50221,
int slot, int addr)
{ … }
int sp2_ci_write_attribute_mem(struct dvb_ca_en50221 *en50221,
int slot, int addr, u8 data)
{ … }
int sp2_ci_read_cam_control(struct dvb_ca_en50221 *en50221,
int slot, u8 addr)
{ … }
int sp2_ci_write_cam_control(struct dvb_ca_en50221 *en50221,
int slot, u8 addr, u8 data)
{ … }
int sp2_ci_slot_reset(struct dvb_ca_en50221 *en50221, int slot)
{ … }
int sp2_ci_slot_shutdown(struct dvb_ca_en50221 *en50221, int slot)
{ … }
int sp2_ci_slot_ts_enable(struct dvb_ca_en50221 *en50221, int slot)
{ … }
int sp2_ci_poll_slot_status(struct dvb_ca_en50221 *en50221,
int slot, int open)
{ … }
static int sp2_init(struct sp2 *s)
{ … }
static int sp2_exit(struct i2c_client *client)
{ … }
static int sp2_probe(struct i2c_client *client)
{ … }
static void sp2_remove(struct i2c_client *client)
{ … }
static const struct i2c_device_id sp2_id[] = …;
MODULE_DEVICE_TABLE(i2c, sp2_id);
static struct i2c_driver sp2_driver = …;
module_i2c_driver(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;