mycdev.c
#include <linux/init.h>
#include <linux/module.h>
#include <linux/fs.h>
#include <linux/uaccess.h>
#include <linux/io.h>
#include "myled.h"
#define CNAME "myled"
int major;
char kbuf[128]={0};
unsigned int* virt_rcc;
unsigned int* virt_moder1;
unsigned int* virt_odr1;
unsigned int* virt_moder2;
unsigned int* virt_odr2;
unsigned int* virt_moder3;
unsigned int* virt_odr3;
int myled_open (struct inode *inode, struct file *file)
{
printk("%s:%s:%d\n",__FILE__,__func__,__LINE__);
return 0;
}
ssize_t myled_read (struct file *file, char __user *ubuf, size_t size, loff_t *loff)
{
int ret;
printk("%s:%s:%d\n",__FILE__,__func__,__LINE__);
if(size>sizeof(kbuf))size = sizeof(kbuf);
ret = copy_to_user(ubuf,kbuf,size);
if(ret)
{
printk("copy to user is error\n");
return -EIO;
}
return size;
}
ssize_t myled_write (stru