diff -Naur clevo-keyboard/Makefile clevo-keyboardn/Makefile
--- clevo-keyboard/Makefile	2025-02-21 10:10:44.752063570 +0100
+++ clevo-keyboardn/Makefile	2025-02-21 10:11:24.211984122 +0100
@@ -16,11 +16,11 @@
 # You should have received a copy of the GNU General Public License
 # along with this software.  If not, see <https://www.gnu.org/licenses/>.
 #
-obj-m :=	./src/tuxedo_keyboard.o \
-		./src/clevo_wmi.o \
-		./src/clevo_acpi.o \
-		./src/tuxedo_io/tuxedo_io.o \
-		./src/uniwill_wmi.o
+obj-m :=	src/tuxedo_keyboard.o \
+		src/clevo_wmi.o \
+		src/clevo_acpi.o \
+		src/tuxedo_io/tuxedo_io.o \
+		src/uniwill_wmi.o
 
 PWD := $(shell pwd)
 KDIR := /lib/modules/$(shell uname -r)/build
diff -Naur clevo-keyboard/src/tuxedo_keyboard.c clevo-keyboardn/src/tuxedo_keyboard.c
--- clevo-keyboard/src/tuxedo_keyboard.c	2025-02-21 10:10:44.752063570 +0100
+++ clevo-keyboardn/src/tuxedo_keyboard.c	2025-02-21 10:16:24.983428197 +0100
@@ -269,7 +269,8 @@
 	X86_MATCH_VENDOR_FAM_MODEL(AMD, 25, 0x50, NULL), // Zen 3 Cezanne
 	{ }
 };
