push sheeet
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s

This commit is contained in:
Dark Steveneq
2025-10-09 14:15:47 +02:00
commit 646b892680
49168 changed files with 5897842 additions and 0 deletions

View File

@@ -0,0 +1,49 @@
{
stdenv,
lib,
fetchFromGitHub,
linuxPackages,
git,
kernel ? linuxPackages.kernel,
kernelModuleMakeFlags,
}:
stdenv.mkDerivation {
pname = "msi-ec-kmods";
version = "0-unstable-2025-05-17";
src = fetchFromGitHub {
owner = "BeardOverflow";
repo = "msi-ec";
rev = "796be9047b13c311ac4cdec33913775f4057f600";
hash = "sha256-npJbnWFBVb8TK9ynVD/kXWq2iqO0ACKF4UYsu5mQuok=";
};
dontMakeSourcesWritable = false;
patches = [
./patches/makefile.patch
./patches/kernel-string-choices.patch
];
hardeningDisable = [ "pic" ];
makeFlags = kernelModuleMakeFlags ++ [
"KERNELDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
"INSTALL_MOD_PATH=$(out)"
];
nativeBuildInputs = kernel.moduleBuildDependencies ++ [ git ];
installTargets = [ "modules_install" ];
enableParallelBuilding = true;
meta = {
description = "Kernel modules for MSI Embedded controller";
homepage = "https://github.com/BeardOverflow/msi-ec";
license = lib.licenses.gpl2Plus;
maintainers = [ lib.maintainers.m1dugh ];
platforms = lib.platforms.linux;
broken = kernel.kernelOlder "5.5";
};
}

View File

@@ -0,0 +1,37 @@
--- 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,

View File

@@ -0,0 +1,28 @@
diff --git a/Makefile b/Makefile
index bffcbd4..fd1d8a3 100644
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,7 @@
VERSION := 0.08
DKMS_ROOT_PATH := /usr/src/msi_ec-$(VERSION)
TARGET ?= $(shell uname -r)
+KERNELDIR ?= /lib/modules/$(TARGET)/build/
ccflags-y := -std=gnu11 -Wno-declaration-after-statement
@@ -10,11 +11,14 @@ obj-m += msi-ec.o
all: modules
modules:
- @$(MAKE) -C /lib/modules/$(TARGET)/build M=$(CURDIR) modules
+ @$(MAKE) -C $(KERNELDIR) M=$(CURDIR) modules
clean:
@$(MAKE) -C /lib/modules/$(TARGET)/build M=$(CURDIR) clean
+modules_install:
+ @$(MAKE) -C $(KERNELDIR) M=$(CURDIR) modules_install
+
load:
insmod msi-ec.ko