linux怎么查看i2c设备驱动程序,linux-device-driver – 编写I2C设备驱动程序时的探测问题...

我是一个编写

linux设备驱动程序的新手,原谅我,如果有什么愚蠢的问题和我可怜的英语^^

我正在尝试为触摸面板编写驱动程序,它通过I2C与cpu通信.

我试图将设备驱动程序添加到linux平台,并且寄存器成功,我的意思是驱动程序已加载,但探测功能没有启动!!

以上是我写的驱动程序的部分代码.

static int i2c_ts_probe(struct i2c_client *client,const struct i2c_device_id * id) {

/* ... */

}

static int i2c_ts_remove(struct i2c_client *client) {

/* ... */

}

static const struct i2c_device_id i2c_ts_id[] = {

{"Capacitive TS",0},{ }

};

MODULE_DEVICE_TABLE(i2c,i2c_ts_id);

static struct i2c_driver i2c_ts = {

.id_table = i2c_ts_id,.probe = i2c_ts_probe,.remove = i1c_ts_remobe,.driver = {

.name = "i2c_ts",},};

static int __init i2c_ts_init(void) {

return i2c_add_driver(&i2c_ts);

}

static int __init i2c_ts_exit(void) {

return i2c_del_driver(&i2c_ts);

}

module_init(i2c_ts_init);

module_exit(i2c_ts_exit);

以上是用于注册i2c设备的平台(/kernel/arch/arm/mach-pxa/saarb.c)中的部分代码.

static struct i2c_board_info i2c_board_info_ts[] = {

{

.type = i2c_ts,.irq = IRQ_GPIO(mfp_to_gpio(MFP_PIN_GPIO0)),};

static void __init saarb_init(void) {

...

i2c_register_board_info(0,ARRAY_AND_SIZE(i2c_board_info_ts));

...

}

任何建议和评论都将受到欢迎,谢谢^^

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值