临时解决办法,make clean后失效:
修改/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620/linux-3.10.14/drivers/char/ralink_gpio.c:2760
if (record[i].rising != 0 && time_before_eq(now,
record[i].rising + 200L)) {
printk("FILE: %sLINE:%d \n",__FILE__,__LINE__);
/*
* If the interrupt comes in a short period,
* it might be floating. We ignore it.
*/
}
else {
printk("FILE: %sLINE:%d \n",__FILE__,__LINE__);
record[i].rising = now;
if (time_before(now, record[i].falling + 400L)) {
//one click
printk("i=%d, one click\n", i);
schedule_work(&gpio_event_click);
}
else {
//press for several seconds
printk("i=%d, push several seconds\n", i);
schedule_work(&gpio_event_hold);
}
}
办法2,打补丁:
进入/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620/linux-3.10.14目录
quilt top查看当前patch
quilt new patches/platform/0606-mt7620-ralinkgpio-changechecktime.patch //这里名字要再刚刚查到的patch加1
quilt edit drivers/char/ralink_gpio.c
修改完成后
quilt refresh
这时候quilt top查看到最新的patch就是刚刚设置的
返回到openwrt根目录
make target/linux/update V=99
应用patch 生成新的patch在target/linux/ramips/patches/下查看