platform driver对应的是platform bus上的platform device;i2c driver对应的是i2c bus上的i2c device。
static int HW_probe(struct platform_device *pdev)
{
return i2c_add_driver(&CAMERA_HW_i2c_driver);
}
这个hw_probe就是platform_driver里的probe成员,我看他注册i2c_driver时没有再看到有注册i2c_device啊,只是最开始注册了platform_driver
和platform_device.那这个i2c_driver怎么和i2c bus上的device绑定呢?可能是我看代码不仔细,但是我确实没有发现,也不明白。
以misc_register来说,注意下面红色部分的代码
这个确实是我没有再深一步的看代码,没有再多跟一步看,但是我同样没有发现有杂项设备的driver呀。只是看到有misc device呢。它也是同样的
用了platform_driver和platform_device来触发probe注册misc device,但是没有看到driver.
[ 此帖被caoxin00123在2012-03-08 11:28重新编辑 ]