~ruther/guix-local

029f2e970d5d14dda2dc89a4a3cc17de573ff90c — Maxim Cournoyer 1 year, 10 months ago 01b516a
gnu: ddcci-driver-linux: Fix build with Linux 6.8.

* gnu/packages/patches/ddcci-driver-linux-linux-6.8.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/linux.scm (ddcci-driver-linux): Apply it.

Change-Id: Iac63146e67333aed2a95e8064b19f031c97a4134
Cover-letter:
 Add BTF support to kernel, sysdig and dependents, zstd-compressed modules
 This series adds BTF (Berkeley Type Format) support to our kernel, catching up
 with other main distributions in enabling embedded BPF (Berkeley Packet
 Filter) programs.

 This was motivated by packaging 'sysdig', a system introspection application
 that can make use of BTF.  Adding BTF does incur some size increase; with
 'linux-libre' package going up from 132 MiB to 164 MiB (24%).  This is later
 somewhat mitigated by using Zstd compressed (at maximum level, 19) kernel
 modules, which brings the kernel size back down to 144 MiB, which corresponds
 to a more reasonable 9% increase from before this series.  The BPF kernel
 variant we were carrying is removed as proper BPF support will now exists in
 our main kernel.

 That's it!  I hope you enjoy using 'csysdig' to keep track of the syscalls and
 IO usage of your process/threads.
 END

Change-Id: Icb5fc659f529a2a840281284bfb0d74a0cc9b9d9
3 files changed, 39 insertions(+), 1 deletions(-)

M gnu/local.mk
M gnu/packages/linux.scm
A gnu/packages/patches/ddcci-driver-linux-linux-6.8.patch
M gnu/local.mk => gnu/local.mk +1 -0
@@ 1099,6 1099,7 @@ dist_patch_DATA =						\
  %D%/packages/patches/dbus-c++-gcc-compat.patch		\
  %D%/packages/patches/dbus-c++-threading-mutex.patch		\
  %D%/packages/patches/dbxfs-remove-sentry-sdk.patch		\
  %D%/packages/patches/ddcci-driver-linux-linux-6.8.patch	\
  %D%/packages/patches/debops-constants-for-external-program-names.patch \
  %D%/packages/patches/debops-debops-defaults-fall-back-to-less.patch \
  %D%/packages/patches/dee-vapi.patch			\

M gnu/packages/linux.scm => gnu/packages/linux.scm +2 -1
@@ 1748,7 1748,8 @@ graphics card on Optimus laptops.")
         (commit (string-append "v" version))))
       (file-name (git-file-name name version))
       (sha256
        (base32 "19vi7dk4jv5wm18cznz4lj2fb1c7m7j3ig62x4a6qy9djxf9z472"))))
        (base32 "19vi7dk4jv5wm18cznz4lj2fb1c7m7j3ig62x4a6qy9djxf9z472"))
       (patches (search-patches "ddcci-driver-linux-linux-6.8.patch"))))
    (build-system linux-module-build-system)
    (arguments
     (list #:tests? #f                  ; no tests

A gnu/packages/patches/ddcci-driver-linux-linux-6.8.patch => gnu/packages/patches/ddcci-driver-linux-linux-6.8.patch +36 -0
@@ 0,0 1,36 @@
Retrieved from: https://gitlab.com/ddcci-driver-linux/ddcci-driver-linux/-/commit/3eb20df68a545d07b8501f13fa9d20e9c6f577ed.patch

From 7f851f5fb8fbcd7b3a93aaedff90b27124e17a7e Mon Sep 17 00:00:00 2001
From: Bruno Inec <contact@sweenu.xyz>
Date: Wed, 20 Mar 2024 10:36:56 +0100
Subject: [PATCH] Compatibility with Linux 6.8

---
 ddcci/ddcci.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/ddcci/ddcci.c b/ddcci/ddcci.c
index 87b0818..6073c75 100644
--- a/ddcci/ddcci.c
+++ b/ddcci/ddcci.c
@@ -1666,7 +1666,7 @@ static int ddcci_detect(struct i2c_client *client, struct i2c_board_info *info)
 	pr_debug("detected %d:%02x\n", client->adapter->nr, outer_addr);
 
 	/* set device type */
-	strlcpy(info->type, (outer_addr == DDCCI_DEFAULT_DEVICE_ADDR) ? "ddcci" : "ddcci-dependent", I2C_NAME_SIZE);
+	strscpy(info->type, (outer_addr == DDCCI_DEFAULT_DEVICE_ADDR) ? "ddcci" : "ddcci-dependent", I2C_NAME_SIZE);
 
 	return 0;
 }
@@ -1824,7 +1824,7 @@ static struct i2c_driver ddcci_driver = {
 	#else
 	.remove		= ddcci_remove,
 	#endif
-	.class		= I2C_CLASS_DDC,
+	.class		= I2C_CLASS_SPD,
 	.detect		= ddcci_detect,
 	.address_list	= I2C_ADDRS(
 		DDCCI_DEFAULT_DEVICE_ADDR>>1
-- 
GitLab