summaryrefslogtreecommitdiff
path: root/sound/soc/codecs/ad193x-spi.c
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2015-11-02 11:00:37 +0300
committerTakashi Iwai <tiwai@suse.de>2015-11-02 11:00:37 +0300
commitbc88c9e923819b02f8cfaec1bb80d7e5530c0ac5 (patch)
tree1731a322d153ee18017822a8fd66295a0ec7a4e2 /sound/soc/codecs/ad193x-spi.c
parentcadd16ea33a938d49aee99edd4758cc76048b399 (diff)
parent2c8d08925272b9be383cd81f1973c6faf9fbf53a (diff)
downloadlinux-bc88c9e923819b02f8cfaec1bb80d7e5530c0ac5.tar.xz
Merge branch 'for-next' into for-linus
Diffstat (limited to 'sound/soc/codecs/ad193x-spi.c')
-rw-r--r--sound/soc/codecs/ad193x-spi.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/sound/soc/codecs/ad193x-spi.c b/sound/soc/codecs/ad193x-spi.c
index 390cef9b9dc2..431f95da1de1 100644
--- a/sound/soc/codecs/ad193x-spi.c
+++ b/sound/soc/codecs/ad193x-spi.c
@@ -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,6 +35,17 @@ 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",
@@ -40,6 +53,7 @@ static struct spi_driver ad193x_spi_driver = {
},
.probe = ad193x_spi_probe,
.remove = ad193x_spi_remove,
+ .id_table = ad193x_spi_id,
};
module_spi_driver(ad193x_spi_driver);