Commit | Line | Data |
---|---|---|
c924dc68 LPC |
1 | /* |
2 | * SSM2602 SPI audio driver | |
3 | * | |
4 | * Copyright 2014 Analog Devices Inc. | |
5 | * | |
6 | * Licensed under the GPL-2. | |
7 | */ | |
8 | ||
9 | #include <linux/module.h> | |
10 | #include <linux/spi/spi.h> | |
11 | #include <linux/regmap.h> | |
12 | ||
13 | #include <sound/soc.h> | |
14 | ||
15 | #include "ssm2602.h" | |
16 | ||
17 | static int ssm2602_spi_probe(struct spi_device *spi) | |
18 | { | |
19 | return ssm2602_probe(&spi->dev, SSM2602, | |
20 | devm_regmap_init_spi(spi, &ssm2602_regmap_config)); | |
21 | } | |
22 | ||
23 | static int ssm2602_spi_remove(struct spi_device *spi) | |
24 | { | |
25 | snd_soc_unregister_codec(&spi->dev); | |
26 | return 0; | |
27 | } | |
28 | ||
555b9ee1 SK |
29 | static const struct of_device_id ssm2602_of_match[] = { |
30 | { .compatible = "adi,ssm2602", }, | |
31 | { } | |
32 | }; | |
33 | MODULE_DEVICE_TABLE(of, ssm2602_of_match); | |
34 | ||
c924dc68 LPC |
35 | static struct spi_driver ssm2602_spi_driver = { |
36 | .driver = { | |
37 | .name = "ssm2602", | |
38 | .owner = THIS_MODULE, | |
555b9ee1 | 39 | .of_match_table = ssm2602_of_match, |
c924dc68 LPC |
40 | }, |
41 | .probe = ssm2602_spi_probe, | |
42 | .remove = ssm2602_spi_remove, | |
43 | }; | |
44 | module_spi_driver(ssm2602_spi_driver); | |
45 | ||
46 | MODULE_DESCRIPTION("ASoC SSM2602 SPI driver"); | |
47 | MODULE_AUTHOR("Cliff Cai"); | |
48 | MODULE_LICENSE("GPL"); |