• 移植MT7620A+MT7610E驱动到Openwrt trunk(Linux Kernel 3.14.18)


    MT7620

    修改trunk/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/mt7620/rt2880/os/linux/rt_linux.c :1201行

      将:  

        pOSFSInfo->fsuid = current_fsuid();
        pOSFSInfo->fsgid = current_fsgid();

      修改为:

        pOSFSInfo->fsuid = *(int *)&current_fsuid();

        pOSFSInfo->fsgid = *(int *)&current_fsgid();

    MT7610E

    7610E驱动要修改的地方有2处

    1.修改trunk/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/mt7610e..../os/linux/rt_linux.c :899行

      将:  

    pOSFSInfo->fsuid = current_fsuid();
    pOSFSInfo->fsgid = current_fsgid();

      修改为:

    pOSFSInfo->fsuid = *(int *)&current_fsuid();
    pOSFSInfo->fsgid = *(int *)&current_fsgid();

    2. 修改trunk/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/mt7610e....../os/linux/pci_main_dev.c

      在#include区域后面增加如下代码:

    #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,8,0)
    #define __devexit
    #define __devinit
    #define __devinitdata
    #endif

        修改如下代码:

    #if LINUX_VERSION_CODE >= 0x20412
        remove:     __devexit_p(rt2860_remove_one),
    #else
        remove:     __devexit(rt2860_remove_one),
    #endif

       修改为:

    #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,8,0)
        remove:     rt2860_remove_one,
    #else
    #if LINUX_VERSION_CODE >= 0x20412
        remove:     __devexit_p(rt2860_remove_one),
    #else
        remove:     __devexit(rt2860_remove_one),
    #endif
    #endif

    重新编译make V=99

    整个世界都清净了。。。

  • 相关阅读:
    [Clr via C#读书笔记]Cp4类型基础
    [Clr via C#读书笔记]Cp3共享程序集和强命名程
    [Clr via C#读书笔记]Cp2生成打包部署和管理应用程序和类型
    [Clr via C#读书笔记]Cp1CLR执行模型
    试用Markdown来写东西
    字符编码的总结
    常去的网站
    Click Once使用总结
    【LevelDB源码阅读】Slice
    【程序员面试金典】面试题 01.05. 一次编辑
  • 原文地址:https://www.cnblogs.com/jzyuchen/p/4064759.html
Copyright © 2020-2023  润新知