summaryrefslogtreecommitdiff
path: root/include/linux/i2c-algo-pca.h
blob: 941b786c5732fd0854edf3cd756ab59ff0c1af5b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#ifndef _LINUX_I2C_ALGO_PCA_H
#define _LINUX_I2C_ALGO_PCA_H

struct i2c_algo_pca_data {
	int  (*get_own)			(struct i2c_algo_pca_data *adap); /* Obtain own address */
	int  (*get_clock)		(struct i2c_algo_pca_data *adap);
	void (*write_byte)		(struct i2c_algo_pca_data *adap, int reg, int val);
	int  (*read_byte)		(struct i2c_algo_pca_data *adap, int reg);
	int  (*wait_for_interrupt)	(struct i2c_algo_pca_data *adap);
};

#define I2C_PCA_ADAP_MAX	16

int i2c_pca_add_bus(struct i2c_adapter *);
int i2c_pca_del_bus(struct i2c_adapter *);

#endif /* _LINUX_I2C_ALGO_PCA_H */