Chinaunix首页 | 论坛 | 博客
  • 博客访问: 712114
  • 博文数量: 60
  • 博客积分: 2849
  • 博客等级: 少校
  • 技术积分: 1011
  • 用 户 组: 普通用户
  • 注册时间: 2007-03-10 15:38
文章分类
文章存档

2013年(4)

2012年(11)

2011年(5)

2010年(3)

2009年(9)

2008年(19)

2007年(9)

分类: LINUX

2008-05-24 21:53:29

转载请声明原创:http://jinglexy.cublog.cn
MSN: jinglexy at yahoo dot com dot cn
it's simple, we just use the vfs func:
char *fw_read_helper(u32* len)
{
        int ret;
        int fd1;
        char *p = NULL;
        mm_segment_t fs;

        fs = get_fs();
        set_fs(KERNEL_DS);

        if(NULL == (p = kmalloc(FW_SIZE_HELPER, GFP_KERNEL))) {
                dpline();
                return NULL;
        }  

        fd1 = sys_open("/helper_gspi.bin", O_RDONLY, S_IRWXU);
        if(fd1 < 0) {
                kfree(p);
                dpline();
                printk("fd is %d\n", fd1);
                return NULL;
        }  

        ret = sys_read(fd1, p, FW_SIZE_HELPER);
        if(ret <= 0) {
                kfree(p);
                sys_close(fd1);
                dpline();
                return NULL;
        }  
        sys_close(fd1);
        set_fs(fs);

        *len = ret;
        return  p; 
        *len = sizeof(helperimage);
        return helperimage;
}
阅读(1857) | 评论(2) | 转发(0) |
给主人留下些什么吧!~~

jinglexy2009-01-06 20:17:48

可以, cscope找下 或者windows上source insight很快可以找到定义的头文件

wxju1682008-12-14 17:07:59

在内核中可以使用sys_read()么? 那还用包含头文件么?哪个头文件?