--- /dev/null
+#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 */