From 4922712b520d119fbcb63b54fa5d3b0b3501af9e Mon Sep 17 00:00:00 2001 From: Akari Tsuyukusa Date: Sat, 23 May 2026 14:18:40 +0900 Subject: [PATCH 01/19] arm64: vdso: remove commas between macro name and arguments LLVM's integrated assembler appears to assume an argument with default value is passed whenever it sees a comma right after the macro name. It will be fine if the number of following arguments is one less than the number of parameters specified in the macro definition. Otherwise, it fails. For example, the following code works: $ cat foo.s .macro foo arg1=2, arg2=4 ldr r0, [r1, #\arg1] ldr r0, [r1, #\arg2] .endm foo, arg2=8 $ llvm-mc -triple=armv7a -filetype=obj foo.s -o ias.o arm-linux-gnueabihf-objdump -dr ias.o ias.o: file format elf32-littlearm Disassembly of section .text: 00000000 <.text>: 0: e5910001 ldr r0, [r1, #2] 4: e5910003 ldr r0, [r1, #8] While the the following code would fail: $ cat foo.s .macro foo arg1=2, arg2=4 ldr r0, [r1, #\arg1] ldr r0, [r1, #\arg2] .endm foo, arg1=2, arg2=8 $ llvm-mc -triple=armv7a -filetype=obj foo.s -o ias.o foo.s:6:14: error: too many positional arguments foo, arg1=2, arg2=8 This causes build failures as follows: arch/arm64/kernel/vdso/gettimeofday.S:230:24: error: too many positional arguments clock_gettime_return, shift=1 ^ arch/arm64/kernel/vdso/gettimeofday.S:253:24: error: too many positional arguments clock_gettime_return, shift=1 ^ arch/arm64/kernel/vdso/gettimeofday.S:274:24: error: too many positional arguments clock_gettime_return, shift=1 This error is not in mainline because commit 28b1a82 ("arm64: vdso: Substitute gettimeofday() with C implementation") rewrote this assembler file in C as part of a 25 patch series that is unsuitable for stable. Just remove the comma in the clock_gettime_return invocations in 4.19 so that GNU as and LLVM's integrated assembler work the same. Link: ClangBuiltLinux/linux#1349 Suggested-by: Nathan Chancellor Reviewed-by: Nathan Chancellor Signed-off-by: Jian Cai Signed-off-by: Greg Kroah-Hartman Link: https://github.com/gregkh/linux/commit/a921d014868c5ab97f286efcf3149999d76765be Signed-off-by: Akari Tsuyukusa --- arch/arm64/kernel/vdso/gettimeofday.S | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/arch/arm64/kernel/vdso/gettimeofday.S b/arch/arm64/kernel/vdso/gettimeofday.S index 21805e41648312..22f9b9cb34600e 100644 --- a/arch/arm64/kernel/vdso/gettimeofday.S +++ b/arch/arm64/kernel/vdso/gettimeofday.S @@ -115,7 +115,7 @@ x_tmp .req x8 9998: .endm - .macro clock_gettime_return, shift=0 + .macro clock_gettime_return shift=0 .if \shift == 1 lsr x11, x11, x12 .endif @@ -220,7 +220,7 @@ realtime: get_clock_shifted_nsec res=x15, cycle_last=x10, mult=x11 get_ts_realtime res_sec=x10, res_nsec=x11, \ clock_nsec=x15, xtime_sec=x13, xtime_nsec=x14, nsec_to_sec=x9 - clock_gettime_return, shift=1 + clock_gettime_return shift=1 ALIGN monotonic: @@ -243,7 +243,7 @@ monotonic: clock_nsec=x15, xtime_sec=x13, xtime_nsec=x14, nsec_to_sec=x9 add_ts sec=x10, nsec=x11, ts_sec=x3, ts_nsec=x4, nsec_to_sec=x9 - clock_gettime_return, shift=1 + clock_gettime_return shift=1 ALIGN monotonic_raw: @@ -264,7 +264,7 @@ monotonic_raw: clock_nsec=x15, nsec_to_sec=x9 add_ts sec=x10, nsec=x11, ts_sec=x13, ts_nsec=x14, nsec_to_sec=x9 - clock_gettime_return, shift=1 + clock_gettime_return shift=1 ALIGN realtime_coarse: From da3b305dfd0fd07f9d159f84663177da08f4f511 Mon Sep 17 00:00:00 2001 From: Akari Tsuyukusa Date: Sat, 23 May 2026 17:00:54 +0900 Subject: [PATCH 02/19] input: touchscreen: mediatek: fix build with Clang Signed-off-by: Akari Tsuyukusa --- .../focaltech_test/focaltech_test_ini.c | 10 ++++++++-- .../supported_ic/focaltech_test_ft5446.c | 8 ++++---- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/drivers/input/touchscreen/mediatek/focaltech_touch/focaltech_test/focaltech_test_ini.c b/drivers/input/touchscreen/mediatek/focaltech_touch/focaltech_test/focaltech_test_ini.c index 197b1fb59a4bf4..dcdb71e54215b5 100755 --- a/drivers/input/touchscreen/mediatek/focaltech_touch/focaltech_test/focaltech_test_ini.c +++ b/drivers/input/touchscreen/mediatek/focaltech_touch/focaltech_test/focaltech_test_ini.c @@ -263,18 +263,20 @@ Return: Returns the number of key. If you go wrong, return a negative number. *************************************************************/ int ini_get_key_data(char *filedata) { - char buf1[MAX_CFG_BUF + 1] = {0}; + char *buf1 = kzalloc(MAX_CFG_BUF + 1, GFP_KERNEL); int n = 0; int ret = 0; int dataoff = 0; int iEqualSign = 0; int i = 0; - char tmsection_name[MAX_CFG_BUF + 1] = {0}; + char *tmsection_name = kzalloc(MAX_CFG_BUF + 1, GFP_KERNEL); FTS_TEST_FUNC_ENTER(); ret = init_key_data(); if (ret < 0) { FTS_TEST_ERROR("init key data failed"); + kfree(buf1); + kfree(tmsection_name); return -1; } @@ -357,11 +359,15 @@ int ini_get_key_data(char *filedata) FTS_TEST_FUNC_EXIT(); + kfree(buf1); + kfree(tmsection_name); return 0; cfg_scts_end: FTS_TEST_FUNC_EXIT(); + kfree(buf1); + kfree(tmsection_name); return ret; } diff --git a/drivers/input/touchscreen/mediatek/focaltech_touch/focaltech_test/supported_ic/focaltech_test_ft5446.c b/drivers/input/touchscreen/mediatek/focaltech_touch/focaltech_test/supported_ic/focaltech_test_ft5446.c index 9d8166cbaeb703..72490a699990b6 100755 --- a/drivers/input/touchscreen/mediatek/focaltech_touch/focaltech_test/supported_ic/focaltech_test_ft5446.c +++ b/drivers/input/touchscreen/mediatek/focaltech_touch/focaltech_test/supported_ic/focaltech_test_ft5446.c @@ -1606,9 +1606,9 @@ unsigned char FT5X46_TestItem_WeakShortTest( bool *bTestResult ) if ((iMin_CG > fGShortResistance[i]) || (iDsen - iDoffset < 0)) { //<=0 ShortResistance = 0 iCount++; if (i + 1 <= iMaxTx) - FTS_TEST_SAVE_INFO("\nTx%02d: %02d (k¦¸), ", i + 1, fGShortResistance[i]); + FTS_TEST_SAVE_INFO("\nTx%02d: %02d (kohm), ", i + 1, fGShortResistance[i]); else - FTS_TEST_SAVE_INFO("\nRx%02d: %02d (k¦¸), ", i + 1 - iMaxTx, fGShortResistance[i]); + FTS_TEST_SAVE_INFO("\nRx%02d: %02d (kohm), ", i + 1 - iMaxTx, fGShortResistance[i]); if (iCount % 10 == 0) FTS_TEST_SAVE_INFO("\n\n"); } @@ -1660,9 +1660,9 @@ unsigned char FT5X46_TestItem_WeakShortTest( bool *bTestResult ) if ( fMShortResistance[i] <= 0 || fMShortResistance[i] < iMin_CC ) { iCount++; if (i + 1 <= iMaxTx) - FTS_TEST_SAVE_INFO("\nTx%02d: %02d(k¦¸), ", i + 1, fMShortResistance[i]); + FTS_TEST_SAVE_INFO("\nTx%02d: %02d(kohm), ", i + 1, fMShortResistance[i]); else - FTS_TEST_SAVE_INFO("\nRx%02d: %02d(k¦¸), ", i + 1 - iMaxTx, fMShortResistance[i]); + FTS_TEST_SAVE_INFO("\nRx%02d: %02d(kohm), ", i + 1 - iMaxTx, fMShortResistance[i]); if (iCount % 10 == 0) FTS_TEST_SAVE_INFO("\n\n"); From b88e15c41069633b66b773dc65f47d902d911772 Mon Sep 17 00:00:00 2001 From: Akari Tsuyukusa Date: Sat, 23 May 2026 17:06:13 +0900 Subject: [PATCH 03/19] mmc: host: mtk-sdio: fix include Signed-off-by: Akari Tsuyukusa --- drivers/mmc/host/mtk-sdio.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/mmc/host/mtk-sdio.c b/drivers/mmc/host/mtk-sdio.c index 9b87fd3a5ca041..354dc422eeade1 100644 --- a/drivers/mmc/host/mtk-sdio.c +++ b/drivers/mmc/host/mtk-sdio.c @@ -37,7 +37,7 @@ #include #include -#include +#include "mtk-sdio.h" static void sdr_set_bits(void __iomem *reg, u32 bs) { From 064fa73295fc81252e2249fa04c3a9159ccd9206 Mon Sep 17 00:00:00 2001 From: Akari Tsuyukusa Date: Sat, 23 May 2026 17:14:18 +0900 Subject: [PATCH 04/19] .gitignore: ignore generated files Signed-off-by: Akari Tsuyukusa --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index 4105cfbd6f2639..0645bd5491ffb3 100644 --- a/.gitignore +++ b/.gitignore @@ -118,3 +118,6 @@ all.config # fetched Android config fragments kernel/configs/android-*.cfg + +drivers/net/wireguard/crypto/zinc/chacha20/chacha20-arm64.S +drivers/net/wireguard/crypto/zinc/poly1305/poly1305-arm64.S From 581c999b797e988595563bd1ec5004df62890171 Mon Sep 17 00:00:00 2001 From: Akari Tsuyukusa Date: Sat, 23 May 2026 17:55:08 +0900 Subject: [PATCH 05/19] input: touchscreen: mediatek: check kzalloc errors Signed-off-by: Akari Tsuyukusa --- .../focaltech_touch/focaltech_test/focaltech_test_ini.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/input/touchscreen/mediatek/focaltech_touch/focaltech_test/focaltech_test_ini.c b/drivers/input/touchscreen/mediatek/focaltech_touch/focaltech_test/focaltech_test_ini.c index dcdb71e54215b5..cc4da849bc2513 100755 --- a/drivers/input/touchscreen/mediatek/focaltech_touch/focaltech_test/focaltech_test_ini.c +++ b/drivers/input/touchscreen/mediatek/focaltech_touch/focaltech_test/focaltech_test_ini.c @@ -270,6 +270,11 @@ int ini_get_key_data(char *filedata) int iEqualSign = 0; int i = 0; char *tmsection_name = kzalloc(MAX_CFG_BUF + 1, GFP_KERNEL); + if (!buf1) return -ENOMEM; + if (!tmsection_name) { + kfree(buf1); + return -ENOMEM; + } FTS_TEST_FUNC_ENTER(); ret = init_key_data(); From 863c97c4f85f13abb1fffe118ee51b0e731cef27 Mon Sep 17 00:00:00 2001 From: Akari Tsuyukusa Date: Sat, 23 May 2026 22:04:13 +0900 Subject: [PATCH 06/19] sound: soc: mediatek: make memory safe Signed-off-by: Akari Tsuyukusa --- .../mt_soc_audio_8163_amzn/mt_soc_machine.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/sound/soc/mediatek/mt_soc_audio_8163_amzn/mt_soc_machine.c b/sound/soc/mediatek/mt_soc_audio_8163_amzn/mt_soc_machine.c index a06faad6293333..39e0912ad2227e 100644 --- a/sound/soc/mediatek/mt_soc_audio_8163_amzn/mt_soc_machine.c +++ b/sound/soc/mediatek/mt_soc_audio_8163_amzn/mt_soc_machine.c @@ -929,8 +929,10 @@ static ssize_t mt_soc_ana_debug_read(struct file *file, char __user *buf, size_t count, loff_t *pos) { const int size = 4096; - char buffer[size]; int n = 0; + ssize_t ret = 0; + char *buffer = kzalloc(size, GFP_KERNEL); + if (!buffer) return -ENOMEM; pr_info("mt_soc_ana_debug_read count = %zu\n", count); AudDrv_ANA_Clk_On(); @@ -1001,7 +1003,9 @@ static ssize_t mt_soc_ana_debug_read(struct file *file, char __user *buf, AudDrv_Clk_Off(); AudDrv_ANA_Clk_Off(); - return simple_read_from_buffer(buf, count, pos, buffer, n); + ret = simple_read_from_buffer(buf, count, pos, buffer, n); + kfree(buffer); + return ret; } @@ -1014,8 +1018,10 @@ static int mt_soc_debug_open(struct inode *inode, struct file *file) static ssize_t mt_soc_debug_read(struct file *file, char __user *buf, size_t count, loff_t *pos) { const int size = 4096; - char buffer[size]; int n = 0; + ssize_t ret = 0; + char *buffer = kzalloc(size, GFP_KERNEL); + if (!buffer) return -ENOMEM; AudDrv_ANA_Clk_On(); AudDrv_Clk_On(); @@ -1331,7 +1337,9 @@ static ssize_t mt_soc_debug_read(struct file *file, char __user *buf, size_t cou AudDrv_Clk_Off(); AudDrv_ANA_Clk_Off(); - return simple_read_from_buffer(buf, count, pos, buffer, n); + ret = simple_read_from_buffer(buf, count, pos, buffer, n); + kfree(buffer); + return ret; } static const char ParSetkeyAfe[] = "Setafereg"; From e03f0c1cf51dd83294d25bb42bb861eb5401559f Mon Sep 17 00:00:00 2001 From: Akari Tsuyukusa Date: Sat, 23 May 2026 22:04:56 +0900 Subject: [PATCH 07/19] mediatek: base: power: remove .func/.endfunc directives Signed-off-by: Akari Tsuyukusa --- .../misc/mediatek/base/power/mt8163/cpu_dormant.S | 12 ------------ .../btcvsd/{ => inc/mt8163}/AudioBTCVSDDef.h | 0 drivers/misc/mediatek/hwmon/hwmsen/hwmsen_dev.c | 2 +- drivers/thermal/amazon_virtual_sensor_thermal.c | 4 ++-- .../soc/mediatek/mt_soc_audio_8163_amzn/AudDrv_Afe.c | 10 +++++----- .../mt_soc_audio_8163_amzn/mt_soc_afe_control.c | 2 +- 6 files changed, 9 insertions(+), 21 deletions(-) rename drivers/misc/mediatek/btcvsd/{ => inc/mt8163}/AudioBTCVSDDef.h (100%) diff --git a/drivers/misc/mediatek/base/power/mt8163/cpu_dormant.S b/drivers/misc/mediatek/base/power/mt8163/cpu_dormant.S index b973a2aea281e9..d1386c2d262b63 100644 --- a/drivers/misc/mediatek/base/power/mt8163/cpu_dormant.S +++ b/drivers/misc/mediatek/base/power/mt8163/cpu_dormant.S @@ -13,38 +13,29 @@ .global write_cntpctl write_cntpctl: - .func msr CNTP_CTL_EL0, x0 ret - .endfunc .global read_cntpctl read_cntpctl: - .func mrs x0, CNTP_CTL_EL0 ret - .endfunc .global read_cpu_id read_cpu_id: - .func mrs x0, MPIDR_EL1 ands x0, x0, #0xff ret - .endfunc .global read_cluster_id read_cluster_id: - .func mrs x0, MPIDR_EL1 lsr x0, x0, #0x8 ands x0, x0, #0xff ret - .endfunc .global mt_save_generic_timer mt_save_generic_timer: - .func mrs x3, CNTKCTL_EL1 str x3, [x0, #0] mrs x2, CNTP_CTL_EL0 @@ -54,11 +45,9 @@ mt_save_generic_timer: mrs x3, CNTV_TVAL_EL0 stp x2, x3, [x0, #24]! ret - .endfunc .global mt_restore_generic_timer mt_restore_generic_timer: - .func ldr x3, [x0, #0] msr CNTKCTL_EL1, x3 ldp x2, x3, [x0, #8] @@ -68,4 +57,3 @@ mt_restore_generic_timer: msr CNTV_CTL_EL0, x2 msr CNTV_TVAL_EL0, x3 ret - .endfunc diff --git a/drivers/misc/mediatek/btcvsd/AudioBTCVSDDef.h b/drivers/misc/mediatek/btcvsd/inc/mt8163/AudioBTCVSDDef.h similarity index 100% rename from drivers/misc/mediatek/btcvsd/AudioBTCVSDDef.h rename to drivers/misc/mediatek/btcvsd/inc/mt8163/AudioBTCVSDDef.h diff --git a/drivers/misc/mediatek/hwmon/hwmsen/hwmsen_dev.c b/drivers/misc/mediatek/hwmon/hwmsen/hwmsen_dev.c index 3c30e0e4f7cdef..3c7ee21188c293 100644 --- a/drivers/misc/mediatek/hwmon/hwmsen/hwmsen_dev.c +++ b/drivers/misc/mediatek/hwmon/hwmsen/hwmsen_dev.c @@ -651,7 +651,7 @@ static int hwmsen_enable(struct hwmdev_object *obj, int sensor, int enable) } - } else if ((enable == 0)) { + } else if (enable == 0) { obj->active_data_sensor &= ~sensor_type; diff --git a/drivers/thermal/amazon_virtual_sensor_thermal.c b/drivers/thermal/amazon_virtual_sensor_thermal.c index 2feb5a24f2c020..9fdcb99c4cdd01 100644 --- a/drivers/thermal/amazon_virtual_sensor_thermal.c +++ b/drivers/thermal/amazon_virtual_sensor_thermal.c @@ -33,7 +33,7 @@ #include #include #include -#include +#include "thermal_core.h" #define DMF 1000 #define NUM_OF_MOVING_AVG_PROP 4 @@ -335,7 +335,7 @@ static ssize_t _store_params(struct device *dev, const char *buf, size_t count) { - char param[20], sensor[20]; + char param[21], sensor[21]; int value; struct virtual_thermal_zone *vtz = dev_get_drvdata(dev); struct virtual_thermal_dev *vtdev; diff --git a/sound/soc/mediatek/mt_soc_audio_8163_amzn/AudDrv_Afe.c b/sound/soc/mediatek/mt_soc_audio_8163_amzn/AudDrv_Afe.c index 7e5939544b63ac..4309d6c4e3a9dd 100644 --- a/sound/soc/mediatek/mt_soc_audio_8163_amzn/AudDrv_Afe.c +++ b/sound/soc/mediatek/mt_soc_audio_8163_amzn/AudDrv_Afe.c @@ -94,12 +94,12 @@ dma_addr_t Get_Afe_Sram_Capture_Phys_Addr(void) (AFE_INTERNAL_SRAM_PHY_BASE + SramCaptureOffSet); } -void *Get_Afe_SramBase_Pointer() +void *Get_Afe_SramBase_Pointer(void) { return AFE_SRAM_ADDRESS; } -void *Get_Afe_SramCaptureBase_Pointer() +void *Get_Afe_SramCaptureBase_Pointer(void) { char *CaptureSramPointer = (char *)(AFE_SRAM_ADDRESS) + SramCaptureOffSet; @@ -107,17 +107,17 @@ void *Get_Afe_SramCaptureBase_Pointer() return (void *)CaptureSramPointer; } -void *Get_Afe_Powertop_Pointer() +void *Get_Afe_Powertop_Pointer(void) { return AFE_TOP_ADDRESS; } -void *Get_AudClk_Pointer() +void *Get_AudClk_Pointer(void) { return AFE_CLK_ADDRESS; } -void *Get_Afe_Infra_Pointer() +void *Get_Afe_Infra_Pointer(void) { return AFE_INFRA_ADDRESS; } diff --git a/sound/soc/mediatek/mt_soc_audio_8163_amzn/mt_soc_afe_control.c b/sound/soc/mediatek/mt_soc_audio_8163_amzn/mt_soc_afe_control.c index d259d8da31dbe2..97d075962f1529 100644 --- a/sound/soc/mediatek/mt_soc_audio_8163_amzn/mt_soc_afe_control.c +++ b/sound/soc/mediatek/mt_soc_audio_8163_amzn/mt_soc_afe_control.c @@ -555,7 +555,7 @@ irqreturn_t AudDrv_IRQ_handler(int irq, void *dev_id) Auddrv_UL2_Interrupt_Handler(); } if (u4RegValue & INTERRUPT_IRQ7_MCU) { - if ((mAudioMEMIF[Soc_Aud_Digital_Block_MEM_DL2]->mState == true)) + if (mAudioMEMIF[Soc_Aud_Digital_Block_MEM_DL2]->mState == true) Auddrv_DL2_Interrupt_Handler(); } if (u4RegValue & INTERRUPT_IRQ5_MCU) { From f7ea22b999b3088576b9f1bd850aefce4ae38c9d Mon Sep 17 00:00:00 2001 From: Akari Tsuyukusa Date: Sat, 23 May 2026 22:41:48 +0900 Subject: [PATCH 08/19] mediatek: cmdq: Clang build fix Signed-off-by: Akari Tsuyukusa --- drivers/misc/mediatek/cmdq/v2/Makefile | 2 ++ drivers/misc/mediatek/cmdq/v2/cmdq_test.c | 4 ++-- drivers/misc/mediatek/cmdq/v2/mtee/Makefile | 3 +++ 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/drivers/misc/mediatek/cmdq/v2/Makefile b/drivers/misc/mediatek/cmdq/v2/Makefile index 5fff619792be74..cb454954124fdb 100644 --- a/drivers/misc/mediatek/cmdq/v2/Makefile +++ b/drivers/misc/mediatek/cmdq/v2/Makefile @@ -14,6 +14,8 @@ # common driver code for CMDQ # 72/82/92 does not use this common code +ccflags-y += -Wno-typedef-redefinition + ccflags-y += -I$(srctree)/drivers/misc/mediatek/cmdq/v2/$(MTK_PLATFORM) \ -I$(srctree)/drivers/misc/mediatek/smi/ \ -I$(srctree)/drivers/misc/mediatek/mmp/ \ diff --git a/drivers/misc/mediatek/cmdq/v2/cmdq_test.c b/drivers/misc/mediatek/cmdq/v2/cmdq_test.c index b964badba0719d..a35c59ee42c4e5 100644 --- a/drivers/misc/mediatek/cmdq/v2/cmdq_test.c +++ b/drivers/misc/mediatek/cmdq/v2/cmdq_test.c @@ -4621,8 +4621,8 @@ static ssize_t cmdq_write_test_proc_config(struct file *file, #ifdef CMDQ_USE_CCF if (trick_test) { - char node_name[25]; - char clk_name[20]; + char node_name[26]; + char clk_name[21]; int clk_enable = 0; struct clk *clk_module; /* trick to control clock by test node for testing */ diff --git a/drivers/misc/mediatek/cmdq/v2/mtee/Makefile b/drivers/misc/mediatek/cmdq/v2/mtee/Makefile index c948f5f5b868c1..74107fc0c93ccd 100644 --- a/drivers/misc/mediatek/cmdq/v2/mtee/Makefile +++ b/drivers/misc/mediatek/cmdq/v2/mtee/Makefile @@ -13,6 +13,9 @@ # drivers/cmdq +ccflags-y += -Wno-typedef-redefinition \ + -Wno-implicit-enum-enum-cast + ccflags-y += -I$(srctree)/drivers/misc/mediatek/cmdq/v2 \ -I$(srctree)/drivers/misc/mediatek/m4u/$(MTK_PLATFORM)\ -I$(srctree)/drivers/misc/mediatek/mach/$(MTK_PLATFORM)/include \ From 7b9d77047089e765d5008778918dc8a54099f8bf Mon Sep 17 00:00:00 2001 From: Akari Tsuyukusa Date: Sat, 23 May 2026 22:42:24 +0900 Subject: [PATCH 09/19] mediatek: gpu: Clang build fix Signed-off-by: Akari Tsuyukusa --- drivers/misc/mediatek/gpu/ged/src/ged_base.c | 2 +- drivers/misc/mediatek/gpu/ged/src/ged_dvfs.c | 2 -- drivers/misc/mediatek/gpu/ged/src/ged_monitor_3D_fence.c | 2 +- .../mali_midgard/midgard-r26p0/gpu/arm/midgard/mali_kbase_jd.c | 3 ++- 4 files changed, 4 insertions(+), 5 deletions(-) diff --git a/drivers/misc/mediatek/gpu/ged/src/ged_base.c b/drivers/misc/mediatek/gpu/ged/src/ged_base.c index 26322097241b2b..58643fa77e7d42 100644 --- a/drivers/misc/mediatek/gpu/ged/src/ged_base.c +++ b/drivers/misc/mediatek/gpu/ged/src/ged_base.c @@ -118,7 +118,7 @@ long ged_get_pid(void) #endif } -unsigned long long ged_get_time() +unsigned long long ged_get_time(void) { unsigned long long temp; diff --git a/drivers/misc/mediatek/gpu/ged/src/ged_dvfs.c b/drivers/misc/mediatek/gpu/ged/src/ged_dvfs.c index 4731154d8441c1..bf0bb082afbb07 100644 --- a/drivers/misc/mediatek/gpu/ged/src/ged_dvfs.c +++ b/drivers/misc/mediatek/gpu/ged/src/ged_dvfs.c @@ -125,8 +125,6 @@ static int g_VsyncOffsetLevel; static int g_probe_pid = GED_NO_UM_SERVICE; -typedef void (*gpufreq_input_boost_notify)(unsigned int); - extern void mt_gpufreq_input_boost_notify_registerCB(gpufreq_input_boost_notify pCB); extern void mt_gpufreq_power_limit_notify_registerCB(gpufreq_power_limit_notify pCB); extern void (*mtk_boost_gpu_freq_fp)(void); diff --git a/drivers/misc/mediatek/gpu/ged/src/ged_monitor_3D_fence.c b/drivers/misc/mediatek/gpu/ged/src/ged_monitor_3D_fence.c index 72b317227e66ed..2bef1c04220ba1 100644 --- a/drivers/misc/mediatek/gpu/ged/src/ged_monitor_3D_fence.c +++ b/drivers/misc/mediatek/gpu/ged/src/ged_monitor_3D_fence.c @@ -113,7 +113,7 @@ static void ged_monitor_3D_fence_work_cb(struct work_struct *psWork) ged_free(psMonitor, sizeof(GED_MONITOR_3D_FENCE)); } -unsigned long ged_monitor_3D_fence_done_time() +unsigned long ged_monitor_3D_fence_done_time(void) { return g_ul3DFenceDoneTime; } diff --git a/drivers/misc/mediatek/gpu/gpu_mali/mali_midgard/midgard-r26p0/gpu/arm/midgard/mali_kbase_jd.c b/drivers/misc/mediatek/gpu/gpu_mali/mali_midgard/midgard-r26p0/gpu/arm/midgard/mali_kbase_jd.c index 2ab939789314d7..e4f7a64444b2d2 100644 --- a/drivers/misc/mediatek/gpu/gpu_mali/mali_midgard/midgard-r26p0/gpu/arm/midgard/mali_kbase_jd.c +++ b/drivers/misc/mediatek/gpu/gpu_mali/mali_midgard/midgard-r26p0/gpu/arm/midgard/mali_kbase_jd.c @@ -20,7 +20,8 @@ * */ - +/* 71 | return u64_to_user_ptr(p); */ +#pragma clang diagnostic ignored "-Wdefault-const-init-var-unsafe" #if defined(CONFIG_DMA_SHARED_BUFFER) #include From fb9fa2d23d35b837c1708d08e493ef021568084a Mon Sep 17 00:00:00 2001 From: Akari Tsuyukusa Date: Sat, 23 May 2026 22:42:56 +0900 Subject: [PATCH 10/19] mediatek: leds: Clang build fix Signed-off-by: Akari Tsuyukusa --- drivers/misc/mediatek/leds/mtk_leds_drv.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/misc/mediatek/leds/mtk_leds_drv.c b/drivers/misc/mediatek/leds/mtk_leds_drv.c index cad336b164c893..58e1b35014cf09 100644 --- a/drivers/misc/mediatek/leds/mtk_leds_drv.c +++ b/drivers/misc/mediatek/leds/mtk_leds_drv.c @@ -23,7 +23,7 @@ #include #include #include -#include +#include "mtk_leds_drv.h" #include #ifdef CONFIG_MTK_AAL_SUPPORT #include From 80ec2726b8abf1f66df1ccb766843be513011b1f Mon Sep 17 00:00:00 2001 From: Akari Tsuyukusa Date: Sat, 23 May 2026 22:43:26 +0900 Subject: [PATCH 11/19] mediatek: m4u: Clang build fix Signed-off-by: Akari Tsuyukusa --- drivers/misc/mediatek/m4u/mt8163/m4u.c | 2 +- drivers/misc/mediatek/m4u/mt8163/m4u_mva.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/misc/mediatek/m4u/mt8163/m4u.c b/drivers/misc/mediatek/m4u/mt8163/m4u.c index 4c183524e6c7d3..90ea91c94a60e9 100644 --- a/drivers/misc/mediatek/m4u/mt8163/m4u.c +++ b/drivers/misc/mediatek/m4u/mt8163/m4u.c @@ -1074,7 +1074,7 @@ static struct page *m4u_cache_get_page(unsigned long va) start = va & (~M4U_PAGE_MASK); pa = m4u_user_v2p(start); - if ((pa == 0)) { + if (pa == 0) { M4UMSG("error m4u_get_phys user_v2p return 0 on va=0x%lx\n", start); /* dump_page(page); */ diff --git a/drivers/misc/mediatek/m4u/mt8163/m4u_mva.c b/drivers/misc/mediatek/m4u/mt8163/m4u_mva.c index 161b499703a163..df44823ce80265 100644 --- a/drivers/misc/mediatek/m4u/mt8163/m4u_mva.c +++ b/drivers/misc/mediatek/m4u/mt8163/m4u_mva.c @@ -33,7 +33,7 @@ #define MVAGRAPH_INDEX(mva) (mva>>MVA_BLOCK_SIZE_ORDER) -static short mvaGraph[MVA_MAX_BLOCK_NR + 1]; +static unsigned short mvaGraph[MVA_MAX_BLOCK_NR + 1]; static void *mvaInfoGraph[MVA_MAX_BLOCK_NR + 1]; static DEFINE_SPINLOCK(gMvaGraph_lock); From e03916a7f76df8a5c7b75659f35a867f62f5694e Mon Sep 17 00:00:00 2001 From: Akari Tsuyukusa Date: Sat, 23 May 2026 22:43:45 +0900 Subject: [PATCH 12/19] mediatek: mtee: Clang build fix Signed-off-by: Akari Tsuyukusa --- drivers/misc/mediatek/mtee/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/misc/mediatek/mtee/Makefile b/drivers/misc/mediatek/mtee/Makefile index f807a3fd129753..30941f3c6d47e9 100644 --- a/drivers/misc/mediatek/mtee/Makefile +++ b/drivers/misc/mediatek/mtee/Makefile @@ -19,7 +19,7 @@ # inconsistent state and crashed. KCOV_INSTRUMENT_tz_system.o := n -ccflags-y += -Werror +ccflags-y += -Werror -Wno-typedef-redefinition ccflags-y += -I$(srctree)/drivers/misc/mediatek/include/mt-plat/trustzone obj-y += tz_module.o From f4f2116f7e71d4778a175a2fe22a2d70da19d00e Mon Sep 17 00:00:00 2001 From: Akari Tsuyukusa Date: Sat, 23 May 2026 22:44:05 +0900 Subject: [PATCH 13/19] mediatek: rtc: Clang build fix Signed-off-by: Akari Tsuyukusa --- drivers/misc/mediatek/rtc/mt6323/mtk_rtc_hal.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/misc/mediatek/rtc/mt6323/mtk_rtc_hal.c b/drivers/misc/mediatek/rtc/mt6323/mtk_rtc_hal.c index 316548172f2608..9a8ce514b001b4 100644 --- a/drivers/misc/mediatek/rtc/mt6323/mtk_rtc_hal.c +++ b/drivers/misc/mediatek/rtc/mt6323/mtk_rtc_hal.c @@ -31,7 +31,7 @@ //#include #include -#include +#include "mtk_rtc_hw.h" #if defined CONFIG_MTK_KERNEL_POWER_OFF_CHARGING #include #endif From 8d8aa2db0dc45d38fcfd2e3124f3b3981432d969 Mon Sep 17 00:00:00 2001 From: Akari Tsuyukusa Date: Sat, 23 May 2026 22:45:06 +0900 Subject: [PATCH 14/19] mediatek: thermal: Clang build fix Signed-off-by: Akari Tsuyukusa --- .../mediatek/thermal/common/coolers/mtk_cooler_sysrst.c | 8 ++++---- .../thermal/common/thermal_zones/mtk_ts_6311buck.c | 2 +- .../mediatek/thermal/common/thermal_zones/mtk_ts_Abts.c | 2 +- .../thermal/common/thermal_zones/mtk_ts_battery.c | 2 +- .../mediatek/thermal/common/thermal_zones/mtk_ts_buck.c | 2 +- .../thermal/common/thermal_zones/mtk_ts_charger.c | 2 +- .../thermal/common/thermal_zones/mtk_ts_charger2.c | 2 +- .../mediatek/thermal/common/thermal_zones/mtk_ts_dram.c | 2 +- .../thermal/common/thermal_zones/mtk_ts_imgsensor.c | 2 +- .../mediatek/thermal/common/thermal_zones/mtk_ts_pa.c | 2 +- .../mediatek/thermal/common/thermal_zones/mtk_ts_pmic.c | 2 +- .../mediatek/thermal/common/thermal_zones/mtk_ts_pmic1.c | 2 +- .../mediatek/thermal/common/thermal_zones/mtk_ts_tsx.c | 2 +- .../mediatek/thermal/common/thermal_zones/mtk_ts_wmt.c | 2 +- .../mediatek/thermal/common/thermal_zones/ts_da9214.c | 2 +- drivers/misc/mediatek/thermal/mt8163/mtk_ts_all_ts.c | 2 +- drivers/misc/mediatek/thermal/mt8163/mtk_ts_battery.c | 2 +- drivers/misc/mediatek/thermal/mt8163/mtk_ts_cpu.c | 2 +- drivers/misc/mediatek/thermal/mt8163/mtk_ts_pa_thput.c | 8 ++++---- drivers/misc/mediatek/thermal/mt8163/mtk_ts_pmic6323.c | 2 +- drivers/misc/mediatek/thermal/mt8163/mtk_ts_wmt.c | 2 +- 21 files changed, 27 insertions(+), 27 deletions(-) diff --git a/drivers/misc/mediatek/thermal/common/coolers/mtk_cooler_sysrst.c b/drivers/misc/mediatek/thermal/common/coolers/mtk_cooler_sysrst.c index c95d4d79c6c918..bbd459671c7fa3 100644 --- a/drivers/misc/mediatek/thermal/common/coolers/mtk_cooler_sysrst.c +++ b/drivers/misc/mediatek/thermal/common/coolers/mtk_cooler_sysrst.c @@ -84,7 +84,7 @@ struct thermal_cooling_device *cdev, unsigned long state) /* To trigger data abort to reset the system * for thermal protection. */ - *(unsigned int *)0x0 = 0xdead; + __builtin_trap(); } @@ -122,7 +122,7 @@ struct thermal_cooling_device *cdev, unsigned long state) /* To trigger data abort to reset the system * for thermal protection. */ - *(unsigned int *)0x0 = 0xdead; + __builtin_trap(); } return 0; @@ -159,7 +159,7 @@ struct thermal_cooling_device *cdev, unsigned long state) /* To trigger data abort to reset the system * for thermal protection. */ - *(unsigned int *)0x0 = 0xdead; + __builtin_trap(); } return 0; @@ -196,7 +196,7 @@ struct thermal_cooling_device *cdev, unsigned long state) /* To trigger data abort to reset the system * for thermal protection. */ - *(unsigned int *)0x0 = 0xdead; + __builtin_trap(); } return 0; diff --git a/drivers/misc/mediatek/thermal/common/thermal_zones/mtk_ts_6311buck.c b/drivers/misc/mediatek/thermal/common/thermal_zones/mtk_ts_6311buck.c index 1e4aec1da34744..e3cdb7c53fd9ab 100644 --- a/drivers/misc/mediatek/thermal/common/thermal_zones/mtk_ts_6311buck.c +++ b/drivers/misc/mediatek/thermal/common/thermal_zones/mtk_ts_6311buck.c @@ -332,7 +332,7 @@ struct thermal_cooling_device *cdev, unsigned long state) /* To trigger data abort to reset the system * for thermal protection. */ - *(unsigned int *)0x0 = 0xdead; + __builtin_trap(); } return 0; } diff --git a/drivers/misc/mediatek/thermal/common/thermal_zones/mtk_ts_Abts.c b/drivers/misc/mediatek/thermal/common/thermal_zones/mtk_ts_Abts.c index 20e8bf829740a1..2c6ec2082c223a 100644 --- a/drivers/misc/mediatek/thermal/common/thermal_zones/mtk_ts_Abts.c +++ b/drivers/misc/mediatek/thermal/common/thermal_zones/mtk_ts_Abts.c @@ -509,7 +509,7 @@ struct thermal_cooling_device *cdev, unsigned long state) /* To trigger data abort to reset the system * for thermal protection. */ - *(unsigned int *)0x0 = 0xdead; + __builtin_trap(); } return 0; diff --git a/drivers/misc/mediatek/thermal/common/thermal_zones/mtk_ts_battery.c b/drivers/misc/mediatek/thermal/common/thermal_zones/mtk_ts_battery.c index 1f4759c3dda699..8055aca92e472a 100644 --- a/drivers/misc/mediatek/thermal/common/thermal_zones/mtk_ts_battery.c +++ b/drivers/misc/mediatek/thermal/common/thermal_zones/mtk_ts_battery.c @@ -466,7 +466,7 @@ struct thermal_cooling_device *cdev, unsigned long state) /* To trigger data abort to reset the system * for thermal protection. */ - *(unsigned int *)0x0 = 0xdead; + __builtin_trap(); } return 0; } diff --git a/drivers/misc/mediatek/thermal/common/thermal_zones/mtk_ts_buck.c b/drivers/misc/mediatek/thermal/common/thermal_zones/mtk_ts_buck.c index 307cd8f4192206..e56646c54a4fea 100644 --- a/drivers/misc/mediatek/thermal/common/thermal_zones/mtk_ts_buck.c +++ b/drivers/misc/mediatek/thermal/common/thermal_zones/mtk_ts_buck.c @@ -509,7 +509,7 @@ struct thermal_cooling_device *cdev, unsigned long state) /* To trigger data abort to reset the system * for thermal protection. */ - *(unsigned int *)0x0 = 0xdead; + __builtin_trap(); } return 0; } diff --git a/drivers/misc/mediatek/thermal/common/thermal_zones/mtk_ts_charger.c b/drivers/misc/mediatek/thermal/common/thermal_zones/mtk_ts_charger.c index 92476d60dca880..399b64a963be1e 100644 --- a/drivers/misc/mediatek/thermal/common/thermal_zones/mtk_ts_charger.c +++ b/drivers/misc/mediatek/thermal/common/thermal_zones/mtk_ts_charger.c @@ -381,7 +381,7 @@ struct thermal_cooling_device *cdev, unsigned long state) /* To trigger data abort to reset the system * for thermal protection. */ - *(unsigned int *)0x0 = 0xdead; + __builtin_trap(); } return 0; diff --git a/drivers/misc/mediatek/thermal/common/thermal_zones/mtk_ts_charger2.c b/drivers/misc/mediatek/thermal/common/thermal_zones/mtk_ts_charger2.c index 66e0fa0c0120ef..aef5da1cf33aea 100644 --- a/drivers/misc/mediatek/thermal/common/thermal_zones/mtk_ts_charger2.c +++ b/drivers/misc/mediatek/thermal/common/thermal_zones/mtk_ts_charger2.c @@ -339,7 +339,7 @@ struct thermal_cooling_device *cdev, unsigned long state) /* To trigger data abort to reset the system * for thermal protection. */ - *(unsigned int *)0x0 = 0xdead; + __builtin_trap(); } return 0; diff --git a/drivers/misc/mediatek/thermal/common/thermal_zones/mtk_ts_dram.c b/drivers/misc/mediatek/thermal/common/thermal_zones/mtk_ts_dram.c index 27cd005a2bb15d..d5d44737076970 100644 --- a/drivers/misc/mediatek/thermal/common/thermal_zones/mtk_ts_dram.c +++ b/drivers/misc/mediatek/thermal/common/thermal_zones/mtk_ts_dram.c @@ -249,7 +249,7 @@ struct thermal_cooling_device *cdev, unsigned long state) /* To trigger data abort to reset the system * for thermal protection. */ - *(unsigned int *)0x0 = 0xdead; + __builtin_trap(); } return 0; diff --git a/drivers/misc/mediatek/thermal/common/thermal_zones/mtk_ts_imgsensor.c b/drivers/misc/mediatek/thermal/common/thermal_zones/mtk_ts_imgsensor.c index b6c2f3ef4d7a8c..d22eec3b4e9b15 100644 --- a/drivers/misc/mediatek/thermal/common/thermal_zones/mtk_ts_imgsensor.c +++ b/drivers/misc/mediatek/thermal/common/thermal_zones/mtk_ts_imgsensor.c @@ -781,7 +781,7 @@ struct thermal_cooling_device *cdev, unsigned long state) /* To trigger data abort to reset the system * for thermal protection. */ - *(unsigned int *)0x0 = 0xdead; + __builtin_trap(); } return 0; } diff --git a/drivers/misc/mediatek/thermal/common/thermal_zones/mtk_ts_pa.c b/drivers/misc/mediatek/thermal/common/thermal_zones/mtk_ts_pa.c index 96ef04ecc9845c..d42e9c435c34ae 100644 --- a/drivers/misc/mediatek/thermal/common/thermal_zones/mtk_ts_pa.c +++ b/drivers/misc/mediatek/thermal/common/thermal_zones/mtk_ts_pa.c @@ -436,7 +436,7 @@ struct thermal_cooling_device *cdev, unsigned long state) /* To trigger data abort to reset the system * for thermal protection. */ - *(unsigned int *)0x0 = 0xdead; + __builtin_trap(); } return 0; } diff --git a/drivers/misc/mediatek/thermal/common/thermal_zones/mtk_ts_pmic.c b/drivers/misc/mediatek/thermal/common/thermal_zones/mtk_ts_pmic.c index d66632db17ed9d..2128f0aae1e04b 100644 --- a/drivers/misc/mediatek/thermal/common/thermal_zones/mtk_ts_pmic.c +++ b/drivers/misc/mediatek/thermal/common/thermal_zones/mtk_ts_pmic.c @@ -266,7 +266,7 @@ struct thermal_cooling_device *cdev, unsigned long state) /* To trigger data abort to reset the system * for thermal protection. */ - *(unsigned int *)0x0 = 0xdead; + __builtin_trap(); } return 0; diff --git a/drivers/misc/mediatek/thermal/common/thermal_zones/mtk_ts_pmic1.c b/drivers/misc/mediatek/thermal/common/thermal_zones/mtk_ts_pmic1.c index 36dfd76fc4d4b2..30cdabdd3cb710 100644 --- a/drivers/misc/mediatek/thermal/common/thermal_zones/mtk_ts_pmic1.c +++ b/drivers/misc/mediatek/thermal/common/thermal_zones/mtk_ts_pmic1.c @@ -262,7 +262,7 @@ struct thermal_cooling_device *cdev, unsigned long state) /* To trigger data abort to reset the system * for thermal protection. */ - *(unsigned int *)0x0 = 0xdead; + __builtin_trap(); } return 0; diff --git a/drivers/misc/mediatek/thermal/common/thermal_zones/mtk_ts_tsx.c b/drivers/misc/mediatek/thermal/common/thermal_zones/mtk_ts_tsx.c index 30f0e4207306fc..9afe1d26ab687d 100644 --- a/drivers/misc/mediatek/thermal/common/thermal_zones/mtk_ts_tsx.c +++ b/drivers/misc/mediatek/thermal/common/thermal_zones/mtk_ts_tsx.c @@ -272,7 +272,7 @@ struct thermal_cooling_device *cdev, unsigned long state) /* To trigger data abort to reset the system * for thermal protection. */ - *(unsigned int *)0x0 = 0xdead; + __builtin_trap(); /* arch_reset(0,NULL); */ } return 0; diff --git a/drivers/misc/mediatek/thermal/common/thermal_zones/mtk_ts_wmt.c b/drivers/misc/mediatek/thermal/common/thermal_zones/mtk_ts_wmt.c index 157e4317b428a7..3fb2a8d2df1272 100644 --- a/drivers/misc/mediatek/thermal/common/thermal_zones/mtk_ts_wmt.c +++ b/drivers/misc/mediatek/thermal/common/thermal_zones/mtk_ts_wmt.c @@ -794,7 +794,7 @@ struct thermal_cooling_device *cool_dev, unsigned long v) /* To trigger data abort to reset the system * for thermal protection. */ - *(unsigned int *)0x0 = 0xdead; + __builtin_trap(); } return 0; diff --git a/drivers/misc/mediatek/thermal/common/thermal_zones/ts_da9214.c b/drivers/misc/mediatek/thermal/common/thermal_zones/ts_da9214.c index 647e485255debc..be355f5ed61d69 100644 --- a/drivers/misc/mediatek/thermal/common/thermal_zones/ts_da9214.c +++ b/drivers/misc/mediatek/thermal/common/thermal_zones/ts_da9214.c @@ -258,7 +258,7 @@ struct thermal_cooling_device *cdev, unsigned long state) /* To trigger data abort to reset the system * for thermal protection. */ - *(unsigned int *)0x0 = 0xdead; + __builtin_trap(); } return 0; diff --git a/drivers/misc/mediatek/thermal/mt8163/mtk_ts_all_ts.c b/drivers/misc/mediatek/thermal/mt8163/mtk_ts_all_ts.c index 8e77ce9813c20e..31aa6dd6091f9a 100644 --- a/drivers/misc/mediatek/thermal/mt8163/mtk_ts_all_ts.c +++ b/drivers/misc/mediatek/thermal/mt8163/mtk_ts_all_ts.c @@ -556,7 +556,7 @@ static int tsallts_sysrst_set_cur_state(struct thermal_cooling_device *cdev, /* tsallts_printk("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"); */ /* To trigger data abort to reset the system for thermal protection. */ - *(unsigned int *)0x0 = 0xdead; + __builtin_trap(); } return 0; } diff --git a/drivers/misc/mediatek/thermal/mt8163/mtk_ts_battery.c b/drivers/misc/mediatek/thermal/mt8163/mtk_ts_battery.c index a7eb1048a0d89f..303463f2fe3b7f 100755 --- a/drivers/misc/mediatek/thermal/mt8163/mtk_ts_battery.c +++ b/drivers/misc/mediatek/thermal/mt8163/mtk_ts_battery.c @@ -385,7 +385,7 @@ static int tsbat_sysrst_set_cur_state(struct thermal_cooling_device *cdev, pr_err("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"); /* To trigger data abort to reset the system for thermal protection. */ - *(unsigned int *)0x0 = 0xdead; + __builtin_trap(); } return 0; } diff --git a/drivers/misc/mediatek/thermal/mt8163/mtk_ts_cpu.c b/drivers/misc/mediatek/thermal/mt8163/mtk_ts_cpu.c index dfe88b2db15186..c62d58af311c8d 100644 --- a/drivers/misc/mediatek/thermal/mt8163/mtk_ts_cpu.c +++ b/drivers/misc/mediatek/thermal/mt8163/mtk_ts_cpu.c @@ -2974,7 +2974,7 @@ static int sysrst_cpu_set_cur_state(struct thermal_cooling_device *cdev, /* To trigger data abort to reset the system *for thermal protection. */ - *(unsigned int *)0x0 = 0xdead; + __builtin_trap(); } return 0; } diff --git a/drivers/misc/mediatek/thermal/mt8163/mtk_ts_pa_thput.c b/drivers/misc/mediatek/thermal/mt8163/mtk_ts_pa_thput.c index c3c84927f4db6c..65de7220448720 100644 --- a/drivers/misc/mediatek/thermal/mt8163/mtk_ts_pa_thput.c +++ b/drivers/misc/mediatek/thermal/mt8163/mtk_ts_pa_thput.c @@ -96,10 +96,10 @@ static int mdinfoex_threshold[MAX_MDINFOEX_OPCODE] = {0}; struct md_info g_pinfo_list[] = { {"TXPWR_MD1", -127, "db", -127, 0}, {"TXPWR_MD2", -127, "db", -127, 1}, - {"RFTEMP_2G_MD1", -127000, "m¢XC", -127000, 2}, - {"RFTEMP_2G_MD2", -127000, "m¢XC", -127000, 3}, - {"RFTEMP_3G_MD1", -127000, "m¢XC", -127000, 4}, - {"RFTEMP_3G_MD2", -127000, "m¢XC", -127000, 5} + {"RFTEMP_2G_MD1", -127000, "m_XC", -127000, 2}, + {"RFTEMP_2G_MD2", -127000, "m_XC", -127000, 3}, + {"RFTEMP_3G_MD1", -127000, "m_XC", -127000, 4}, + {"RFTEMP_3G_MD2", -127000, "m_XC", -127000, 5} }; #if MTK_TS_PA_THPUT_VIA_CCCI == 1 diff --git a/drivers/misc/mediatek/thermal/mt8163/mtk_ts_pmic6323.c b/drivers/misc/mediatek/thermal/mt8163/mtk_ts_pmic6323.c index 7bfc17be5d575d..7fc5bf4d3e53aa 100755 --- a/drivers/misc/mediatek/thermal/mt8163/mtk_ts_pmic6323.c +++ b/drivers/misc/mediatek/thermal/mt8163/mtk_ts_pmic6323.c @@ -403,7 +403,7 @@ static int tspmic_sysrst_set_cur_state(struct thermal_cooling_device *cdev, pr_err("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"); /* BUG(); */ - *(unsigned int *)0x0 = 0xdead; + __builtin_trap(); /* arch_reset(0,NULL); */ } return 0; diff --git a/drivers/misc/mediatek/thermal/mt8163/mtk_ts_wmt.c b/drivers/misc/mediatek/thermal/mt8163/mtk_ts_wmt.c index 80ff8b7796b0a9..3b2c1403ddf2f9 100755 --- a/drivers/misc/mediatek/thermal/mt8163/mtk_ts_wmt.c +++ b/drivers/misc/mediatek/thermal/mt8163/mtk_ts_wmt.c @@ -576,7 +576,7 @@ static int wmt_cl_set_cur_state(struct thermal_cooling_device *cool_dev, /* the temperature is over than the critical, system reboot. */ /* To trigger data abort to reset the system for thermal protection. */ - *(unsigned int *)0x0 = 0xdead; + __builtin_trap(); } return 0; From af203635e3c4ffcfb0a934b28101d66ce27fa933 Mon Sep 17 00:00:00 2001 From: Akari Tsuyukusa Date: Sat, 23 May 2026 22:46:01 +0900 Subject: [PATCH 15/19] mediatek: uart: Clang build fix Signed-off-by: Akari Tsuyukusa --- drivers/misc/mediatek/uart/mt8163/Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/misc/mediatek/uart/mt8163/Makefile b/drivers/misc/mediatek/uart/mt8163/Makefile index 0ecd0288486908..67a43929654941 100644 --- a/drivers/misc/mediatek/uart/mt8163/Makefile +++ b/drivers/misc/mediatek/uart/mt8163/Makefile @@ -3,5 +3,6 @@ ccflags-y += -I$(srctree)/drivers/misc/mediatek/uart ccflags-y += -I$(srctree)/drivers/misc/mediatek/base/power/$(CONFIG_MTK_PLATFORM) +ccflags-y += -I$(srctree)/drivers/misc/mediatek/uart/$(CONFIG_MTK_PLATFORM) obj-$(CONFIG_MTK_SERIAL) := platform_uart.o From d1148a50247249223acc61810a43645d3174f11f Mon Sep 17 00:00:00 2001 From: Akari Tsuyukusa Date: Sat, 23 May 2026 22:46:19 +0900 Subject: [PATCH 16/19] mediatek: video: Clang build fix Signed-off-by: Akari Tsuyukusa --- .../misc/mediatek/video/include/DpDataType.h | 2 ++ .../mediatek/video/mt8163/dispsys/Makefile | 5 ++++- .../mediatek/video/mt8163/dispsys/ddp_log.h | 21 +++++++++++++------ .../mediatek/video/mt8163/dispsys/ddp_path.c | 4 ++++ .../mediatek/video/mt8163/dispsys/ddp_reg.h | 2 +- .../mediatek/video/mt8163/videox/Makefile | 4 +++- 6 files changed, 29 insertions(+), 9 deletions(-) diff --git a/drivers/misc/mediatek/video/include/DpDataType.h b/drivers/misc/mediatek/video/include/DpDataType.h index 5d309f227f218d..94cec08a8ffc65 100644 --- a/drivers/misc/mediatek/video/include/DpDataType.h +++ b/drivers/misc/mediatek/video/include/DpDataType.h @@ -21,6 +21,8 @@ #ifndef __DP_DATA_TYPE_H__ #define __DP_DATA_TYPE_H__ +#include + #ifndef MAX #define MAX(x, y) (((x) >= (y)) ? (x) : (y)) #endif /* MAX */ diff --git a/drivers/misc/mediatek/video/mt8163/dispsys/Makefile b/drivers/misc/mediatek/video/mt8163/dispsys/Makefile index 818c1c061f959d..16347b503e3909 100644 --- a/drivers/misc/mediatek/video/mt8163/dispsys/Makefile +++ b/drivers/misc/mediatek/video/mt8163/dispsys/Makefile @@ -1,5 +1,7 @@ # drivers/dispsys +ccflags-y += -Wno-switch -Wno-implicit-enum-enum-cast -Wno-typedef-redefinition + #for build #ccflags-y += -I$(srctree)/drivers/misc/mediatek/video/include/ \ -I$(srctree)/drivers/misc/mediatek/video/common/ @@ -13,7 +15,8 @@ ccflags-y += -I$(srctree)/drivers/misc/mediatek/video/$(MTK_PLATFORM)/videox/ \ -I$(srctree)/drivers/misc/mediatek/lcm/inc/ \ -I$(srctree)/drivers/misc/mediatek/m4u/$(MTK_PLATFORM) \ -I$(srctree)/drivers/misc/mediatek/leds/ \ - -I$(srctree)/drivers/misc/mediatek/leds/$(MTK_PLATFORM) + -I$(srctree)/drivers/misc/mediatek/leds/$(MTK_PLATFORM) \ + -I$(srctree)/drivers/misc/mediatek/video/$(MTK_PLATFORM)/dispsys/ subdir-ccflags-$(CONFIG_MTK_LCM) += -I$(srctree)/drivers/misc/mediatek/lcm/inc diff --git a/drivers/misc/mediatek/video/mt8163/dispsys/ddp_log.h b/drivers/misc/mediatek/video/mt8163/dispsys/ddp_log.h index 0b9016c51cba6d..7df4a72aa6ed6d 100644 --- a/drivers/misc/mediatek/video/mt8163/dispsys/ddp_log.h +++ b/drivers/misc/mediatek/video/mt8163/dispsys/ddp_log.h @@ -18,6 +18,7 @@ #include "display_recorder.h" #include #include +#include #ifndef LOG_TAG #define LOG_TAG @@ -75,13 +76,23 @@ DISP_LOG_E(fmt, ##args); \ } +static __maybe_unused noinline void __ddpdump_helper(const char *fmt, ...) +{ + char log[512]; + va_list args; + + va_start(args, fmt); + vsnprintf(log, sizeof(log), fmt, args); + va_end(args); + + dprec_logger_dump(log); +} + #if 1 #define DDPDUMP(fmt, ...) \ do { \ if (ddp_debug_analysis_to_buffer()) { \ - char log[512] = {'\0'}; \ - sprintf(log, fmt, ##__VA_ARGS__); \ - dprec_logger_dump(log); \ + __ddpdump_helper(fmt, ##__VA_ARGS__); \ } else \ pr_debug("[DDP/" LOG_TAG "]" fmt, ##__VA_ARGS__); \ } while (0) @@ -89,9 +100,7 @@ #define DDPDUMP(fmt, ...) \ do { \ if (ddp_debug_analysis_to_buffer()) { \ - char log[512] = {'\0'}; \ - snprintf(log, 511, fmt, ##__VA_ARGS__); \ - dprec_logger_dump(log); \ + __ddpdump_helper(fmt, ##__VA_ARGS__); \ } else \ pr_notice("[DDP/" LOG_TAG "]" fmt, ##__VA_ARGS__); \ } while (0) diff --git a/drivers/misc/mediatek/video/mt8163/dispsys/ddp_path.c b/drivers/misc/mediatek/video/mt8163/dispsys/ddp_path.c index db7fd5f68d5812..256fea417cfe65 100644 --- a/drivers/misc/mediatek/video/mt8163/dispsys/ddp_path.c +++ b/drivers/misc/mediatek/video/mt8163/dispsys/ddp_path.c @@ -29,7 +29,11 @@ #include "m4u.h" #include "mtk_smi.h" +#ifdef __clang__ +#pragma clang optimize off +#else #pragma GCC optimize("O0") +#endif struct module_map_t { enum DISP_MODULE_ENUM module; diff --git a/drivers/misc/mediatek/video/mt8163/dispsys/ddp_reg.h b/drivers/misc/mediatek/video/mt8163/dispsys/ddp_reg.h index 459d9cb9128c37..ca44f4e4565408 100644 --- a/drivers/misc/mediatek/video/mt8163/dispsys/ddp_reg.h +++ b/drivers/misc/mediatek/video/mt8163/dispsys/ddp_reg.h @@ -1075,7 +1075,7 @@ extern unsigned long dsi_reg_va; #define REG_FLD_VAL_GET(field, regval) \ (((regval)®_FLD_MASK(field)) >> REG_FLD_SHIFT(field)) -#define DISP_REG_GET(reg32) (*(/* volatile */ \ +#define DISP_REG_GET(reg32) (*(volatile \ unsigned int *)((unsigned long)reg32)) #define DISP_REG_GET_FIELD(field, reg32) \ ((*(/* volatile */ unsigned int *)((unsigned long)reg32) & \ diff --git a/drivers/misc/mediatek/video/mt8163/videox/Makefile b/drivers/misc/mediatek/video/mt8163/videox/Makefile index 5ff057bebff4e1..90cf1353c24920 100644 --- a/drivers/misc/mediatek/video/mt8163/videox/Makefile +++ b/drivers/misc/mediatek/video/mt8163/videox/Makefile @@ -1,5 +1,6 @@ # drivers/video/mtk/Makefile +ccflags-y += -Wno-typedef-redefinition -Wno-non-literal-null-conversion obj-$(CONFIG_MTK_FB) += mtkfb_console.o \ disp_assert_layer.o \ @@ -28,7 +29,8 @@ ccflags-y += -I$(srctree)/drivers/misc/mediatek/video/$(MTK_PLATFORM)/dispsys/ -I$(srctree)/drivers/misc/mediatek/ext_disp/$(MTK_PLATFORM) \ -I$(srctree)/drivers/misc/mediatek/lcm/inc/ \ -I$(srctree)/drivers/misc/mediatek/mach/$(MTK_PLATFORM)/include/mach/ \ - -I$(srctree)/drivers/misc/mediatek/base/power/$(MTK_PLATFORM) + -I$(srctree)/drivers/misc/mediatek/base/power/$(MTK_PLATFORM) \ + -I$(srctree)/drivers/misc/mediatek/video/$(MTK_PLATFORM)/videox/ ccflags-y += -I$(srctree)/drivers/staging/android/ion \ -I$(srctree)/drivers/staging/android/ion/mtk From e50e413a0e87956c1d0c9060b975cd96a4338fe0 Mon Sep 17 00:00:00 2001 From: Akari Tsuyukusa Date: Sat, 23 May 2026 22:46:47 +0900 Subject: [PATCH 17/19] mediatek: ion: Clang build fix Signed-off-by: Akari Tsuyukusa --- drivers/staging/android/ion/mtk/ion_drv.h | 2 +- drivers/staging/android/ion/mtk/ion_drv_priv.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/staging/android/ion/mtk/ion_drv.h b/drivers/staging/android/ion/mtk/ion_drv.h index ebeb536cceed40..047821dd9cfe9a 100644 --- a/drivers/staging/android/ion/mtk/ion_drv.h +++ b/drivers/staging/android/ion/mtk/ion_drv.h @@ -15,7 +15,7 @@ #define __ION_DRV_H__ #include -#include +#include "../ion.h" #define BACKTRACE_SIZE 10 diff --git a/drivers/staging/android/ion/mtk/ion_drv_priv.h b/drivers/staging/android/ion/mtk/ion_drv_priv.h index 0b30796bb2ebdb..85159db8458deb 100644 --- a/drivers/staging/android/ion/mtk/ion_drv_priv.h +++ b/drivers/staging/android/ion/mtk/ion_drv_priv.h @@ -14,7 +14,7 @@ #ifndef __ION_DRV_PRIV_H__ #define __ION_DRV_PRIV_H__ -#include "ion_priv.h" +#include "../ion_priv.h" /* STRUCT ION_HEAP *G_ION_HEAPS[ION_HEAP_IDX_MAX]; */ From fd926d0f64462b68bbddc07a6022767e38004131 Mon Sep 17 00:00:00 2001 From: Akari Tsuyukusa Date: Sat, 23 May 2026 23:11:33 +0900 Subject: [PATCH 18/19] arm64: defconfig: checkers: disable kallsyms Signed-off-by: Akari Tsuyukusa --- arch/arm64/configs/checkers_defconfig | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/arch/arm64/configs/checkers_defconfig b/arch/arm64/configs/checkers_defconfig index 4e8fcbef4c8e52..046e8944ce560d 100644 --- a/arch/arm64/configs/checkers_defconfig +++ b/arch/arm64/configs/checkers_defconfig @@ -388,3 +388,7 @@ CONFIG_CRYPTO_LZ4=y # CONFIG_CRYPTO_HW is not set CONFIG_CRYPTO_SHA2_ARM64_CE=y CONFIG_CRYPTO_AES_ARM64_CE_BLK=y + +## akku fix +## kallsyms failure: relative symbol value 0xffffff8008081000 out of range in relative mode +CONFIG_KALLSYMS=n From 65be2c5ef50c4ff304b38b1b1381e9638f63f64e Mon Sep 17 00:00:00 2001 From: Akari Tsuyukusa Date: Sat, 23 May 2026 23:27:25 +0900 Subject: [PATCH 19/19] arm64: defconfig: checkers: enable framebuffer console ._. Signed-off-by: Akari Tsuyukusa --- arch/arm64/configs/checkers_defconfig | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/arch/arm64/configs/checkers_defconfig b/arch/arm64/configs/checkers_defconfig index 046e8944ce560d..049f3991054096 100644 --- a/arch/arm64/configs/checkers_defconfig +++ b/arch/arm64/configs/checkers_defconfig @@ -199,7 +199,6 @@ CONFIG_GTP9XX_SLEEP_MODE=y CONFIG_INPUT_MISC=y CONFIG_INPUT_UINPUT=y CONFIG_INPUT_HALL_BU520=y -# CONFIG_VT is not set CONFIG_LEGACY_PTY_COUNT=16 # CONFIG_DEVMEM is not set # CONFIG_DEVKMEM is not set @@ -392,3 +391,9 @@ CONFIG_CRYPTO_AES_ARM64_CE_BLK=y ## akku fix ## kallsyms failure: relative symbol value 0xffffff8008081000 out of range in relative mode CONFIG_KALLSYMS=n + +CONFIG_VT=y +CONFIG_VT_CONSOLE=y +CONFIG_FRAMEBUFFER_CONSOLE=y +CONFIG_FONTS=y +CONFIG_FONT_8x16=y