移植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 *)¤t_fsuid();
pOSFSInfo->fsgid = *(int *)¤t_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 *)¤t_fsuid(); pOSFSInfo->fsgid = *(int *)¤t_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
整个世界都清净了。。。