diff --git a/drivers/input/touchscreen/stmicro_mmi/Kbuild b/drivers/input/touchscreen/stmicro_mmi/Kbuild index dccd269b6a9c..c4ecedf03b70 100644 --- a/drivers/input/touchscreen/stmicro_mmi/Kbuild +++ b/drivers/input/touchscreen/stmicro_mmi/Kbuild @@ -1,7 +1,7 @@ # add -Wall to try to catch everything we canss # EXTRA_CFLAGS += -Wallss -EXTRA_CFLAGS += -I$(TOP)/motorola/kernel/modules/include \ - -I$(TOP)/motorola/kernel/modules/drivers/input/touchscreen/stmicro_mmi +EXTRA_CFLAGS += -I$(ANDROID_BUILD_TOP)/motorola/kernel/modules/include \ + -I$(ANDROID_BUILD_TOP)/motorola/kernel/modules/drivers/input/touchscreen/stmicro_mmi obj-m := stmicro_mmi.o stmicro_mmi-objs := fts.o fts_proc.o @@ -20,3 +20,5 @@ ifneq ($(filter m y,$(CONFIG_INPUT_TOUCHSCREEN_MMI)),) EXTRA_CFLAGS += -DCONFIG_INPUT_TOUCHSCREEN_MMI stmicro_mmi-objs += fts_mmi_class.o endif + +KBUILD_EXTRA_SYMBOLS += $(CURDIR)/$(KBUILD_EXTMOD)/../touchscreen_mmi/Module.symvers diff --git a/drivers/input/touchscreen/stmicro_mmi/fts.c b/drivers/input/touchscreen/stmicro_mmi/fts.c index b822895c61c8..80efe8a3c35d 100644 --- a/drivers/input/touchscreen/stmicro_mmi/fts.c +++ b/drivers/input/touchscreen/stmicro_mmi/fts.c @@ -2759,7 +2759,7 @@ static void fts_event_handler(struct work_struct *work) info = container_of(work, struct fts_ts_info, work); - __pm_wakeup_event(&info->wakesrc, jiffies_to_msecs(HZ)); + __pm_wakeup_event(info->wakesrc, jiffies_to_msecs(HZ)); /* read the FIFO and parsing events */ @@ -3456,7 +3456,7 @@ static int fts_mode_handler(struct fts_ts_info *info, int force) void fts_resume_func(struct fts_ts_info *info) { - __pm_wakeup_event(&info->wakesrc, jiffies_to_msecs(HZ)); + __pm_wakeup_event(info->wakesrc, jiffies_to_msecs(HZ)); info->resume_bit = 1; fts_system_reset(); release_all_touches(info); @@ -3476,7 +3476,7 @@ static void inline fts_resume_work(struct work_struct *work) void fts_suspend_func(struct fts_ts_info *info) { - __pm_wakeup_event(&info->wakesrc, jiffies_to_msecs(HZ)); + __pm_wakeup_event(info->wakesrc, jiffies_to_msecs(HZ)); info->resume_bit = 0; fts_mode_handler(info, 0); release_all_touches(info); @@ -3903,7 +3903,8 @@ static int fts_probe(struct spi_device *client) info->client->irq = gpio_to_irq(info->board->irq_gpio); logError(1, "%s SET Event Handler:\n", tag); - wakeup_source_init(&info->wakesrc, "fts_tp"); + + info->wakesrc = wakeup_source_register(info->dev, "fts_tp"); info->event_wq = alloc_workqueue("fts-event-queue", WQ_UNBOUND | WQ_HIGHPRI | WQ_CPU_INTENSIVE, 1); if (!info->event_wq) { @@ -4114,7 +4115,7 @@ ProbeErrorExit_5: ProbeErrorExit_4: /* destroy_workqueue(info->fwu_workqueue); */ - wakeup_source_trash(&info->wakesrc); + wakeup_source_unregister(info->wakesrc); fts_enable_reg(info, false); @@ -4162,7 +4163,7 @@ static int fts_remove(struct spi_device *client) /* Remove the work thread */ destroy_workqueue(info->event_wq); - wakeup_source_trash(&info->wakesrc); + wakeup_source_unregister(info->wakesrc); #ifndef FW_UPDATE_ON_PROBE destroy_workqueue(info->fwu_workqueue); #endif diff --git a/drivers/input/touchscreen/stmicro_mmi/fts.h b/drivers/input/touchscreen/stmicro_mmi/fts.h index 6e9db4a71486..00733f1055aa 100644 --- a/drivers/input/touchscreen/stmicro_mmi/fts.h +++ b/drivers/input/touchscreen/stmicro_mmi/fts.h @@ -322,7 +322,7 @@ struct fts_ts_info { * suspend/resume event */ bool sensor_sleep; /* /< if true suspend was called while if false * resume was called */ - struct wakeup_source wakesrc; /* Wake Lock struct */ + struct wakeup_source *wakesrc; /* Wake Lock struct */ /* input lock */ struct mutex input_report_mutex; /* /< mutex for handling the report diff --git a/drivers/input/touchscreen/stmicro_mmi/fts_lib/ftsCore.c b/drivers/input/touchscreen/stmicro_mmi/fts_lib/ftsCore.c index 7fd1e38c3d4c..50cb547e765f 100644 --- a/drivers/input/touchscreen/stmicro_mmi/fts_lib/ftsCore.c +++ b/drivers/input/touchscreen/stmicro_mmi/fts_lib/ftsCore.c @@ -410,7 +410,7 @@ int setFeatures(u8 feat, u8 *settings, int size) { u8 *cmd; int i = 0; - int ret; + int ret = OK; cmd = (u8 *)kzalloc(2 + size, GFP_KERNEL); if (!cmd) @@ -456,7 +456,7 @@ int setFeatures(u8 feat, u8 *settings, int size) int writeSysCmd(u8 sys_cmd, u8 *sett, int size) { u8 *cmd; - int ret; + int ret = OK; cmd = (u8 *)kzalloc(2 + size, GFP_KERNEL); if (!cmd) diff --git a/drivers/input/touchscreen/stmicro_mmi/fts_lib/ftsTime.c b/drivers/input/touchscreen/stmicro_mmi/fts_lib/ftsTime.c index c940ced20836..2e20227d485b 100644 --- a/drivers/input/touchscreen/stmicro_mmi/fts_lib/ftsTime.c +++ b/drivers/input/touchscreen/stmicro_mmi/fts_lib/ftsTime.c @@ -39,7 +39,7 @@ */ void startStopWatch(StopWatch *w) { - w->start = current_kernel_time(); + ktime_get_ts(&w->start); } /** @@ -48,7 +48,7 @@ void startStopWatch(StopWatch *w) */ void stopStopWatch(StopWatch *w) { - w->end = current_kernel_time(); + ktime_get_ts(&w->end); } /** diff --git a/drivers/input/touchscreen/stmicro_mmi/fts_proc.c b/drivers/input/touchscreen/stmicro_mmi/fts_proc.c index 3c6f42ed8fac..a945679764a3 100644 --- a/drivers/input/touchscreen/stmicro_mmi/fts_proc.c +++ b/drivers/input/touchscreen/stmicro_mmi/fts_proc.c @@ -677,7 +677,7 @@ static ssize_t fts_driver_test_write(struct file *file, const char __user *buf, /*for(temp = 0; temp