return 0;
}
-
+#if defined(V86_VERSION_1_1)
+int sitronix_direction_otation( int *x,int *y )
+{
+ *x = *x ;
+ *y = 480 - *y ;
+ return 1 ;
+}
+#endif
struct ft5x0x_platform_data sitronix_info = {
.model = 5007,
.init_platform_hw= ft5306_init_platform_hw,
+ #if defined(V86_VERSION_1_1)
+ .direction_otation = sitronix_direction_otation ,
+ #endif
};
#endif
uint8_t PixelCount = 0;
static uint8_t all_clear = 1;
+ struct ft5x0x_platform_data *pdata=ts->client->dev.platform_data;
+
DbgMsg("%s\n", __FUNCTION__);
if(ts->suspend_state){
goto exit_invalid_data;
input_mt_slot(ts->input_dev, i);
input_report_abs(ts->input_dev, ABS_MT_TRACKING_ID, i);
input_report_abs(ts->input_dev, ABS_MT_TOUCH_MAJOR, 200);
- input_report_abs(ts->input_dev, ABS_MT_POSITION_X, MTDStructure[i].Pixel_X);
- #if defined(CONFIG_MACH_RK2926_V86_VERSION_1_1)
- input_report_abs(ts->input_dev, ABS_MT_POSITION_Y, 480 - MTDStructure[i].Pixel_Y);
- #else
- input_report_abs(ts->input_dev, ABS_MT_POSITION_Y, MTDStructure[i].Pixel_Y);
- #endif
+
+ if(pdata->direction_otation)
+ {
+ int temp_x , temp_y ;
+ temp_x = MTDStructure[i].Pixel_X ;
+ temp_y = MTDStructure[i].Pixel_Y ;
+ pdata->direction_otation(&temp_x,&temp_y);
+ input_report_abs(ts->input_dev, ABS_MT_POSITION_X, temp_x);
+ input_report_abs(ts->input_dev, ABS_MT_POSITION_Y, temp_y);
+ }else{
+ input_report_abs(ts->input_dev, ABS_MT_POSITION_X, MTDStructure[i].Pixel_X);
+ input_report_abs(ts->input_dev, ABS_MT_POSITION_Y, MTDStructure[i].Pixel_Y);
+ }
input_report_abs(ts->input_dev, ABS_MT_WIDTH_MAJOR, 100);
DbgMsg("lr[%d](%d, %d)+\n", i, MTDStructure[i].Pixel_X, MTDStructure[i].Pixel_Y);
}else if(MTDStructure[i].Current_Pressed_area == AREA_NONE){