}
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;
}
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;
#include <linux/interrupt.h>
#include <linux/io.h>
#include <linux/platform_device.h>
+#include <linux/async.h>
#include <mach/gpio.h>
#include <linux/irq.h>
#include <mach/board.h>
.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)