xref: /openbmc/linux/sound/soc/codecs/adau1372-i2c.c (revision 9abcd240)
16cd4c645SLars-Peter Clausen // SPDX-License-Identifier: GPL-2.0-only
26cd4c645SLars-Peter Clausen /*
36cd4c645SLars-Peter Clausen  * Driver for ADAU1372 codec
46cd4c645SLars-Peter Clausen  *
56cd4c645SLars-Peter Clausen  * Copyright 2016 Analog Devices Inc.
66cd4c645SLars-Peter Clausen  *  Author: Lars-Peter Clausen <lars@metafoo.de>
76cd4c645SLars-Peter Clausen  */
86cd4c645SLars-Peter Clausen 
96cd4c645SLars-Peter Clausen #include <linux/i2c.h>
106cd4c645SLars-Peter Clausen #include <linux/mod_devicetable.h>
116cd4c645SLars-Peter Clausen #include <linux/module.h>
126cd4c645SLars-Peter Clausen #include <linux/regmap.h>
136cd4c645SLars-Peter Clausen #include <sound/soc.h>
146cd4c645SLars-Peter Clausen 
156cd4c645SLars-Peter Clausen #include "adau1372.h"
166cd4c645SLars-Peter Clausen 
adau1372_i2c_probe(struct i2c_client * client)17b79bd63aSStephen Kitt static int adau1372_i2c_probe(struct i2c_client *client)
186cd4c645SLars-Peter Clausen {
196cd4c645SLars-Peter Clausen 	return adau1372_probe(&client->dev,
206cd4c645SLars-Peter Clausen 		devm_regmap_init_i2c(client, &adau1372_regmap_config), NULL);
216cd4c645SLars-Peter Clausen }
226cd4c645SLars-Peter Clausen 
236cd4c645SLars-Peter Clausen static const struct i2c_device_id adau1372_i2c_ids[] = {
246cd4c645SLars-Peter Clausen 	{ "adau1372", 0 },
256cd4c645SLars-Peter Clausen 	{ }
266cd4c645SLars-Peter Clausen };
276cd4c645SLars-Peter Clausen MODULE_DEVICE_TABLE(i2c, adau1372_i2c_ids);
286cd4c645SLars-Peter Clausen 
296cd4c645SLars-Peter Clausen static struct i2c_driver adau1372_i2c_driver = {
306cd4c645SLars-Peter Clausen 	.driver = {
316cd4c645SLars-Peter Clausen 		.name = "adau1372",
326cd4c645SLars-Peter Clausen 	},
33*9abcd240SUwe Kleine-König 	.probe = adau1372_i2c_probe,
346cd4c645SLars-Peter Clausen 	.id_table = adau1372_i2c_ids,
356cd4c645SLars-Peter Clausen };
366cd4c645SLars-Peter Clausen module_i2c_driver(adau1372_i2c_driver);
376cd4c645SLars-Peter Clausen 
386cd4c645SLars-Peter Clausen MODULE_DESCRIPTION("ASoC ADAU1372 CODEC I2C driver");
396cd4c645SLars-Peter Clausen MODULE_AUTHOR("Lars-Peter Clausen <lars@metafoo.de>");
406cd4c645SLars-Peter Clausen MODULE_LICENSE("GPL v2");
41