This revision addresses Tanmay Kathpalia's review of patch 1/3: use ulong and IS_ERR_VALUE() for clock API results, and validate the current clock rate before narrowing it to cfg.f_max. Preserve the actual error code and reject a zero current rate.
Patches 2/3 and 3/3 retain Tanmay's Reviewed-by. Patch 2/3 also explains the intentional reversal of the driver's v9 single-block SPL policy and the MMC core's CMD12 path; its executable change is unchanged from v1. Patch 3/3's executable change is unchanged from v1. Exact-base source replay and checkpatch pass for all three revised patches. Both R2S and RV2 configurations build successfully. An integration containing this series, the clock-mux rename and a separate DDR firmware overlap fix passed warm-boot tests on a 2 GiB OrangePi R2S and a 4 GiB OrangePi RV2. Both reached DDR/SPL, FIT verification and automatic EFI boot to their existing FreeBSD 16 installation, with the expected memory and eight CPUs. These are combined-integration results, not isolated tests of this series. Cold boot of the corrected firmware, alternate cards, missing-frequency/ clock error paths and error recovery remain untested. Dave Klotz (3): mmc: k1: handle a missing max-frequency and clk_set_rate()'s return value mmc: k1: let the SPL read SD cards more than one block at a time mmc: k1: do not release the shared AXI clock and reset on probe failure
