From: Shiji Yang Date: Fri, 9 May 2025 00:54:48 +0800 Subject: [PATCH] convert platform driver .remove to .remove_new Fix compilation error on 6.12 kernel: /home/db/owrt/build_dir/target-mips_24kc_musl/linux-lantiq_xrx200/drv_mei_cpe-1.5.17.6/src/drv_mei_cpe_linux.c:2073:23: error: initialization of 'void (*)(struct platform_device *)' from incompatible pointer type 'int (*)(struct platform_device *)' [-Wincompatible-pointer-types] 2073 | .remove = __exit_p(ltq_dsl_cpe_mei_remove), | ^~~~~~~~~~~~~~~~~~~~~~ Signed-off-by: Shiji Yang --- 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 @@ -2048,13 +2048,12 @@ static int MEI_InstallProcEntry(unsigned #endif #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0)) -static int __exit ltq_dsl_cpe_mei_remove(struct platform_device *pdev) +static void __exit ltq_dsl_cpe_mei_remove(struct platform_device *pdev) { MEI_module_exit(); /* clear platform */ MEI_DEVICE_CFG_VALUE_SET(platform, e_MEI_DEV_PLATFORM_CONFIG_UNKNOWN); - return 0; } static const struct of_device_id ltq_dsl_cpe_mei_match[] = { @@ -2070,7 +2069,7 @@ static struct platform_driver ltq_dsl_cp .owner = THIS_MODULE, .of_match_table = ltq_dsl_cpe_mei_match, }, - .remove = __exit_p(ltq_dsl_cpe_mei_remove), + .remove_new = __exit_p(ltq_dsl_cpe_mei_remove), }; static int __init ltq_dsl_cpe_mei_probe(struct platform_device *pdev)