From 6d4d2258696d91828fe8f339d3d94a577431d669 Mon Sep 17 00:00:00 2001 From: =?utf8?q?=E9=BB=84=E6=B6=9B?= Date: Mon, 20 Dec 2010 14:32:03 +0800 Subject: [PATCH] hannstar_p1003: use async init and msleep --- arch/arm/mach-rk29/board-rk29-winaccord.c | 4 ++-- arch/arm/mach-rk29/board-rk29sdk.c | 4 ++-- drivers/input/touchscreen/hannstar_p1003.c | 11 +++++++++-- 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/arch/arm/mach-rk29/board-rk29-winaccord.c b/arch/arm/mach-rk29/board-rk29-winaccord.c index 1e1d381b5552..fed8b635a241 100644 --- a/arch/arm/mach-rk29/board-rk29-winaccord.c +++ b/arch/arm/mach-rk29/board-rk29-winaccord.c @@ -328,9 +328,9 @@ int p1003_init_platform_hw(void) } gpio_pull_updown(TOUCH_INT_PIN, 1); gpio_direction_output(TOUCH_RESET_PIN, 0); - mdelay(500); + msleep(500); gpio_set_value(TOUCH_RESET_PIN,GPIO_LOW); - mdelay(500); + msleep(500); gpio_set_value(TOUCH_RESET_PIN,GPIO_HIGH); return 0; diff --git a/arch/arm/mach-rk29/board-rk29sdk.c b/arch/arm/mach-rk29/board-rk29sdk.c index 680ef50b1684..89241e720f86 100644 --- a/arch/arm/mach-rk29/board-rk29sdk.c +++ b/arch/arm/mach-rk29/board-rk29sdk.c @@ -328,9 +328,9 @@ int p1003_init_platform_hw(void) } gpio_pull_updown(TOUCH_INT_PIN, 1); gpio_direction_output(TOUCH_RESET_PIN, 0); - mdelay(500); + msleep(500); gpio_set_value(TOUCH_RESET_PIN,GPIO_LOW); - mdelay(500); + msleep(500); gpio_set_value(TOUCH_RESET_PIN,GPIO_HIGH); return 0; diff --git a/drivers/input/touchscreen/hannstar_p1003.c b/drivers/input/touchscreen/hannstar_p1003.c index 21235a348a60..a4ba8cac958c 100755 --- a/drivers/input/touchscreen/hannstar_p1003.c +++ b/drivers/input/touchscreen/hannstar_p1003.c @@ -15,6 +15,7 @@ #include #include #include +#include #include #include #include @@ -393,10 +394,16 @@ static struct i2c_driver p1003_driver = { .remove = __devexit_p(p1003_remove), }; -static int __init p1003_init(void) +static void __init p1003_init_async(void *unused, async_cookie_t cookie) { printk("--------> %s <-------------\n",__func__); - return i2c_add_driver(&p1003_driver); + i2c_add_driver(&p1003_driver); +} + +static int __init p1003_init(void) +{ + async_schedule(p1003_init_async, NULL); + return 0; } static void __exit p1003_exit(void) -- 2.34.1