From 53969c730f4b9c417eed63486f9a1fa898d89ba1 Mon Sep 17 00:00:00 2001 From: The-going <48602507+The-going@users.noreply.github.com> Date: Wed, 2 Feb 2022 11:56:51 +0300 Subject: [PATCH 055/169] drv:spi:spidev remove warnings --- drivers/spi/spidev.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/drivers/spi/spidev.c b/drivers/spi/spidev.c index 53a551714..be1bdd509 100644 --- a/drivers/spi/spidev.c +++ b/drivers/spi/spidev.c @@ -681,6 +681,7 @@ static const struct file_operations spidev_fops = { static struct class *spidev_class; static const struct spi_device_id spidev_spi_ids[] = { + { .name = "spi-dev" }, { .name = "dh2228fv" }, { .name = "ltc2488" }, { .name = "sx1301" }, @@ -695,6 +696,7 @@ MODULE_DEVICE_TABLE(spi, spidev_spi_ids); #ifdef CONFIG_OF static const struct of_device_id spidev_dt_ids[] = { + { .compatible = "armbian,spi-dev" }, { .compatible = "rohm,dh2228fv" }, { .compatible = "lineartechnology,ltc2488" }, { .compatible = "semtech,sx1301" }, @@ -757,9 +759,14 @@ static int spidev_probe(struct spi_device *spi) * spidev should never be referenced in DT without a specific * compatible string, it is a Linux implementation thing * rather than a description of the hardware. + * But people don't care and use DT overlays to activate SPIdev + * on demand. Armbian has added a compatible string alias "spi-dev" + * for this module. */ + if (spi->dev.of_node && of_device_is_compatible(spi->dev.of_node, "spidev")) { dev_err(&spi->dev, "spidev listed directly in DT is not supported\n"); + dev_info(&spi->dev, "Use a compatible alias string like spi-dev in DT\n"); return -EINVAL; } -- 2.35.3