edog

冰冻热狗
数据加载中……

字符设备驱动基本框架


#include 
<linux/init.h>
#include 
<linux/module.h> 
#include 
<asm/gpio.h>
#include 
<linux/moduleparam.h> 
#include 
<linux/mm.h>
#include 
<asm/io.h>

#define DEVICE_NAME        "LEDS"
#define NUM_MAJOR        240

MODULE_LICENSE(
"Dual BSD/GPL"); 

static int leds_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg)
{
    
return 0;
}


static struct file_operations fops = 
{
    owner: THIS_MODULE,
    ioctl: leds_ioctl,
}
;

static int leds_init(void

    
// 注册设备
    register_chrdev(NUM_MAJOR, DEVICE_NAME, &fops);    
    
return 0
}
 

static void leds_exit(void
{
    
// 注销设备
    unregister_chrdev(NUM_MAJOR,DEVICE_NAME);
}
 

module_init(leds_init); 
module_exit(leds_exit); 

posted on 2010-03-02 14:38 冰冻热狗 阅读(506) 评论(0)  编辑 收藏 引用 所属分类: Linux设备驱动开发


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理