--- drivers/input/touchscreen/mhn_audio_touch.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) Index: linux-2.6.14/drivers/input/touchscreen/mhn_audio_touch.c =================================================================== --- linux-2.6.14.orig/drivers/input/touchscreen/mhn_audio_touch.c 2007-10-24 23:02:47.000000000 +0100 +++ linux-2.6.14/drivers/input/touchscreen/mhn_audio_touch.c 2007-10-24 23:04:36.000000000 +0100 @@ -94,6 +94,7 @@ static int codec_zy_ts_evt_add(codec_zy_ } pre_press = pressure; input_report_abs(ts->idev, ABS_PRESSURE, pressure & 0xfff); + input_sync(ts->idev); #ifdef CONFIG_IPM ipm_event_notify(IPM_EVENT_UI, IPM_EVENT_DEVICE_TSI, NULL, 0); #endif @@ -106,6 +107,7 @@ static int codec_zy_ts_evt_add(codec_zy_ static void codec_zy_ts_evt_release(codec_zy_ts_t* ts) { input_report_abs(ts->idev, ABS_PRESSURE, 0); + input_sync(ts->idev); #ifdef CONFIG_IPM ipm_event_notify(IPM_EVENT_UI, IPM_EVENT_DEVICE_TSI, NULL, 0); #endif @@ -252,10 +254,8 @@ static int alsa_ts_init( void ) codec_zy_ts_input.name = "codec zy touchscreen"; codec_zy_ts_input.open = codec_zy_ts_input_open; codec_zy_ts_input.close = codec_zy_ts_input_close; - __set_bit(EV_ABS, codec_zy_ts_input.evbit); - __set_bit(ABS_X, codec_zy_ts_input.absbit); - __set_bit(ABS_Y, codec_zy_ts_input.absbit); - __set_bit(ABS_PRESSURE, codec_zy_ts_input.absbit); + codec_zy_ts_input.evbit[0] = BIT(EV_ABS); + codec_zy_ts_input.absbit[0] = BIT(ABS_X) | BIT(ABS_Y) | BIT(ABS_PRESSURE); input_register_device(&codec_zy_ts_input); return 0;