xref: /openbmc/linux/sound/soc/codecs/adav801.c (revision fda8d26e)
1fda8d26eSThomas Gleixner // SPDX-License-Identifier: GPL-2.0-only
20c2d6964SLars-Peter Clausen /*
30c2d6964SLars-Peter Clausen  * ADAV801 audio driver
40c2d6964SLars-Peter Clausen  *
50c2d6964SLars-Peter Clausen  * Copyright 2014 Analog Devices Inc.
60c2d6964SLars-Peter Clausen  */
70c2d6964SLars-Peter Clausen 
80c2d6964SLars-Peter Clausen #include <linux/module.h>
90c2d6964SLars-Peter Clausen #include <linux/spi/spi.h>
100c2d6964SLars-Peter Clausen #include <linux/regmap.h>
110c2d6964SLars-Peter Clausen 
120c2d6964SLars-Peter Clausen #include <sound/soc.h>
130c2d6964SLars-Peter Clausen 
140c2d6964SLars-Peter Clausen #include "adav80x.h"
150c2d6964SLars-Peter Clausen 
160c2d6964SLars-Peter Clausen static const struct spi_device_id adav80x_spi_id[] = {
170c2d6964SLars-Peter Clausen 	{ "adav801", 0 },
180c2d6964SLars-Peter Clausen 	{ }
190c2d6964SLars-Peter Clausen };
200c2d6964SLars-Peter Clausen MODULE_DEVICE_TABLE(spi, adav80x_spi_id);
210c2d6964SLars-Peter Clausen 
adav80x_spi_probe(struct spi_device * spi)220c2d6964SLars-Peter Clausen static int adav80x_spi_probe(struct spi_device *spi)
230c2d6964SLars-Peter Clausen {
240c2d6964SLars-Peter Clausen 	struct regmap_config config;
250c2d6964SLars-Peter Clausen 
260c2d6964SLars-Peter Clausen 	config = adav80x_regmap_config;
270c2d6964SLars-Peter Clausen 	config.read_flag_mask = 0x01;
280c2d6964SLars-Peter Clausen 
290c2d6964SLars-Peter Clausen 	return adav80x_bus_probe(&spi->dev, devm_regmap_init_spi(spi, &config));
300c2d6964SLars-Peter Clausen }
310c2d6964SLars-Peter Clausen 
320c2d6964SLars-Peter Clausen static struct spi_driver adav80x_spi_driver = {
330c2d6964SLars-Peter Clausen 	.driver = {
340c2d6964SLars-Peter Clausen 		.name	= "adav801",
350c2d6964SLars-Peter Clausen 	},
360c2d6964SLars-Peter Clausen 	.probe		= adav80x_spi_probe,
370c2d6964SLars-Peter Clausen 	.id_table	= adav80x_spi_id,
380c2d6964SLars-Peter Clausen };
390c2d6964SLars-Peter Clausen module_spi_driver(adav80x_spi_driver);
400c2d6964SLars-Peter Clausen 
410c2d6964SLars-Peter Clausen MODULE_DESCRIPTION("ASoC ADAV801 driver");
420c2d6964SLars-Peter Clausen MODULE_AUTHOR("Lars-Peter Clausen <lars@metafoo.de>");
430c2d6964SLars-Peter Clausen MODULE_AUTHOR("Yi Li <yi.li@analog.com>>");
440c2d6964SLars-Peter Clausen MODULE_LICENSE("GPL");
45