4 * Copyright 2014 Analog Devices Inc.
6 * Licensed under the GPL-2.
9 #include <linux/module.h>
10 #include <linux/i2c.h>
11 #include <linux/regmap.h>
13 #include <sound/soc.h>
17 static const struct i2c_device_id adav803_id
[] = {
21 MODULE_DEVICE_TABLE(i2c
, adav803_id
);
23 static int adav803_probe(struct i2c_client
*client
,
24 const struct i2c_device_id
*id
)
26 return adav80x_bus_probe(&client
->dev
,
27 devm_regmap_init_i2c(client
, &adav80x_regmap_config
));
30 static int adav803_remove(struct i2c_client
*client
)
32 snd_soc_unregister_codec(&client
->dev
);
36 static struct i2c_driver adav803_driver
= {
40 .probe
= adav803_probe
,
41 .remove
= adav803_remove
,
42 .id_table
= adav803_id
,
44 module_i2c_driver(adav803_driver
);
46 MODULE_DESCRIPTION("ASoC ADAV803 driver");
47 MODULE_AUTHOR("Lars-Peter Clausen <lars@metafoo.de>");
48 MODULE_AUTHOR("Yi Li <yi.li@analog.com>>");
49 MODULE_LICENSE("GPL");