Package: dahdi-dkms
Version: 1:3.1.0+git20230717~dfsg-7
Followup-For: Bug #1081372

Hi,

it seems to me that this is caused by a kernel interface change, see
https://github.com/torvalds/linux/commit/d69d804845985c29ab5be5a4b3b1f4787893daf8

It works for me with the following patch.

-- System Information:
Debian Release: trixie/sid
  APT prefers stable-updates
  APT policy: (990, 'stable-updates'), (990, 'stable-security'), (990, 
'testing'), (990, 'stable'), (500, 'stable-debug')
Architecture: amd64 (x86_64)
Foreign Architectures: i386, armhf

Kernel: Linux 6.11.9-amd64 (SMP w/4 CPU threads; PREEMPT)
Kernel taint flags: TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=nl_BE.UTF-8, LC_CTYPE=nl_BE.UTF-8 (charmap=UTF-8), 
LANGUAGE=nl_BE:nl
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages dahdi-dkms depends on:
ii  dkms       3.0.13-1
ii  dpkg-dev   1.22.11
ii  gawk       1:5.2.1-2+b1
ii  gcc        4:14.2.0-1
ii  libc6-dev  2.40-3
ii  make       4.3-4.1

Versions of packages dahdi-dkms recommends:
pn  dahdi-linux  <none>

dahdi-dkms suggests no packages.

-- no debconf information

-- 
Benedikt Wildenhain (er), M.Sc., Wiss. MA - Hardwarenahe IT-Systeme
Hochschule Bochum - Bochum University of Applied Sciences
Campus Velbert/Heiligenhaus - https://www.hs-bochum.de/cvh/
Kettwiger Str. 20, Heiligenhaus, Raum 2-37, Tel +49 2056 5848-16744
--- dahdi-linux-3.1.0+git20230717~dfsg.orig/drivers/dahdi/dahdi-sysfs-chan.c
+++ dahdi-linux-3.1.0+git20230717~dfsg/drivers/dahdi/dahdi-sysfs-chan.c
@@ -220,7 +220,7 @@
 	chan_dbg(DEVICES, chan, "SYSFS\n");
 }
 
-static int chan_match(struct device *dev, struct device_driver *driver)
+static int chan_match(struct device *dev, DEVICE_DRIVER_CONST struct device_driver *driver)
 {
 	struct dahdi_chan *chan;
 
--- dahdi-linux-3.1.0+git20230717~dfsg.orig/drivers/dahdi/dahdi-sysfs.c
+++ dahdi-linux-3.1.0+git20230717~dfsg/drivers/dahdi/dahdi-sysfs.c
@@ -42,7 +42,7 @@
 MODULE_PARM_DESC(tools_rootdir,
 		"root directory of all tools paths (default /)");
 
-static int span_match(struct device *dev, struct device_driver *driver)
+static int span_match(struct device *dev, DEVICE_DRIVER_CONST struct device_driver *driver)
 {
 	return 1;
 }
--- dahdi-linux-3.1.0+git20230717~dfsg.orig/drivers/dahdi/xpp/xbus-sysfs.c
+++ dahdi-linux-3.1.0+git20230717~dfsg/drivers/dahdi/xpp/xbus-sysfs.c
@@ -400,7 +400,7 @@
 ATTRIBUTE_GROUPS(xbus_dev);
 #endif
 
-static int astribank_match(struct device *dev, struct device_driver *driver)
+static int astribank_match(struct device *dev, DEVICE_DRIVER_CONST struct device_driver *driver)
 {
 	DBG(DEVICES, "SYSFS MATCH: dev->bus_id = %s, driver->name = %s\n",
 	    dev_name(dev), driver->name);
@@ -764,7 +764,7 @@
 	return len;
 }
 
-static int xpd_match(struct device *dev, struct device_driver *driver)
+static int xpd_match(struct device *dev, DEVICE_DRIVER_CONST struct device_driver *driver)
 {
 	struct xpd_driver *xpd_driver;
 	xpd_t *xpd;
--- dahdi-linux-3.1.0+git20230717~dfsg.orig/include/dahdi/kernel.h
+++ dahdi-linux-3.1.0+git20230717~dfsg/include/dahdi/kernel.h
@@ -1680,4 +1680,13 @@
 #define UEVENT_CONST
 #endif
 
+/* work-around kernel API change from "struct device_driver *_drv" to
+ * "const struct device_driver *_drv"
+ * as implemented in d69d804845985c29ab5be5a4b3b1f4787893daf8 */
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 11, 0)
+#define DEVICE_DRIVER_CONST const
+#else
+#define DEVICE_DRIVER_CONST
+#endif
+
 #endif /* _DAHDI_KERNEL_H */

Attachment: signature.asc
Description: PGP signature

Reply via email to