From a384d6e1223b5a65ea65aa7af7064eeae13e16f6 Mon Sep 17 00:00:00 2001 From: Yidi Lin Date: Wed, 19 Mar 2025 16:02:42 +0800 Subject: [PATCH] soc/mediatek/common: Change return type to void for all rtc_{read, write} APIs The MediaTek RTC driver does not check the return value of rtc_read() and rtc_write(). Additionally, the RTC driver of recent platforms uses void for rtc_read() and rtc_write(). Therefore, change the return type of all rtc_{read, write} APIs to void and add assert for debugging. BUG=b:388796896 TEST=build coreboot for elm, kukui and corsola Change-Id: Ie5168db0abd479e63279ac4c8d6f2c668d6234f0 Signed-off-by: Yidi Lin Reviewed-on: https://review.coreboot.org/c/coreboot/+/86926 Tested-by: build bot (Jenkins) Reviewed-by: Yu-Ping Wu --- src/soc/mediatek/common/rtc_pwrap_ops.c | 16 ++++++---------- src/soc/mediatek/mt8173/include/soc/rtc.h | 4 ++-- src/soc/mediatek/mt8183/include/soc/rtc.h | 4 ++-- src/soc/mediatek/mt8186/include/soc/rtc.h | 4 ++-- src/soc/mediatek/mt8186/rtc.c | 4 ++-- 5 files changed, 14 insertions(+), 18 deletions(-) diff --git a/src/soc/mediatek/common/rtc_pwrap_ops.c b/src/soc/mediatek/common/rtc_pwrap_ops.c index 7675e0ede0..b32c90d6b8 100644 --- a/src/soc/mediatek/common/rtc_pwrap_ops.c +++ b/src/soc/mediatek/common/rtc_pwrap_ops.c @@ -1,26 +1,22 @@ /* SPDX-License-Identifier: GPL-2.0-only */ +#include #include #include -s32 rtc_read(u16 addr, u16 *rdata) +void rtc_read(u16 addr, u16 *rdata) { s32 ret; + *rdata = 0; ret = pwrap_read(addr, rdata); - if (ret < 0) - rtc_info("pwrap_read failed: ret=%d\n", ret); - - return ret; + assert(ret == 0); } -s32 rtc_write(u16 addr, u16 wdata) +void rtc_write(u16 addr, u16 wdata) { s32 ret; ret = pwrap_write(addr, wdata); - if (ret < 0) - rtc_info("pwrap_write failed: ret=%d\n", ret); - - return ret; + assert(ret == 0); } diff --git a/src/soc/mediatek/mt8173/include/soc/rtc.h b/src/soc/mediatek/mt8173/include/soc/rtc.h index e1f84ada10..6956931a0a 100644 --- a/src/soc/mediatek/mt8173/include/soc/rtc.h +++ b/src/soc/mediatek/mt8173/include/soc/rtc.h @@ -102,7 +102,7 @@ enum { /* external API */ int rtc_init(int recover); void rtc_boot(void); -s32 rtc_read(u16 addr, u16 *rdata); -s32 rtc_write(u16 addr, u16 wdata); +void rtc_read(u16 addr, u16 *rdata); +void rtc_write(u16 addr, u16 wdata); #endif /* SOC_MEDIATEK_MT8173_RTC_H */ diff --git a/src/soc/mediatek/mt8183/include/soc/rtc.h b/src/soc/mediatek/mt8183/include/soc/rtc.h index 4c59ee2573..8c8ed096bb 100644 --- a/src/soc/mediatek/mt8183/include/soc/rtc.h +++ b/src/soc/mediatek/mt8183/include/soc/rtc.h @@ -85,7 +85,7 @@ bool rtc_gpio_init(void); void rtc_boot(void); u16 rtc_get_frequency_meter(u16 val, u16 measure_src, u16 window_size); void mt6358_dcxo_disable_unused(void); -s32 rtc_read(u16 addr, u16 *rdata); -s32 rtc_write(u16 addr, u16 wdata); +void rtc_read(u16 addr, u16 *rdata); +void rtc_write(u16 addr, u16 wdata); #endif /* SOC_MEDIATEK_MT8183_RTC_H */ diff --git a/src/soc/mediatek/mt8186/include/soc/rtc.h b/src/soc/mediatek/mt8186/include/soc/rtc.h index bbb6b86e25..bf357d15bb 100644 --- a/src/soc/mediatek/mt8186/include/soc/rtc.h +++ b/src/soc/mediatek/mt8186/include/soc/rtc.h @@ -89,7 +89,7 @@ int rtc_init(int recover); bool rtc_gpio_init(void); void rtc_boot(void); u16 rtc_get_frequency_meter(u16 val, u16 measure_src, u16 window_size); -s32 rtc_read(u16 addr, u16 *rdata); -s32 rtc_write(u16 addr, u16 wdata); +void rtc_read(u16 addr, u16 *rdata); +void rtc_write(u16 addr, u16 wdata); #endif /* SOC_MEDIATEK_MT8186_RTC_H */ diff --git a/src/soc/mediatek/mt8186/rtc.c b/src/soc/mediatek/mt8186/rtc.c index d3b148f824..54b2f2d5a3 100644 --- a/src/soc/mediatek/mt8186/rtc.c +++ b/src/soc/mediatek/mt8186/rtc.c @@ -121,8 +121,8 @@ u16 rtc_get_frequency_meter(u16 val, u16 measure_src, u16 window_size) /* FQMTR read until ready */ if (!wait_us(FQMTR_TIMEOUT_US, - rtc_read(PMIC_RG_FQMTR_CON0, &fqmtr_busy) == 0 && - !(fqmtr_busy & PMIC_FQMTR_CON0_BUSY))) { + !((rtc_read(PMIC_RG_FQMTR_CON0, &fqmtr_busy), + fqmtr_busy) & PMIC_FQMTR_CON0_BUSY))) { rtc_info("get frequency time out: %#x\n", fqmtr_busy); return false; }