#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/moduleparam.h>
#include <linux/delay.h>
#include <linux/jiffies.h>
#include <linux/errno.h>
#include <linux/i2c.h>
#include <linux/i2c-algo-pca.h>
#define DEB1(fmt, args...) …
#define DEB2(fmt, args...) …
#define DEB3(fmt, args...) …
static int i2c_debug;
#define pca_outw(adap, reg, val) …
#define pca_inw(adap, reg) …
#define pca_status(adap) …
#define pca_clock(adap) …
#define pca_set_con(adap, val) …
#define pca_get_con(adap) …
#define pca_wait(adap) …
static void pca_reset(struct i2c_algo_pca_data *adap)
{ … }
static int pca_start(struct i2c_algo_pca_data *adap)
{ … }
static int pca_repeated_start(struct i2c_algo_pca_data *adap)
{ … }
static void pca_stop(struct i2c_algo_pca_data *adap)
{ … }
static int pca_address(struct i2c_algo_pca_data *adap,
struct i2c_msg *msg)
{ … }
static int pca_tx_byte(struct i2c_algo_pca_data *adap,
__u8 b)
{ … }
static void pca_rx_byte(struct i2c_algo_pca_data *adap,
__u8 *b, int ack)
{ … }
static int pca_rx_ack(struct i2c_algo_pca_data *adap,
int ack)
{ … }
static int pca_xfer(struct i2c_adapter *i2c_adap,
struct i2c_msg *msgs,
int num)
{ … }
static u32 pca_func(struct i2c_adapter *adap)
{ … }
static const struct i2c_algorithm pca_algo = …;
static unsigned int pca_probe_chip(struct i2c_adapter *adap)
{ … }
static int pca_init(struct i2c_adapter *adap)
{ … }
int i2c_pca_add_bus(struct i2c_adapter *adap)
{ … }
EXPORT_SYMBOL(…);
int i2c_pca_add_numbered_bus(struct i2c_adapter *adap)
{ … }
EXPORT_SYMBOL(…);
MODULE_AUTHOR(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;
module_param(i2c_debug, int, 0);