4.定义设备的read方法,read方法的主要职责是:当我上层应用程序需要读我的设备的时候,当我设备没有数据可读的时候,这个时候该如何处理的问题。
5.定义设备的poll方法,poll设备方法负责完成:
①使用poll_wait将等待队列添加到poll_table中。
②返回描述设备是否可读或可写的掩码。
位掩码:
POLLIN 设备可读
POLLRDNORM 数据可读
POLLOUT 设备可写
POLLWRNORM 数据可写
设备可读通常返回 (POLLIN|POLLRDNORM)
设备可写通常返回 (POLLOUT|POLLWRNORM)
6.定义ioctl方法,这个设备方法不做解释,不懂的话请看我前面写的那篇TQ2440LED驱动程序的文章。
7.定义file_operations 。file_operations结构中的每一个成员的名字都对应着一个上层应用程序的调用。
8.定义模块加载函数:这里需要特别说明的是,我们要在驱动模块加载函数里面要加入熄灭4盏LED灯的代码,以便等下测试的时候能够很好的看到按键点亮LED灯的效果。
9.定义模块卸载函数:略。