Loading pkgs/os-specific/linux/msi-ec/default.nix +7 −4 Original line number Diff line number Diff line Loading @@ -9,18 +9,21 @@ }: stdenv.mkDerivation { pname = "msi-ec-kmods"; version = "0-unstable-2024-11-04"; version = "0-unstable-2025-05-17"; src = fetchFromGitHub { owner = "BeardOverflow"; repo = "msi-ec"; rev = "be6f7156cd15f6ecf9d48dfcc30cbd1f693916b8"; hash = "sha256-gImiP4OaBt80n+qgVnbhd0aS/zW+05o3DzGCw0jq+0g="; rev = "796be9047b13c311ac4cdec33913775f4057f600"; hash = "sha256-npJbnWFBVb8TK9ynVD/kXWq2iqO0ACKF4UYsu5mQuok="; }; dontMakeSourcesWritable = false; patches = [ ./patches/makefile.patch ]; patches = [ ./patches/makefile.patch ./patches/kernel-string-choices.patch ]; hardeningDisable = [ "pic" ]; Loading pkgs/os-specific/linux/msi-ec/patches/kernel-string-choices.patch 0 → 100644 +37 −0 Original line number Diff line number Diff line --- a/msi-ec.c +++ b/msi-ec.c @@ -38,7 +38,12 @@ #include <linux/slab.h> #include <linux/version.h> #include <linux/rtc.h> -#include <linux/string_choices.h> + +#include <linux/version.h> +#if LINUX_VERSION_CODE >= KERNEL_VERSION(6,6,0) +#include <linux/string_choices.h> +#endif + static DEFINE_MUTEX(ec_set_by_mask_mutex); static DEFINE_MUTEX(ec_unset_by_mask_mutex); @@ -1141,6 +1146,20 @@ static struct msi_ec_conf CONF52 __initdata = { }, }; +#if LINUX_VERSION_CODE < KERNEL_VERSION(6,1,0) +/* Define our own string choice helpers for older kernels */ +static inline const char *str_on_off(bool v) +{ + return v ? "on" : "off"; +} + +static inline const char *str_yes_no(bool v) +{ + return v ? "yes" : "no"; +} +#endif + + static struct msi_ec_conf *CONFIGURATIONS[] __initdata = { &CONF0, &CONF1, Loading
pkgs/os-specific/linux/msi-ec/default.nix +7 −4 Original line number Diff line number Diff line Loading @@ -9,18 +9,21 @@ }: stdenv.mkDerivation { pname = "msi-ec-kmods"; version = "0-unstable-2024-11-04"; version = "0-unstable-2025-05-17"; src = fetchFromGitHub { owner = "BeardOverflow"; repo = "msi-ec"; rev = "be6f7156cd15f6ecf9d48dfcc30cbd1f693916b8"; hash = "sha256-gImiP4OaBt80n+qgVnbhd0aS/zW+05o3DzGCw0jq+0g="; rev = "796be9047b13c311ac4cdec33913775f4057f600"; hash = "sha256-npJbnWFBVb8TK9ynVD/kXWq2iqO0ACKF4UYsu5mQuok="; }; dontMakeSourcesWritable = false; patches = [ ./patches/makefile.patch ]; patches = [ ./patches/makefile.patch ./patches/kernel-string-choices.patch ]; hardeningDisable = [ "pic" ]; Loading
pkgs/os-specific/linux/msi-ec/patches/kernel-string-choices.patch 0 → 100644 +37 −0 Original line number Diff line number Diff line --- a/msi-ec.c +++ b/msi-ec.c @@ -38,7 +38,12 @@ #include <linux/slab.h> #include <linux/version.h> #include <linux/rtc.h> -#include <linux/string_choices.h> + +#include <linux/version.h> +#if LINUX_VERSION_CODE >= KERNEL_VERSION(6,6,0) +#include <linux/string_choices.h> +#endif + static DEFINE_MUTEX(ec_set_by_mask_mutex); static DEFINE_MUTEX(ec_unset_by_mask_mutex); @@ -1141,6 +1146,20 @@ static struct msi_ec_conf CONF52 __initdata = { }, }; +#if LINUX_VERSION_CODE < KERNEL_VERSION(6,1,0) +/* Define our own string choice helpers for older kernels */ +static inline const char *str_on_off(bool v) +{ + return v ? "on" : "off"; +} + +static inline const char *str_yes_no(bool v) +{ + return v ? "yes" : "no"; +} +#endif + + static struct msi_ec_conf *CONFIGURATIONS[] __initdata = { &CONF0, &CONF1,