[RFC] system/easy-kernel: fix support for X1C7 touchpad
This is mostly intended as a tracker for X1C7 touchpad support; it will probably be superseded by other Kconfig changes expected for x86_64 and pmmx.
Based on lengthy discussions with a user on our IRC support channel, it seems the changes for x86_64 in this MR are the bare minimum to get it working. Without the following Kconfigs, dmesg will not output anything helpful:
RMI4_I2C
RMI4_SMB
I2C_DESIGNWARE_PLATFORM
I2C_DESIGNWARE_PCI
And without the PINCTRL_CANNONLAKE
config, dmesg will report:
[ 95.611013] i2c_hid i2c-SYNA8004:00: HID over i2c has not been provided an Int IRQ
[ 95.611032] i2c_hid: probe of i2c-SYNA8004:00 failed with error -22
Other changes that might need to be made:
- A quirk adding
psmouse.synaptics_intertouch=1
to the kernel commandline - Changing
CONFIG_HID
to be a module:
--- system/easy-kernel/config-x86_64 2020-05-28 18:28:25.390338318 -0500
+++ system/easy-kernel/config-x86_64.new 2020-05-28 18:35:41.690342990 -0500
@@ -5678,28 +5678,28 @@
#
# HID support
#
-CONFIG_HID=y
+CONFIG_HID=m
CONFIG_HID_BATTERY_STRENGTH=y
CONFIG_HIDRAW=y
CONFIG_UHID=m
-CONFIG_HID_GENERIC=y
+CONFIG_HID_GENERIC=m
#
# Special HID drivers
#
-CONFIG_HID_A4TECH=y
+CONFIG_HID_A4TECH=m
CONFIG_HID_ACCUTOUCH=m
CONFIG_HID_ACRUX=m
CONFIG_HID_ACRUX_FF=y
-CONFIG_HID_APPLE=y
+CONFIG_HID_APPLE=m
CONFIG_HID_APPLEIR=m
CONFIG_HID_ASUS=m
CONFIG_HID_AUREAL=m
-CONFIG_HID_BELKIN=y
+CONFIG_HID_BELKIN=m
CONFIG_HID_BETOP_FF=m
# CONFIG_HID_BIGBEN_FF is not set
-CONFIG_HID_CHERRY=y
-CONFIG_HID_CHICONY=y
+CONFIG_HID_CHERRY=m
+CONFIG_HID_CHICONY=m
CONFIG_HID_CORSAIR=m
# CONFIG_HID_COUGAR is not set
# CONFIG_HID_MACALLY is not set
@@ -5707,14 +5707,14 @@
CONFIG_HID_CMEDIA=m
# CONFIG_HID_CP2112 is not set
# CONFIG_HID_CREATIVE_SB0540 is not set
-CONFIG_HID_CYPRESS=y
+CONFIG_HID_CYPRESS=m
CONFIG_HID_DRAGONRISE=m
CONFIG_DRAGONRISE_FF=y
CONFIG_HID_EMS_FF=m
# CONFIG_HID_ELAN is not set
CONFIG_HID_ELECOM=m
CONFIG_HID_ELO=m
-CONFIG_HID_EZKEY=y
+CONFIG_HID_EZKEY=m
CONFIG_HID_GEMBIRD=m
CONFIG_HID_GFRM=m
CONFIG_HID_HOLTEK=m
@@ -5727,14 +5727,14 @@
# CONFIG_HID_VIEWSONIC is not set
CONFIG_HID_GYRATION=m
CONFIG_HID_ICADE=m
-CONFIG_HID_ITE=y
+CONFIG_HID_ITE=m
# CONFIG_HID_JABRA is not set
CONFIG_HID_TWINHAN=m
-CONFIG_HID_KENSINGTON=y
+CONFIG_HID_KENSINGTON=m
CONFIG_HID_LCPOWER=m
CONFIG_HID_LED=m
CONFIG_HID_LENOVO=m
-CONFIG_HID_LOGITECH=y
+CONFIG_HID_LOGITECH=m
# CONFIG_HID_LOGITECH_DJ is not set
CONFIG_HID_LOGITECH_HIDPP=m
CONFIG_LOGITECH_FF=y
@@ -5745,8 +5745,8 @@
# CONFIG_HID_MALTRON is not set
CONFIG_HID_MAYFLASH=m
# CONFIG_HID_REDRAGON is not set
-CONFIG_HID_MICROSOFT=y
-CONFIG_HID_MONTEREY=y
+CONFIG_HID_MICROSOFT=m
+CONFIG_HID_MONTEREY=m
CONFIG_HID_MULTITOUCH=m
CONFIG_HID_NTI=m
CONFIG_HID_NTRIG=m
@@ -5800,9 +5800,16 @@
#
# USB HID support
#
-CONFIG_USB_HID=y
+CONFIG_USB_HID=m
# CONFIG_HID_PID is not set
CONFIG_USB_HIDDEV=y
+
+#
+# USB HID Boot Protocol drivers
+#
+# CONFIG_USB_KBD is not set
+# CONFIG_USB_MOUSE is not set
+# end of USB HID Boot Protocol drivers
# end of USB HID support
#