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 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 35 static 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 }; 44 module_spi_driver(ssm2602_spi_driver); 45 46 MODULE_DESCRIPTION("ASoC SSM2602 SPI driver"); 47 MODULE_AUTHOR("Cliff Cai"); 48 MODULE_LICENSE("GPL"); 49