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 <yidilin@chromium.org>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/86926
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Yu-Ping Wu <yupingso@google.com>
This commit is contained in:
Yidi Lin 2025-03-19 16:02:42 +08:00
commit a384d6e122
5 changed files with 14 additions and 18 deletions

View file

@ -1,26 +1,22 @@
/* SPDX-License-Identifier: GPL-2.0-only */
#include <assert.h>
#include <soc/pmic_wrap_common.h>
#include <soc/rtc.h>
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);
}

View file

@ -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 */

View file

@ -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 */

View file

@ -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 */

View file

@ -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;
}