mbp2018-etc
mbp2018-etc copied to clipboard
Can't build applesmc_t2_kmod on Linux >=5.11
Due to removal of linux/input-polldev.h from Linux 5.11, you can't compile applesmc_t2_kmod.
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 */
Great! Thank you.