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
17static 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
23static int ssm2602_spi_remove(struct spi_device *spi)
24{
25	snd_soc_unregister_codec(&spi->dev);
26	return 0;
27}
28
29static const struct of_device_id ssm2602_of_match[] = {
30	{ .compatible = "adi,ssm2602", },
31	{ }
32};
33MODULE_DEVICE_TABLE(of, ssm2602_of_match);
34
35static struct spi_driver ssm2602_spi_driver = {
36	.driver = {
37		.name	= "ssm2602",
38		.owner	= THIS_MODULE,
39		.of_match_table = ssm2602_of_match,
40	},
41	.probe		= ssm2602_spi_probe,
42	.remove		= ssm2602_spi_remove,
43};
44module_spi_driver(ssm2602_spi_driver);
45
46MODULE_DESCRIPTION("ASoC SSM2602 SPI driver");
47MODULE_AUTHOR("Cliff Cai");
48MODULE_LICENSE("GPL");
49