我在sound/soc/codecs
中编写音频编解码器。它会编译并调用init函数,但不会调用probe()
函数。
我尝试了这种question建议,但没有成功。
我还尝试了切换到sgtl5000.c
编解码器,并将其包含在我的boardfile的I2C_BOARD_INFO
中,只是为了查看probe()
函数是否会调用,而不会。
static struct i2c_board_info mxc_i2c0_board_info[] __initdata = {
{
I2C_BOARD_INFO("sgtl5000", 0x14),
},
};
static const struct i2c_device_id sgtl5000_id[] = {
{"sgtl5000", 0},
{},
};
MODULE_DEVICE_TABLE(i2c, sgtl5000_id);
static struct i2c_driver sgtl5000_i2c_driver = {
.driver = {
.name = "sgtl5000",
.owner = THIS_MODULE,
},
.probe = sgtl5000_i2c_probe,
.remove = __devexit_p(sgtl5000_i2c_remove),
.id_table = sgtl5000_id,
};
我怎样才能解决这个问题?
最佳答案
您是否要在板文件中使用“ i2c_register_board_info”之类的东西来注册i2c_device。(我无法直接对此问题发表评论,因为它需要50个声望才能拥有该特权,因此我唯一的选择就是回答这个问题以分享我的观点)。
关于c - 声音/soc/编解码器i2c驱动程序无法探测,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21042913/