Chinaunix首页 | 论坛 | 博客
  • 博客访问: 304157
  • 博文数量: 111
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 672
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-05 23:41
文章分类

全部博文(111)

文章存档

2017年(111)

我的朋友

分类: LINUX

2017-06-19 18:14:45

#ifndef _RWI2C_C_
#define _RWI2C_C_




#include  
#include  
#include  
#include  
#include  
#include  
#include  
#include
#include




#define RWI2C_DEVICE_NAME "rwi2c"








/* 打开设备方法 */  
static int rwi2c_open(struct inode *inode, struct file *filp)  
{  


printk(KERN_ALERT"NY::rwi2c_open.\n");
      
    return 0;  
}  
  
/* 设备文件释放时调用,空实现 */  
static int rwi2c_release(struct inode *inode, struct file *filp)  
{  
printk(KERN_ALERT"NY::rwi2c_release.\n");
    return 0;  
}  
  
/* 读取设备的寄存器val值 */  
static ssize_t rwi2c_read(struct file *filp, char __user *buf, size_t count, loff_t *f_pos)  
{  
    ssize_t err = 0;  


printk(KERN_ALERT"NY::rwi2c_read.\n");
    return err;  
}  
  
/* 写设备的寄存器val的值 */  
static ssize_t rwi2c_write(struct file *filp, const char __user *buf, size_t count, loff_t *f_pos)  
{  
    ssize_t err = 0;  


printk(KERN_ALERT"NY::rwi2c_write.\n");
    return err;  
}  


/* 传统的设备文件操作方法表 */  
static struct file_operations rwi2c_fops = {  
    .owner = THIS_MODULE,  
    .open  = rwi2c_open,  
    .release = rwi2c_release,  
    .read  = rwi2c_read,  
    .write = rwi2c_write,  
};  
 
static struct miscdevice rwi2c_misc = {
.minor = MISC_DYNAMIC_MINOR,
.name = RWI2C_DEVICE_NAME,
.fops = &rwi2c_fops,
};




static int __init rwi2c_init(void)
{
int ret= 0;
printk(KERN_ALERT"Initializing rwi2c device.\n"); 


ret = misc_register(&rwi2c_misc);

printk(KERN_ALERT"Succedded to initialize rwi2c device.\n");


  return ret;
}
module_init(rwi2c_init);


static void __exit rwi2c_exit(void)
{
misc_deregister(&rwi2c_misc);


}
module_exit(rwi2c_exit);


MODULE_AUTHOR("nova_niuyi@126.com>");
MODULE_DESCRIPTION("ROCKCHIP I2C DEV Driver");
MODULE_LICENSE("GPL");
MODULE_ALIAS("i2c:rwi2c");








阅读(1457) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~