]> git.itanic.dy.fi Git - linux-stable/commitdiff
spi: spidev: Add SPI ID table
authorMark Brown <broonie@kernel.org>
Thu, 23 Sep 2021 17:00:23 +0000 (18:00 +0100)
committerMark Brown <broonie@kernel.org>
Mon, 27 Sep 2021 11:59:15 +0000 (12:59 +0100)
Currently autoloading for SPI devices does not use the DT ID table, it uses
SPI modalises. Supporting OF modalises is going to be difficult if not
impractical, an attempt was made but has been reverted, so ensure that
module autoloading works for this driver by adding an id_table listing the
SPI IDs for everything.

Fixes: 96c8395e2166 ("spi: Revert modalias changes")
Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20210923170023.1683-1-broonie@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spidev.c

index 6dc29ce3b4bf8664e788fc73f195ad2b41029794..1bd73e322b7bbdcd2874d97668592791e639c4b4 100644 (file)
@@ -673,6 +673,19 @@ static const struct file_operations spidev_fops = {
 
 static struct class *spidev_class;
 
+static const struct spi_device_id spidev_spi_ids[] = {
+       { .name = "dh2228fv" },
+       { .name = "ltc2488" },
+       { .name = "sx1301" },
+       { .name = "bk4" },
+       { .name = "dhcom-board" },
+       { .name = "m53cpld" },
+       { .name = "spi-petra" },
+       { .name = "spi-authenta" },
+       {},
+};
+MODULE_DEVICE_TABLE(spi, spidev_spi_ids);
+
 #ifdef CONFIG_OF
 static const struct of_device_id spidev_dt_ids[] = {
        { .compatible = "rohm,dh2228fv" },
@@ -818,6 +831,7 @@ static struct spi_driver spidev_spi_driver = {
        },
        .probe =        spidev_probe,
        .remove =       spidev_remove,
+       .id_table =     spidev_spi_ids,
 
        /* NOTE:  suspend/resume methods are not necessary here.
         * We don't do anything except pass the requests to/from