aports/testing/ddcci-driver-linux-src/f53b127ca9d7fc0969c0ee3499d8c55aebfe8116.patch
Hugo Osvaldo Barrera ca53f86937 testing/ddcci-driver-linux-src: fix builds with linux 6.8 thru 6.11
All three patches are merged (but not yet released) upstream.

See: f53b127ca9.patch
See: 7853cbfc28.patch
See: e0605c9cdf.patch
2025-03-17 16:42:07 +00:00

45 lines
1.5 KiB
Diff

From f53b127ca9d7fc0969c0ee3499d8c55aebfe8116 Mon Sep 17 00:00:00 2001
From: Kamila Wojciechowska <nullbytepl@gmail.com>
Date: Mon, 29 Jul 2024 21:12:16 +0200
Subject: [PATCH] Actually fix building on Linux 6.8+
Patch-Source: https://gitlab.com/ddcci-driver-linux/ddcci-driver-linux/-/commit/f53b127ca9d7fc0969c0ee3499d8c55aebfe8116.patch
Since the previous patch adding compatiblity with Linux 6.8 (7f851f5f),
auto-probing has been broken anyway, so we might as well completely drop
the deprecated class mechanism (when building on 6.8+), as other I2C
device classes will get removed in the future anyway (like I2C_CLASS_SPD
has in 6.10).
---
ddcci/ddcci.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/ddcci/ddcci.c b/ddcci/ddcci.c
index d107f8c..13ddb85 100644
--- a/ddcci/ddcci.c
+++ b/ddcci/ddcci.c
@@ -1824,7 +1824,9 @@ static struct i2c_driver ddcci_driver = {
#else
.remove = ddcci_remove,
#endif
- .class = I2C_CLASS_SPD,
+ #if LINUX_VERSION_CODE < KERNEL_VERSION(6, 8, 0)
+ .class = I2C_CLASS_DDC,
+ #endif
.detect = ddcci_detect,
.address_list = I2C_ADDRS(
DDCCI_DEFAULT_DEVICE_ADDR>>1
@@ -1840,6 +1842,11 @@ static int __init ddcci_module_init(void)
int ret;
pr_debug("initializing ddcci driver\n");
+
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 8, 0)
+ pr_warn("WARNING: Auto-probing of displays is not available on kernel 6.8 and later\n");
+ #endif
+
/* Allocate a device number region for the character devices */
ret = alloc_chrdev_region(&ddcci_cdev_first, 0, 128, DEVICE_NAME);
if (ret < 0) {
--
GitLab