diff --git a/arch/arm/include/asm/unistd.h b/arch/arm/include/asm/unistd.h index 4e506d0..8f32b6b 100755 --- a/arch/arm/include/asm/unistd.h +++ b/arch/arm/include/asm/unistd.h @@ -391,6 +391,8 @@ #define __NR_pwritev (__NR_SYSCALL_BASE+362) #define __NR_rt_tgsigqueueinfo (__NR_SYSCALL_BASE+363) #define __NR_perf_event_open (__NR_SYSCALL_BASE+364) +#define __NR_recvmmsg (__NR_SYSCALL_BASE+365) +#define __NR_accept4 (__NR_SYSCALL_BASE+366) /* * The following SWIs are ARM private. diff --git a/arch/arm/kernel/calls.S b/arch/arm/kernel/calls.S index 4f07168..bb50a6b 100755 --- a/arch/arm/kernel/calls.S +++ b/arch/arm/kernel/calls.S @@ -374,6 +374,8 @@ CALL(sys_pwritev) CALL(sys_rt_tgsigqueueinfo) CALL(sys_perf_event_open) + CALL(sys_accept4) + CALL(sys_accept4) #ifndef syscalls_counted .equ syscalls_padding, ((NR_syscalls + 3) & ~3) - NR_syscalls #define syscalls_counted diff --git a/drivers/input/touchscreen/tegra_odm.c b/drivers/input/touchscreen/tegra_odm.c index 6f3ad3d..908efb8 100755 --- a/drivers/input/touchscreen/tegra_odm.c +++ b/drivers/input/touchscreen/tegra_odm.c @@ -559,34 +559,16 @@ static void tegra_touch_fingers_dealwith(struct tegra_touch_driver_data *touch, { if(0 == fingers) { - input_report_abs(touch->input_dev, ABS_MT_TOUCH_MAJOR, 0); - input_report_abs(touch->input_dev, ABS_MT_WIDTH_MAJOR, 0); - input_mt_sync(touch->input_dev); + input_report_key(touch->input_dev, BTN_TOUCH, 0); } - if(1 == fingers) + if(1 <= fingers) { - input_report_abs(touch->input_dev, ABS_MT_POSITION_X, coord.additionalInfo.multi_XYCoords[0][0]); - input_report_abs(touch->input_dev, ABS_MT_POSITION_Y, coord.additionalInfo.multi_XYCoords[0][1]); - input_report_abs(touch->input_dev, ABS_MT_TOUCH_MAJOR, 10); - input_report_abs(touch->input_dev, ABS_MT_WIDTH_MAJOR, 20); - input_mt_sync(touch->input_dev); + input_report_abs(touch->input_dev, ABS_X, coord.additionalInfo.multi_XYCoords[0][0]); + input_report_abs(touch->input_dev, ABS_Y, coord.additionalInfo.multi_XYCoords[0][1]); + input_report_key(touch->input_dev, BTN_TOUCH, 1); } - if(2 == fingers) - { - input_report_abs(touch->input_dev, ABS_MT_POSITION_X, coord.additionalInfo.multi_XYCoords[0][0]); - input_report_abs(touch->input_dev, ABS_MT_POSITION_Y, coord.additionalInfo.multi_XYCoords[0][1]); - input_report_abs(touch->input_dev, ABS_MT_TOUCH_MAJOR, 10); - input_report_abs(touch->input_dev, ABS_MT_WIDTH_MAJOR, 20); - input_mt_sync(touch->input_dev); - - input_report_abs(touch->input_dev, ABS_MT_POSITION_X, coord.additionalInfo.multi_XYCoords[1][0]); - input_report_abs(touch->input_dev, ABS_MT_POSITION_Y, coord.additionalInfo.multi_XYCoords[1][1]); - input_report_abs(touch->input_dev, ABS_MT_TOUCH_MAJOR, 10); - input_report_abs(touch->input_dev, ABS_MT_WIDTH_MAJOR, 20); - input_mt_sync(touch->input_dev); - } input_sync(touch->input_dev); } #define TIME_READ_INTERVAL 10 //MS @@ -657,28 +639,9 @@ InBurnBootloader: coord.additionalInfo.multi_XYCoords[1][0], coord.additionalInfo.multi_XYCoords[1][1])); #endif - switch(coord.additionalInfo.Fingers) - { - #if 0 - case 0: - tegra_touch_fingers_dealwith(touch, coord, 0); //fingers = 0 - - msleep(TIME_READ_INTERVAL); - break; - #endif - case 0: - break; - - case 1: - tegra_touch_fingers_dealwith(touch, coord, 1); //fingers = 1 - msleep(TIME_READ_INTERVAL); - break; - case 2: - tegra_touch_fingers_dealwith(touch, coord, 2); //fingers = 2 - msleep(TIME_READ_INTERVAL); - break; - default: - break; + if (coord.additionalInfo.Fingers > 0) { + tegra_touch_fingers_dealwith(touch, coord, coord.additionalInfo.Fingers); + msleep(TIME_READ_INTERVAL); } HandleInterrupt: diff --git a/drivers/usb/gadget/composite.c b/drivers/usb/gadget/composite.c index 3e6e5a0..cc9e488 100755 --- a/drivers/usb/gadget/composite.c +++ b/drivers/usb/gadget/composite.c @@ -24,6 +24,7 @@ #include #include #include +#include #include diff --git a/include/asm-arm b/include/asm-arm deleted file mode 100755 index e69de29..0000000