From cf0668184d1d2f9ad3f98dd5bbe0ed4d9d090eaa Mon Sep 17 00:00:00 2001 From: Kuninori Morimoto Date: Thu, 17 Apr 2025 23:23:12 +0000 Subject: [PATCH] spi: sh-msiof: ignore driver probing if it was MSIOF Sound Renesas MSIOF (Clock-Synchronized Serial Interface with FIFO) can work as both SPI and I2S. MSIOF-I2S will use Audio Graph Card/Card2 driver which Of-Graph in DT. MSIOF-SPI/I2S are using same DT compatible properties. MSIOF-I2S uses Of-Graph for Audio-Graph-Card/Card2, MSIOF-SPI doesn't use Of-Graph. Check "port" node when driver probing Signed-off-by: Kuninori Morimoto Reviewed-by: Geert Uytterhoeven Link: https://patch.msgid.link/87wmbi2x0g.wl-kuninori.morimoto.gx@renesas.com Signed-off-by: Mark Brown --- drivers/spi/spi-sh-msiof.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/spi/spi-sh-msiof.c b/drivers/spi/spi-sh-msiof.c index 581cec19cb77..d9e3d83fc7e8 100644 --- a/drivers/spi/spi-sh-msiof.c +++ b/drivers/spi/spi-sh-msiof.c @@ -20,6 +20,7 @@ #include #include #include +#include #include #include #include @@ -1281,6 +1282,11 @@ static int sh_msiof_spi_probe(struct platform_device *pdev) int i; int ret; + /* Check whether MSIOF is used as I2S mode or SPI mode by checking "port" node */ + struct device_node *port __free(device_node) = of_graph_get_next_port(dev->of_node, NULL); + if (port) /* It was MSIOF-I2S */ + return -ENODEV; + chipdata = of_device_get_match_data(dev); if (chipdata) { info = sh_msiof_spi_parse_dt(dev); -- 2.25.1