IIC介绍:
SDA信号线和SCL时钟线
实例解析IIC驱动程序的两种实现方式
log.chinaunix.net/uid-27041925-id-3630234.html
下面两个函数就完成了I2C总线层驱动模块的注册和注销。
static int __init i2c_adap_s3c_init(void)
{
return platform_driver_register(&s3c24xx_i2c_driver);
}
static void __exit i2c_adap_s3c_exit(void)
{
platform_driver_unregister(&s3c24xx_i2c_driver);
}
那我们来看看这个平台设备吧。
static struct platform_driver s3c24xx_i2c_driver = {
.probe = s3c24xx_i2c_probe,
.remove = s3c24xx_i2c_remove,
.id_table = s3c24xx_driver_ids,
.driver = {
.owner = THIS_MODULE,
.name = "s3c-i2c",
.pm = S3C24XX_DEV_PM_OPS,
},
};
这个平台设备总线驱动模型连接了实际的物理适配器(即IIC控制器)和对应的IIC控制器的驱动.