@@ -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);
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@gmail.com> --- drivers/spi/spi-s3c64xx.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-)