小弟学习I2c驱动的时候,有几个问题,请大虾帮忙解答一下:(mini210s)
1. 在mini210.c里面,有对FT5X0X触摸屏的一段参数赋值的代码,如下。这些值是存在哪里?与 struct 2c_client *client这个结构体有什么关系?
static struct s3c2410_platform_i2c i2c2_data __initdata = {
.flags = 0,
.bus_num = 2,
.slave_addr = 0x10,
.frequency = 400*1000,
.sda_delay = S3C2410_IICLC_SDA_DELAY5 | S3C2410_IICLC_FILTER_ON,
};
#endif
2. 在ft5x06_ts.c代码里面,以及一些其他的驱动里面,常常有如下的语句,这其中两句赋值语句有什么用?
小弟的理解,如果要用*ts或者*client或者*this client就直接用就好了,为啥要相互赋值?
static struct i2c_client *this_client;
struct ft5x0x_ts_data *ts;
...
static int ft5x0x_ts_probe(struct i2c_client *client, const struct i2c_device_id *id)
{
...
this_client = client;
i2c_set_clientdata(client, ts);
...
}