有个问题想请教一下大家:
我在s3c2440开发板上通过i2c总线挂接了一个i/o扩展芯片pcf8574,接下来就是编写i2c驱动,使得用户程序能够通过调用i2c驱动控制pcf8574。编写i2c设备驱动有两种方式,一种是通过i2c-dev.c生成设备文件,用户程序可以通过对/dev/i2c/0进行open()、read()、write()、ioctl()等操作控制设备,但i2c-dev.c只是通用的i2c设备驱动,只提供了简单的通讯方式,没有太大的实用价值。另一种方式是为特定的i2c设备编写设备驱动,实现内核态的i2c驱动,在源代码/driver/i2c/chips文件夹中有pcf8574.c文件,该文件针对pcf8574实现了设备驱动,我把它编进了内核。
我现在向问的问题是,实现了内核态的i2c驱动后,用户程序如何通过系统调用控制pcf8574,实现特定的操作?还是通过打开/dev/i2c/0文件,对其进行read()、write()操作来实现吗?