主题 : i2c驱动代码咨询 复制链接 | 浏览器收藏 | 打印
嵌入式。把我嵌入吧!
级别: 新手上路
UID: 107511
精华: 0
发帖: 12
金钱: 60 两
威望: 12 点
贡献值: 0 点
综合积分: 24 分
注册时间: 2014-08-27
最后登录: 2016-04-12
楼主  发表于: 2015-03-05 16:13

 i2c驱动代码咨询

小弟学习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);
...
}