]> git.ipfire.org Git - thirdparty/openwrt.git/commitdiff
ltq-vdsl-vr11-mei: improve compatibility with the 6.12 kernel.
authorShiji Yang <yangshiji66@outlook.com>
Sat, 10 May 2025 09:19:18 +0000 (17:19 +0800)
committerRobert Marko <robimarko@gmail.com>
Tue, 13 May 2025 20:02:19 +0000 (22:02 +0200)
Convert .remove to .remove_new so that it can be compatible with
both 6.6 and 6.12 kernels.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18744
Signed-off-by: Robert Marko <robimarko@gmail.com>
package/kernel/lantiq/ltq-vdsl-vr11-mei/patches/133-convert-platform-driver-.remove-to-.remove_new.patch [new file with mode: 0644]

diff --git a/package/kernel/lantiq/ltq-vdsl-vr11-mei/patches/133-convert-platform-driver-.remove-to-.remove_new.patch b/package/kernel/lantiq/ltq-vdsl-vr11-mei/patches/133-convert-platform-driver-.remove-to-.remove_new.patch
new file mode 100644 (file)
index 0000000..0ad2ab7
--- /dev/null
@@ -0,0 +1,43 @@
+From: Shiji Yang <yangshiji66@outlook.com>
+Date: Wed, 7 May 2025 22:07:16 +0800
+Subject: [PATCH] convert platform driver .remove to .remove_new
+
+Fix build error on 6.12 kernel:
+
+/home/db/owrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/linux-ipq40xx_generic/dsl_cpe_mei-ugw_8.5.2.10/src/drv_mei_cpe_linux.c:2270:14: error: initialization of 'void (*)(struct platform_device *)' from incompatible pointer type 'int (*)(struct platform_device *)' [-Wincompatible-pointer-types]
+ 2270 |    .remove = ltq_dsl_cpe_mei_remove,
+      |              ^~~~~~~~~~~~~~~~~~~~~~
+
+Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
+---
+ src/drv_mei_cpe_linux.c | 5 ++---
+ 1 file changed, 2 insertions(+), 3 deletions(-)
+
+--- a/src/drv_mei_cpe_linux.c
++++ b/src/drv_mei_cpe_linux.c
+@@ -2234,7 +2234,7 @@ static int dev_found = 0;
+ /* containt the number of devices registered in module_init */
+ static int dev_registered = 0;
+-static int ltq_dsl_cpe_mei_remove(struct platform_device *pdev)
++static void ltq_dsl_cpe_mei_remove(struct platform_device *pdev)
+ {
+    /* clear platform */
+    MEI_DEVICE_CFG_VALUE_SET(platform, e_MEI_DEV_PLATFORM_CONFIG_UNKNOWN);
+@@ -2244,7 +2244,6 @@ static int ltq_dsl_cpe_mei_remove(struct
+         dev_registered--;
+     }
+ #endif
+-   return 0;
+ }
+ static const struct of_device_id ltq_dsl_cpe_mei_match[] = {
+@@ -2267,7 +2266,7 @@ static struct platform_driver ltq_dsl_cp
+       .owner          = THIS_MODULE,
+       .of_match_table = ltq_dsl_cpe_mei_match,
+    },
+-   .remove = ltq_dsl_cpe_mei_remove,
++   .remove_new = ltq_dsl_cpe_mei_remove,
+ };
+ static int ltq_dsl_cpe_mei_reboot_notifier(struct notifier_block *nb,