]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
spi: spi-mem: add spi_mem_adjust_op_freq() in spi_mem_supports_op()
authorTianyu Xu <xtydtc@gmail.com>
Tue, 5 Aug 2025 01:54:03 +0000 (09:54 +0800)
committerMark Brown <broonie@kernel.org>
Wed, 6 Aug 2025 12:31:31 +0000 (13:31 +0100)
The function spi_mem_adjust_op_freq() within spi_mem_exec_op() adjusts
the op->max_freq, which will informs the SPI controller of the maximum
frequency for each operation. This adjustment is based on combined
information from the SPI device and the board's wiring conditions.
Similarly, spi_mem_supports_op() will check the capabilities of the SPI
controller. It also requires the combined information before it can
accurately determine whether the SPI controller supports a given operation.

Signed-off-by: Tianyu Xu <tianyxu@cisco.com>
Reviewed-by: Miquel Raynal <miquel.raynal@bootlin.com>
Link: https://patch.msgid.link/20250805015403.43928-1-tianyxu@cisco.com
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi-mem.c

index dfa8ab1ec80f0800c1b95797a18f619bd5211902..a8f14c608d2d279315cb512a059702813e8582c7 100644 (file)
@@ -265,6 +265,9 @@ static bool spi_mem_internal_supports_op(struct spi_mem *mem,
  */
 bool spi_mem_supports_op(struct spi_mem *mem, const struct spi_mem_op *op)
 {
+       /* Make sure the operation frequency is correct before going futher */
+       spi_mem_adjust_op_freq(mem, (struct spi_mem_op *)op);
+
        if (spi_mem_check_op(op))
                return false;