From 000d25c31257e981309ea5d57c6c90337736f0bf Mon Sep 17 00:00:00 2001 From: Daniel Golle Date: Wed, 3 Apr 2024 22:54:51 +0100 Subject: [PATCH] kernel: ltq-vmmc: fix compilation warning/error Fix compilation warning enum-int-mismatch which results in failure to build kmod-ltq-vmmc in case CONFIG_KERNEL_WERROR is set. .../build_dir/target-mips_24kc_musl/linux-lantiq_xrx200/drv_vmmc-1.9.0/src/mps/drv_mps_vmmc_common.c:392:14: error: conflicting types for 'ifx_mps_fastbuf_init' due to enum/integer mismatch; have 'IFX_return_t(void)' [-Werror=enum-int-mismatch] 392 | IFX_return_t ifx_mps_fastbuf_init (IFX_void_t) | ^~~~~~~~~~~~~~~~~~~~ .../build_dir/target-mips_24kc_musl/linux-lantiq_xrx200/drv_vmmc-1.9.0/src/mps/drv_mps_vmmc_common.c:120:13: note: previous declaration of 'ifx_mps_fastbuf_init' with type 'IFX_int32_t(void)' {aka 'int(void)'} 120 | IFX_int32_t ifx_mps_fastbuf_init (IFX_void_t); | ^~~~~~~~~~~~~~~~~~~~ .../build_dir/target-mips_24kc_musl/linux-lantiq_xrx200/drv_vmmc-1.9.0/src/mps/drv_mps_vmmc_common.c:420:14: error: conflicting types for 'ifx_mps_fastbuf_close' due to enum/integer mismatch; have 'IFX_return_t(void)' [-Werror=enum-int-mismatch] 420 | IFX_return_t ifx_mps_fastbuf_close (IFX_void_t) | ^~~~~~~~~~~~~~~~~~~~~ .../build_dir/target-mips_24kc_musl/linux-lantiq_xrx200/drv_vmmc-1.9.0/src/mps/drv_mps_vmmc_common.c:121:13: note: previous declaration of 'ifx_mps_fastbuf_close' with type 'IFX_int32_t(void)' {aka 'int(void)'} 121 | IFX_int32_t ifx_mps_fastbuf_close (IFX_void_t); | ^~~~~~~~~~~~~~~~~~~~~ cc1: all warnings being treated as errors Refresh patches and bump PKG_RELEASE while at it. Signed-off-by: Daniel Golle --- package/kernel/lantiq/ltq-vmmc/Makefile | 2 +- ...-fix-compilation-warning-fallthrough.patch | 2 +- ...x-compilation-warning-int-conversion.patch | 26 +++++++++++++++++++ 3 files changed, 28 insertions(+), 2 deletions(-) create mode 100644 package/kernel/lantiq/ltq-vmmc/patches/602-fix-compilation-warning-int-conversion.patch diff --git a/package/kernel/lantiq/ltq-vmmc/Makefile b/package/kernel/lantiq/ltq-vmmc/Makefile index 4972f1c374a..8cd6b3de451 100644 --- a/package/kernel/lantiq/ltq-vmmc/Makefile +++ b/package/kernel/lantiq/ltq-vmmc/Makefile @@ -10,7 +10,7 @@ include $(INCLUDE_DIR)/kernel.mk PKG_NAME:=drv_vmmc PKG_VERSION:=1.9.0 -PKG_RELEASE:=4 +PKG_RELEASE:=5 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 PKG_HASH:=707f515eb727c032418c4da67d7e86884bb56cdc2a606e8f6ded6057d8767e57 diff --git a/package/kernel/lantiq/ltq-vmmc/patches/600-fix-compilation-warning-fallthrough.patch b/package/kernel/lantiq/ltq-vmmc/patches/600-fix-compilation-warning-fallthrough.patch index 7282bc446dd..aaacf2e7ca8 100644 --- a/package/kernel/lantiq/ltq-vmmc/patches/600-fix-compilation-warning-fallthrough.patch +++ b/package/kernel/lantiq/ltq-vmmc/patches/600-fix-compilation-warning-fallthrough.patch @@ -1,6 +1,6 @@ --- a/src/drv_vmmc_bbd.c +++ b/src/drv_vmmc_bbd.c -@@ -1025,6 +1025,7 @@ static IFX_int32_t vmmc_BBD_WhiteListedCmdWr(VMMC_CHANNEL *pCh, +@@ -1025,6 +1025,7 @@ static IFX_int32_t vmmc_BBD_WhiteListedC } } } diff --git a/package/kernel/lantiq/ltq-vmmc/patches/602-fix-compilation-warning-int-conversion.patch b/package/kernel/lantiq/ltq-vmmc/patches/602-fix-compilation-warning-int-conversion.patch new file mode 100644 index 00000000000..f95407b3956 --- /dev/null +++ b/package/kernel/lantiq/ltq-vmmc/patches/602-fix-compilation-warning-int-conversion.patch @@ -0,0 +1,26 @@ +--- a/src/mps/drv_mps_vmmc_common.c ++++ b/src/mps/drv_mps_vmmc_common.c +@@ -117,8 +117,8 @@ IFX_void_t ifx_mps_mbx_event_upstream (I + #endif /* CONFIG_MPS_EVENT_MBX */ + IFX_void_t *ifx_mps_fastbuf_malloc (IFX_size_t size, IFX_int32_t priority); + IFX_void_t ifx_mps_fastbuf_free (const IFX_void_t * ptr); +-IFX_int32_t ifx_mps_fastbuf_init (IFX_void_t); +-IFX_int32_t ifx_mps_fastbuf_close (IFX_void_t); ++IFX_return_t ifx_mps_fastbuf_init (IFX_void_t); ++IFX_return_t ifx_mps_fastbuf_close (IFX_void_t); + IFX_uint32_t ifx_mps_reset_structures (mps_comm_dev * pDev); + IFX_boolean_t ifx_mps_ext_bufman (IFX_void_t); + extern IFX_uint32_t danube_get_cpu_ver (IFX_void_t); +--- a/src/mps/drv_mps_vmmc_device.h ++++ b/src/mps/drv_mps_vmmc_device.h +@@ -216,8 +216,8 @@ typedef struct /**< mps buffer monitorin + mps_buffer_state_e buf_state; + IFX_void_t *(*malloc) (IFX_size_t size, IFX_int32_t priority); /**< Buffer alloc function (def. kmalloc) */ + IFX_void_t (*free) (const IFX_void_t *ptr); /**< Buffer free function (def. kfree) */ +- IFX_int32_t (*init) (IFX_void_t); /** Manager init function */ +- IFX_int32_t (*close) (IFX_void_t); /** Manager shutdown function */ ++ IFX_return_t (*init) (IFX_void_t); /** Manager init function */ ++ IFX_return_t (*close) (IFX_void_t); /** Manager shutdown function */ + } mps_buf_mng_t; + + typedef IFX_uint32_t *mem_seg_t[MPS_MAX_PROVISION_SEGMENTS_PER_MSG];