spi: spi-mem: Add a new controller capability
authorMiquel Raynal <miquel.raynal@bootlin.com>
Tue, 24 Dec 2024 17:05:47 +0000 (18:05 +0100)
committerMark Brown <broonie@kernel.org>
Thu, 9 Jan 2025 20:16:23 +0000 (20:16 +0000)
commit1248c9b8d54120950fda10fbeb98fb8932b4d45c
tree3a3c2a3037f012425416b84623e5c271e7007b8f
parent0fefeade90e74bc8f40ab0e460f483565c492e28
spi: spi-mem: Add a new controller capability

There are spi devices with multiple frequency limitations depending on
the invoked command. We probably do not want to afford running at the
lowest supported frequency all the time, so if we want to get the most
of our hardware, we need to allow per-operation frequency limitations.

Among all the SPI memory controllers, I believe all are capable of
changing the spi frequency on the fly. Some of the drivers do not make
any frequency setup though. And some others will derive a per chip
prescaler value which will be used forever.

Actually changing the frequency on the fly is something new in Linux, so
we need to carefully flag the drivers which do and do not support it. A
controller capability is created for that, and the presence for this
capability will always be checked before accepting such pattern.

Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Reviewed-by: Tudor Ambarus <tudor.ambarus@linaro.org>
Link: https://patch.msgid.link/20241224-winbond-6-11-rc1-quad-support-v2-2-ad218dbc406f@bootlin.com
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi-mem.c
include/linux/spi/spi-mem.h