Rearrange s3c64xx_spi_probe() to ensure that the 'fifo-depth' property from the device tree (DT) is always prioritized over the fallback values in port_config. Previously, if port_config had a fifo_depth value, it would override the DT property. This prevented DT from correctly setting the depth per node. This ensures flexibility for device tree configurations while keeping a safe fallback. Signed-off-by: Denzeel Oliva <wachiturroxd150@xxxxxxxxx> --- drivers/spi/spi-s3c64xx.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/drivers/spi/spi-s3c64xx.c b/drivers/spi/spi-s3c64xx.c index 389275dbc..dae63a105 100644 --- a/drivers/spi/spi-s3c64xx.c +++ b/drivers/spi/spi-s3c64xx.c @@ -1283,11 +1283,13 @@ static int s3c64xx_spi_probe(struct platform_device *pdev) if (ret) return ret; - if (sdd->port_conf->fifo_depth) - sdd->fifo_depth = sdd->port_conf->fifo_depth; - else if (of_property_read_u32(pdev->dev.of_node, "fifo-depth", - &sdd->fifo_depth)) - sdd->fifo_depth = FIFO_DEPTH(sdd); + if (of_property_read_u32(pdev->dev.of_node, "fifo-depth", + &sdd->fifo_depth)) { + if (sdd->port_conf->fifo_depth) + sdd->fifo_depth = sdd->port_conf->fifo_depth; + else + sdd->fifo_depth = FIFO_DEPTH(sdd); + } s3c64xx_spi_set_fifomask(sdd); -- 2.48.1