From 45eeedbbfc805a26df2c0a0b9c6edca51a4a0895 Mon Sep 17 00:00:00 2001 From: Martin Schiller Date: Wed, 15 May 2024 10:42:53 +0200 Subject: [PATCH] kernel: ltq-vdsl-vr9-mei: fix compilation with linux 6.6 This adds some compile fixes for linux 6.6 compatibility. class_create now require only the name instead of the module ownership reference. Also the kernel enabled checks for enum. Signed-off-by: Martin Schiller --- .../patches/402-kernel-6.6-fixes.patch | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 package/kernel/lantiq/ltq-vdsl-vr9-mei/patches/402-kernel-6.6-fixes.patch diff --git a/package/kernel/lantiq/ltq-vdsl-vr9-mei/patches/402-kernel-6.6-fixes.patch b/package/kernel/lantiq/ltq-vdsl-vr9-mei/patches/402-kernel-6.6-fixes.patch new file mode 100644 index 000000000000..8df0a31e7ea8 --- /dev/null +++ b/package/kernel/lantiq/ltq-vdsl-vr9-mei/patches/402-kernel-6.6-fixes.patch @@ -0,0 +1,32 @@ +--- a/src/drv_mei_cpe_os.h ++++ b/src/drv_mei_cpe_os.h +@@ -36,6 +36,15 @@ + #include "ifxos_select.h" + #include "ifx_fifo.h" + ++/* __BYTE_ORDER is defined in ifxos_linux_common.h and ifxos_linux_drv.h, which ++ * leads to an compile error in include/uapi/linux/aio_abi.h because the ++ * __LITTLE_ENDIAN is still undefined. So let's undef the unwanted __BYTE_ORDER ++ * again here. ++ */ ++#ifdef __BYTE_ORDER ++ #undef __BYTE_ORDER ++#endif ++ + #if defined(IFXOS_HAVE_VERSION_CHECK) + # if (IFXOS_VERSION_CHECK_EG_THAN(1,1,0)) + # define IFXOS_SUPPORTS_FIFO_PEEK 1 +--- a/src/drv_mei_cpe_linux.c ++++ b/src/drv_mei_cpe_linux.c +@@ -2548,7 +2548,11 @@ static int MEI_InitModuleRegCharDev(cons + ("Using major number %d" MEI_DRV_CRLF, major_number)); + } + ++#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 4, 0) + mei_class = class_create(THIS_MODULE, devName); ++#else ++ mei_class = class_create(devName); ++#endif + mei_devt = MKDEV(major_number, 0); + device_create(mei_class, NULL, mei_devt, NULL, "%s/%i", devName, 0); + -- 2.30.2