-#else
+#elif LINUX_VERSION_CODE < KERNEL_VERSION(6, 13, 0)
+// Compatibility defines: INTEL_FAM5_QUARK_X1000 remove in 6.13
 static const struct x86_cpu_id skip_tuxedo_dmi_string_check_match[] __initconst = {
 	X86_MATCH_VFM(INTEL_CORE_YONAH, NULL),
 	X86_MATCH_VFM(INTEL_CORE2_MEROM, NULL),
@@ -343,6 +344,97 @@
 	X86_MATCH_VENDOR_FAM(AMD, 5, NULL),
 	X86_MATCH_VENDOR_FAM(AMD, 6, NULL),
 	X86_MATCH_VENDOR_FAM(AMD, 15, NULL),
+	X86_MATCH_VENDOR_FAM(AMD, 16, NULL),
+	X86_MATCH_VENDOR_FAM(AMD, 17, NULL),
+	X86_MATCH_VENDOR_FAM(AMD, 18, NULL),
+	X86_MATCH_VENDOR_FAM(AMD, 19, NULL),
+	X86_MATCH_VENDOR_FAM(AMD, 20, NULL),
+	X86_MATCH_VENDOR_FAM(AMD, 21, NULL),
+	X86_MATCH_VENDOR_FAM(AMD, 22, NULL),
+	X86_MATCH_VENDOR_FAM(AMD, 23, NULL), // Zen, Zen+, Zen 2
+	X86_MATCH_VENDOR_FAM(AMD, 24, NULL), // Zen
+	X86_MATCH_VENDOR_FAM_MODEL(AMD, 25, 0x01, NULL), // Zen 3 Epyc
+	X86_MATCH_VENDOR_FAM_MODEL(AMD, 25, 0x08, NULL), // Zen 3 Threadripper
+	X86_MATCH_VENDOR_FAM_MODEL(AMD, 25, 0x21, NULL), // Zen 3 Vermeer
+	X86_MATCH_VENDOR_FAM_MODEL(AMD, 25, 0x40, NULL), // Zen 3+ Rembrandt
+	X86_MATCH_VENDOR_FAM_MODEL(AMD, 25, 0x44, NULL), // Zen 3+ Rembrandt
+	X86_MATCH_VENDOR_FAM_MODEL(AMD, 25, 0x50, NULL), // Zen 3 Cezanne
+	{ }
+};
+#else
+static const struct x86_cpu_id skip_tuxedo_dmi_string_check_match[] __initconst = {
+	X86_MATCH_VFM(INTEL_CORE_YONAH, NULL),
+	X86_MATCH_VFM(INTEL_CORE2_MEROM, NULL),
+	X86_MATCH_VFM(INTEL_CORE2_MEROM_L, NULL),
+	X86_MATCH_VFM(INTEL_CORE2_PENRYN, NULL),
+	X86_MATCH_VFM(INTEL_CORE2_DUNNINGTON, NULL),
+	X86_MATCH_VFM(INTEL_NEHALEM, NULL),
+	X86_MATCH_VFM(INTEL_NEHALEM_G, NULL),
+	X86_MATCH_VFM(INTEL_NEHALEM_EP, NULL),
+	X86_MATCH_VFM(INTEL_NEHALEM_EX, NULL),
+	X86_MATCH_VFM(INTEL_WESTMERE, NULL),
+	X86_MATCH_VFM(INTEL_WESTMERE_EP, NULL),
+	X86_MATCH_VFM(INTEL_WESTMERE_EX, NULL),
+	X86_MATCH_VFM(INTEL_SANDYBRIDGE, NULL),
+	X86_MATCH_VFM(INTEL_SANDYBRIDGE_X, NULL),
+	X86_MATCH_VFM(INTEL_IVYBRIDGE, NULL),
+	X86_MATCH_VFM(INTEL_IVYBRIDGE_X, NULL),
+	X86_MATCH_VFM(INTEL_HASWELL, NULL),
+	X86_MATCH_VFM(INTEL_HASWELL_X, NULL),
+	X86_MATCH_VFM(INTEL_HASWELL_L, NULL),
+	X86_MATCH_VFM(INTEL_HASWELL_G, NULL),
+	X86_MATCH_VFM(INTEL_BROADWELL, NULL),
+	X86_MATCH_VFM(INTEL_BROADWELL_G, NULL),
+	X86_MATCH_VFM(INTEL_BROADWELL_X, NULL),
+	X86_MATCH_VFM(INTEL_BROADWELL_D, NULL),
+	X86_MATCH_VFM(INTEL_SKYLAKE_L, NULL),
+	X86_MATCH_VFM(INTEL_SKYLAKE, NULL),
+	X86_MATCH_VFM(INTEL_SKYLAKE_X, NULL),
+	X86_MATCH_VFM(INTEL_KABYLAKE_L, NULL),
+	X86_MATCH_VFM(INTEL_KABYLAKE, NULL),
+	X86_MATCH_VFM(INTEL_COMETLAKE, NULL),
+	X86_MATCH_VFM(INTEL_COMETLAKE_L, NULL),
+	X86_MATCH_VFM(INTEL_CANNONLAKE_L, NULL),
+	X86_MATCH_VFM(INTEL_ICELAKE_X, NULL),
+	X86_MATCH_VFM(INTEL_ICELAKE_D, NULL),
+	X86_MATCH_VFM(INTEL_ICELAKE, NULL),
+	X86_MATCH_VFM(INTEL_ICELAKE_L, NULL),
+	X86_MATCH_VFM(INTEL_ICELAKE_NNPI, NULL),
+	X86_MATCH_VFM(INTEL_LAKEFIELD, NULL),
+	X86_MATCH_VFM(INTEL_ROCKETLAKE, NULL),
+	X86_MATCH_VFM(INTEL_TIGERLAKE_L, NULL),
+	X86_MATCH_VFM(INTEL_TIGERLAKE, NULL),
+	X86_MATCH_VFM(INTEL_SAPPHIRERAPIDS_X, NULL), // 12th Gen Xeon
+	//X86_MATCH_VFM(INTEL_EMERALDRAPIDS_X, NULL), // 13th Gen Xeon
+	X86_MATCH_VFM(INTEL_ALDERLAKE, NULL), // 12th Gen
+	X86_MATCH_VFM(INTEL_ALDERLAKE_L, NULL), // 12th Gen
+	X86_MATCH_VFM(INTEL_ALDERLAKE_N, NULL), // 12th Gen Atom
+	X86_MATCH_VFM(INTEL_RAPTORLAKE, NULL), // 13th Gen
+	X86_MATCH_VFM(INTEL_RAPTORLAKE_P, NULL), // 13th Gen
+	X86_MATCH_VFM(INTEL_RAPTORLAKE_S, NULL), // 13th Gen
+	X86_MATCH_VFM(INTEL_ATOM_BONNELL, NULL),
+	X86_MATCH_VFM(INTEL_ATOM_BONNELL_MID, NULL),
+	X86_MATCH_VFM(INTEL_ATOM_SALTWELL, NULL),
+	X86_MATCH_VFM(INTEL_ATOM_SALTWELL_MID, NULL),
+	X86_MATCH_VFM(INTEL_ATOM_SALTWELL_TABLET, NULL),
+	X86_MATCH_VFM(INTEL_ATOM_SILVERMONT, NULL),
+	X86_MATCH_VFM(INTEL_ATOM_SILVERMONT_D, NULL),
+	X86_MATCH_VFM(INTEL_ATOM_SILVERMONT_MID, NULL),
+	X86_MATCH_VFM(INTEL_ATOM_AIRMONT, NULL),
+	X86_MATCH_VFM(INTEL_ATOM_AIRMONT_MID, NULL),
+	X86_MATCH_VFM(INTEL_ATOM_AIRMONT_NP, NULL),
+	X86_MATCH_VFM(INTEL_ATOM_GOLDMONT, NULL),
+	X86_MATCH_VFM(INTEL_ATOM_GOLDMONT_D, NULL),
+	X86_MATCH_VFM(INTEL_ATOM_GOLDMONT_PLUS, NULL),
+	X86_MATCH_VFM(INTEL_ATOM_TREMONT_D, NULL),
+	X86_MATCH_VFM(INTEL_ATOM_TREMONT, NULL),
+	X86_MATCH_VFM(INTEL_ATOM_TREMONT_L, NULL),
+	X86_MATCH_VFM(INTEL_XEON_PHI_KNL, NULL),
+	X86_MATCH_VFM(INTEL_XEON_PHI_KNM, NULL),
+	X86_MATCH_VFM(INTEL_QUARK_X1000, NULL),
+	X86_MATCH_VENDOR_FAM(AMD, 5, NULL),
+	X86_MATCH_VENDOR_FAM(AMD, 6, NULL),
+	X86_MATCH_VENDOR_FAM(AMD, 15, NULL),
 	X86_MATCH_VENDOR_FAM(AMD, 16, NULL),
 	X86_MATCH_VENDOR_FAM(AMD, 17, NULL),
 	X86_MATCH_VENDOR_FAM(AMD, 18, NULL),
