summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-laptop/tp_smapi/files/linux-4.15-timer_setup-fix.patch')
-rw-r--r--app-laptop/tp_smapi/files/linux-4.15-timer_setup-fix.patch43
1 files changed, 43 insertions, 0 deletions
diff --git a/app-laptop/tp_smapi/files/linux-4.15-timer_setup-fix.patch b/app-laptop/tp_smapi/files/linux-4.15-timer_setup-fix.patch
new file mode 100644
index 000000000000..88c5580db181
--- /dev/null
+++ b/app-laptop/tp_smapi/files/linux-4.15-timer_setup-fix.patch
@@ -0,0 +1,43 @@
+From 76c5120f7be4880cf2c6801f872327e4e70c449f Mon Sep 17 00:00:00 2001
+From: Jan Nordholz <jnordholz@sec.t-labs.tu-berlin.de>
+Date: Mon, 4 Dec 2017 03:27:11 +0100
+Subject: [PATCH] Adapt HDAPS driver to use the new timer_setup() interface.
+
+Linux 4.15 removed the ancient init_timer() API and changed the signature
+of the timer handler function.
+
+Signed-off-by: Jan Nordholz <jnordholz@sec.t-labs.tu-berlin.de>
+Closes: #31
+---
+ hdaps.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/hdaps.c b/hdaps.c
+index 0763c3a..76930a3 100644
+--- a/hdaps.c
++++ b/hdaps.c
+@@ -469,7 +469,11 @@ static void hdaps_calibrate(void)
+ /* Timer handler for updating the input device. Runs in softirq context,
+ * so avoid lenghty or blocking operations.
+ */
++#if LINUX_VERSION_CODE < KERNEL_VERSION(4,15,0)
+ static void hdaps_mousedev_poll(unsigned long unused)
++#else
++static void hdaps_mousedev_poll(struct timer_list *unused)
++#endif
+ {
+ int ret;
+
+@@ -779,8 +783,12 @@ static int __init hdaps_init(void)
+ hdaps_invert = 0; /* default */
+
+ /* Init timer before platform_driver_register, in case of suspend */
++#if LINUX_VERSION_CODE < KERNEL_VERSION(4,15,0)
+ init_timer(&hdaps_timer);
+ hdaps_timer.function = hdaps_mousedev_poll;
++#else
++ timer_setup(&hdaps_timer, hdaps_mousedev_poll, 0);
++#endif
+ ret = platform_driver_register(&hdaps_driver);
+ if (ret)
+ goto out;