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