Re: [PATCH v2 21/28] spi: s3c64xx: infer fifosize from the compatible

From: Sam Protsenko
Date: Thu Jan 25 2024 - 17:29:26 EST


On Thu, Jan 25, 2024 at 8:50 AM Tudor Ambarus <tudor.ambarus@linaroorg> wrote:
>
> Infer the FIFO size from the compatible, where all the instances of the
> SPI IP have the same FIFO size. This way we no longer depend on the SPI
> alias from the device tree to select the FIFO size, thus we remove the
> dependency of the driver on the SPI alias.
>
> Signed-off-by: Tudor Ambarus <tudor.ambarus@xxxxxxxxxx>
> ---
> drivers/spi/spi-s3c64xx.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/spi/spi-s3c64xx.c b/drivers/spi/spi-s3c64xx.c
> index 5a93ed4125b0..b86eb0a77b60 100644
> --- a/drivers/spi/spi-s3c64xx.c
> +++ b/drivers/spi/spi-s3c64xx.c
> @@ -1381,7 +1381,7 @@ static const struct dev_pm_ops s3c64xx_spi_pm = {
> };
>
> static const struct s3c64xx_spi_port_config s3c2443_spi_port_config = {
> - .fifo_lvl_mask = { 0x7f },

How will it work with already existing out-of-tree dts's, if only
kernel image gets updated? I wonder if it's considered ok to break
that compatibility like this.

> + .fifosize = 64,
> .rx_lvl_offset = 13,
> .tx_st_done = 21,
> .clk_div = 2,
> @@ -1389,7 +1389,7 @@ static const struct s3c64xx_spi_port_config s3c2443_spi_port_config = {
> };
>
> static const struct s3c64xx_spi_port_config s3c6410_spi_port_config = {
> - .fifo_lvl_mask = { 0x7f, 0x7F },
> + .fifosize = 64,
> .rx_lvl_offset = 13,
> .tx_st_done = 21,
> .clk_div = 2,
> @@ -1435,7 +1435,7 @@ static const struct s3c64xx_spi_port_config exynos5433_spi_port_config = {
> };
>
> static const struct s3c64xx_spi_port_config exynos850_spi_port_config = {
> - .fifo_lvl_mask = { 0x7f, 0x7f, 0x7f },
> + .fifosize = 64,
> .rx_lvl_offset = 15,
> .tx_st_done = 25,
> .clk_div = 4,
> @@ -1459,7 +1459,7 @@ static const struct s3c64xx_spi_port_config exynosautov9_spi_port_config = {
> };
>
> static const struct s3c64xx_spi_port_config fsd_spi_port_config = {
> - .fifo_lvl_mask = { 0x7f, 0x7f, 0x7f, 0x7f, 0x7f},
> + .fifosize = 64,
> .rx_lvl_offset = 15,
> .tx_st_done = 25,
> .clk_div = 2,
> --
> 2.43.0.429.g432eaa2c6b-goog
>