diff --git a/pkgs/os-specific/linux/xpadneo/default.nix b/pkgs/os-specific/linux/xpadneo/default.nix index b186c90ddbd7..96c610b57c80 100644 --- a/pkgs/os-specific/linux/xpadneo/default.nix +++ b/pkgs/os-specific/linux/xpadneo/default.nix @@ -22,6 +22,8 @@ stdenv.mkDerivation (finalAttrs: { export sourceRoot=$(pwd)/${finalAttrs.src.name}/hid-xpadneo/src ''; + patches = [ ./xpadneo-0.9.6-kernel-6.12.patch ]; + nativeBuildInputs = kernel.moduleBuildDependencies; buildInputs = [ bluez ]; diff --git a/pkgs/os-specific/linux/xpadneo/xpadneo-0.9.6-kernel-6.12.patch b/pkgs/os-specific/linux/xpadneo/xpadneo-0.9.6-kernel-6.12.patch new file mode 100644 index 000000000000..3e0c8c605db9 --- /dev/null +++ b/pkgs/os-specific/linux/xpadneo/xpadneo-0.9.6-kernel-6.12.patch @@ -0,0 +1,20 @@ +--- a/hid-xpadneo.c ++++ b/hid-xpadneo.c +@@ -713,5 +713,9 @@ + } + ++#if LINUX_VERSION_CODE < KERNEL_VERSION(6,12,0) + static u8 *xpadneo_report_fixup(struct hid_device *hdev, u8 *rdesc, unsigned int *rsize) ++#else ++static const u8 *xpadneo_report_fixup(struct hid_device *hdev, u8 *rdesc, unsigned int *rsize) ++#endif + { + struct xpadneo_devdata *xdata = hid_get_drvdata(hdev); +--- a/xpadneo.h ++++ b/xpadneo.h +@@ -13,4 +13,5 @@ + + #include ++#include + + #include "hid-ids.h"