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

Sam Protsenko semen.protsenko at linaro.org
Thu Jan 25 14:28:22 PST 2024


On Thu, Jan 25, 2024 at 8:50 AM Tudor Ambarus <tudor.ambarus at linaro.org> 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 at linaro.org>
> ---
>  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
>



More information about the linux-arm-kernel mailing list