]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - sound/soc/codecs/ad193x-spi.c
Merge remote-tracking branch 'spi/for-next'
[karo-tx-linux.git] / sound / soc / codecs / ad193x-spi.c
index 8199a3de0024eaf84c14ce652f58e0c9af30e3ba..23c28573bdb7057356c569cb0d6054cd041611b0 100644 (file)
@@ -16,6 +16,7 @@
 
 static int ad193x_spi_probe(struct spi_device *spi)
 {
+       const struct spi_device_id *id = spi_get_device_id(spi);
        struct regmap_config config;
 
        config = ad193x_regmap_config;
@@ -24,7 +25,8 @@ static int ad193x_spi_probe(struct spi_device *spi)
        config.read_flag_mask = 0x09;
        config.write_flag_mask = 0x08;
 
-       return ad193x_probe(&spi->dev, devm_regmap_init_spi(spi, &config));
+       return ad193x_probe(&spi->dev, devm_regmap_init_spi(spi, &config),
+                           (enum ad193x_type)id->driver_data);
 }
 
 static int ad193x_spi_remove(struct spi_device *spi)
@@ -33,12 +35,24 @@ static int ad193x_spi_remove(struct spi_device *spi)
        return 0;
 }
 
+static const struct spi_device_id ad193x_spi_id[] = {
+       { "ad193x", AD193X },
+       { "ad1933", AD1933 },
+       { "ad1934", AD1934 },
+       { "ad1938", AD193X },
+       { "ad1939", AD193X },
+       { "adau1328", AD193X },
+       { }
+};
+MODULE_DEVICE_TABLE(spi, ad193x_spi_id);
+
 static struct spi_driver ad193x_spi_driver = {
        .driver = {
                .name   = "ad193x",
        },
        .probe          = ad193x_spi_probe,
        .remove         = ad193x_spi_remove,
+       .id_table       = ad193x_spi_id,
 };
 module_spi_driver(ad193x_spi_driver);