diff options
| author | Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> | 2025-04-17 23:23:12 +0000 |
|---|---|---|
| committer | Mark Brown <broonie@kernel.org> | 2025-04-24 12:56:51 +0100 |
| commit | cf0668184d1d2f9ad3f98dd5bbe0ed4d9d090eaa (patch) | |
| tree | abf7b1b61b36a9494601441d1b2a7f84d25308c2 | |
| parent | c4887bd4b35b225f4fe26d2d459c76236e27a759 (diff) | |
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 <kuninori.morimoto.gx@renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://patch.msgid.link/87wmbi2x0g.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
| -rw-r--r-- | drivers/spi/spi-sh-msiof.c | 6 |
1 files changed, 6 insertions, 0 deletions
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 <linux/kernel.h> #include <linux/module.h> #include <linux/of.h> +#include <linux/of_graph.h> #include <linux/platform_device.h> #include <linux/pm_runtime.h> #include <linux/sh_dma.h> @@ -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); |
