内核驱动按照文件路径读写文件

直接上代码,此段代码选取自realtek的wifi驱动中的一段代码

    fp = filp_open("/data/wifimac.txt", O_RDWR,  0644);
    if (IS_ERR(fp)) {
        pEEPROM->bloadmac_fail_flag = _TRUE;
        DBG_871X("Error, wifi mac address file doesn't exist.\n");
    } else {
        fs = get_fs();
        set_fs(KERNEL_DS);

        DBG_871X("wifi mac address:\n");
        vfs_read(fp, source_addr, 18, &pos);
        source_addr[17] = ':'; 

        head = end = source_addr;
        for (i=0; i<ETH_ALEN; i++) {
            while (end && (*end != ':') )
                end++;

            if (end && (*end == ':') )
                *end = '\0';

            pEEPROM->mac_addr[i] = simple_strtoul(head, NULL, 16 );

            if (end) {
                end++;
                head = end; 
            }    
            DBG_871X("%02x \n", pEEPROM->mac_addr[i]);
        }    
        DBG_871X("\n");
        set_fs(fs);
        pEEPROM->bloadmac_fail_flag = _FALSE;
        filp_close(fp, NULL);                                                                                                                                                   
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值