1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 2 /* 3 * Copyright 1998-2009 VIA Technologies, Inc. All Rights Reserved. 4 * Copyright 2001-2008 S3 Graphics, Inc. All Rights Reserved. 5 6 */ 7 #ifndef __VIA_I2C_H__ 8 #define __VIA_I2C_H__ 9 10 #include <linux/i2c.h> 11 #include <linux/i2c-algo-bit.h> 12 13 struct via_i2c_stuff { 14 u16 i2c_port; /* GPIO or I2C port */ 15 u16 is_active; /* Being used as I2C? */ 16 struct i2c_adapter adapter; 17 struct i2c_algo_bit_data algo; 18 }; 19 20 21 int viafb_i2c_readbyte(u8 adap, u8 slave_addr, u8 index, u8 *pdata); 22 int viafb_i2c_writebyte(u8 adap, u8 slave_addr, u8 index, u8 data); 23 int viafb_i2c_readbytes(u8 adap, u8 slave_addr, u8 index, u8 *buff, int buff_len); 24 struct i2c_adapter *viafb_find_i2c_adapter(enum viafb_i2c_adap which); 25 26 extern int viafb_i2c_init(void); 27 extern void viafb_i2c_exit(void); 28 #endif /* __VIA_I2C_H__ */ 29