mbp2018-etc icon indicating copy to clipboard operation
mbp2018-etc copied to clipboard

Can't build applesmc_t2_kmod on Linux >=5.11

Open NoaHimesaka1873 opened this issue 3 years ago • 2 comments

Due to removal of linux/input-polldev.h from Linux 5.11, you can't compile applesmc_t2_kmod.

NoaHimesaka1873 avatar Feb 28 '21 14:02 NoaHimesaka1873

Apply this patch to make it compile on 5.11:

diff --git a/applesmc/applesmc_t2_kmod.c b/applesmc/applesmc_t2_kmod.c
index 311b09d..8fef458 100644
--- a/applesmc/applesmc_t2_kmod.c
+++ b/applesmc/applesmc_t2_kmod.c
@@ -20,7 +20,7 @@
 
 #include <linux/delay.h>
 #include <linux/acpi.h>
-#include <linux/input-polldev.h>
+#include <linux/input.h>
 #include <linux/kernel.h>
 #include <linux/slab.h>
 #include <linux/module.h>
@@ -162,7 +162,7 @@ struct applesmc_device {
 	u8 backlight_state[2];
 
 	struct device *hwmon_dev;
-	struct input_polled_dev *idev;
+	struct input_dev *idev;
 
 	/*
 	 * Last index written to key_at_index sysfs file, and value to use for all other
@@ -1085,7 +1085,8 @@ static void applesmc_calibrate(struct applesmc_device *smc)
 	smc->rest_x = -smc->rest_x;
 }
 
-static void applesmc_idev_poll(struct input_polled_dev *dev)
+#if 0
+static void applesmc_idev_poll(struct input_dev *dev)
 {
 	struct applesmc_device *smc = dev->private;
 	struct input_dev *idev = dev->input;
@@ -1101,6 +1102,7 @@ static void applesmc_idev_poll(struct input_polled_dev *dev)
 	input_report_abs(idev, ABS_Y, y - smc->rest_y);
 	input_sync(idev);
 }
+#endif
 
 /* Sysfs Files */

degaart avatar Mar 10 '21 09:03 degaart

Great! Thank you.

rotorek avatar Mar 10 '21 11:03 rotorek