summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKuan-Wei Chiu <[email protected]>2026-06-08 15:47:49 +0000
committerTom Rini <[email protected]>2026-06-23 12:38:01 -0600
commit47e9c542ee032e89f556adc73c2aeff3acb0e5a9 (patch)
treee9b5db4dbd9d4f5cb1e6df40d0244a24b23b0b1d
parent2bc9c58e7f09e5c5383ad63f85f35b686d63c0bf (diff)
rtc: goldfish: Return error when device address is invalid
goldfish_rtc_of_to_plat() currently returns success even when dev_read_addr() fails to find a valid address. This leaves plat->reg unset (or 0) and defers the failure to probe(). Return -EINVAL immediately when the address is FDT_ADDR_T_NONE so the failure is reported at the of_to_plat stage where it belongs. This aligns the driver with the recent fix introduced in the goldfish serial driver by Naveen Kumar Chaudhary. [1] Link: https://lore.kernel.org/u-boot/vgwnt6mnls3lf3zdm6mz5siztzkvppte4ykszbvifjzukvmksf@maaxe5agqpim/ [1] Signed-off-by: Kuan-Wei Chiu <[email protected]>
-rw-r--r--drivers/rtc/goldfish_rtc.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/rtc/goldfish_rtc.c b/drivers/rtc/goldfish_rtc.c
index 4892a63f8d8..652eec7dd0c 100644
--- a/drivers/rtc/goldfish_rtc.c
+++ b/drivers/rtc/goldfish_rtc.c
@@ -80,9 +80,13 @@ static int goldfish_rtc_of_to_plat(struct udevice *dev)
struct goldfish_rtc_plat *plat = dev_get_plat(dev);
fdt_addr_t addr;
+ plat->reg = 0;
+
addr = dev_read_addr(dev);
- if (addr != FDT_ADDR_T_NONE)
- plat->reg = addr;
+ if (addr == FDT_ADDR_T_NONE)
+ return -EINVAL;
+
+ plat->reg = addr;
return 0;
}