linux驱动学习——驱动大致框架教程
以led为例子 非设备树 这样需要在open read write函数中 对硬件做处理 通用性较差
static int major = 0;
static int led_drv_open (struct inode *node, struct file *file)
static int led_drv_close (struct inode *node, struct file *file)
static ssize_t led_drv_write (struct file *file, const char __user *buf, size_t size, loff_t *offset)
static ssize_t led_drv_read (struct file *file, char __user *buf, size_t size, loff_t *offset)
。。。。
static struct file_operations led_drv = {
.owner = THIS_MODULE,
.open = led_drv_open,
.read = led_drv_read,
.write = led_drv_write,
.release = led_drv_close,
};
module_init(xxx_init);
module_exit(xxx_exit);
MODULE_LICENSE("GPL");