This series addresses two issues with the generic RISC-V timer driver. Patch 1 marks timer_early_get_rate() and timer_early_get_count() as __weak to prevent link conflicts with other drivers (e.g., ACLINT MTIMER) that may also provide their own implementation.
Patch 2 adds proper M‑mode support: timer_early_get_rate() is now defined for M‑mode using RISCV_MMODE_TIMER_FREQ, and timer_early_get_count() is no longer guarded by RISCV_SMODE, making it available whenever CONFIG_TIMER_EARLY is enabled. This is necessary because functions like net_random_ethaddr() rely on get_ticks() which uses timer_early_get_count(). Signed-off-by: Nikita Shubin <[email protected]> --- Changes in v3: - reoder patches so weak definitions come first - Link to v2: https://lore.kernel.org/r/20260909-riscv_fix_early_timer_mmode-v2-0-563bff2a5...@maquefel.me Changes in v2: - Updated Kconfig help text and driver comments to clarify M-mode support - Simplified code a bit - Add patch to make timer_early_get_count() weak (optional) - Link to v1: https://lore.kernel.org/r/20260904-riscv_fix_early_timer_mmode-v1-1-210e769b0...@maquefel.me --- Nikita Shubin (2): riscv: timer: Make RISCV_TIMER definitions weak riscv: timer: Enable early timer for M‑mode drivers/timer/Kconfig | 13 +++++++++++-- drivers/timer/riscv_timer.c | 16 +++++++++++----- 2 files changed, 22 insertions(+), 7 deletions(-) --- base-commit: cc557af4553382f6f50e3ed62b9577054e7bc54f change-id: 20260904-riscv_fix_early_timer_mmode-174f3ee4e106 Best regards, -- Nikita Shubin
