diff options
| -rw-r--r-- | Documentation/devicetree/bindings/sound/cs4270.txt | 16 | ||||
| -rw-r--r-- | sound/soc/codecs/cs4270.c | 11 | 
2 files changed, 27 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/sound/cs4270.txt b/Documentation/devicetree/bindings/sound/cs4270.txt new file mode 100644 index 00000000000..7f0bfd84d3f --- /dev/null +++ b/Documentation/devicetree/bindings/sound/cs4270.txt @@ -0,0 +1,16 @@ +CS4270 audio CODEC + +The driver for this device currently only supports I2C. + +Required properties: + +  - compatible : "cirrus,cs4270" + +  - reg : the I2C address of the device for I2C + +Example: + +codec: cs4270@48 { +	compatible = "cirrus,cs4270"; +	reg = <0x48>; +}; diff --git a/sound/soc/codecs/cs4270.c b/sound/soc/codecs/cs4270.c index 047917f0b8a..4b71b01ecbc 100644 --- a/sound/soc/codecs/cs4270.c +++ b/sound/soc/codecs/cs4270.c @@ -29,6 +29,7 @@  #include <linux/i2c.h>  #include <linux/delay.h>  #include <linux/regulator/consumer.h> +#include <linux/of_device.h>  /*   * The codec isn't really big-endian or little-endian, since the I2S @@ -639,6 +640,15 @@ static const struct snd_soc_codec_driver soc_codec_device_cs4270 = {  	.reg_cache_default =	cs4270_default_reg_cache,  }; +/* + * cs4270_of_match - the device tree bindings + */ +static const struct of_device_id cs4270_of_match[] = { +	{ .compatible = "cirrus,cs4270", }, +	{ } +}; +MODULE_DEVICE_TABLE(of, cs4270_of_match); +  /**   * cs4270_i2c_probe - initialize the I2C interface of the CS4270   * @i2c_client: the I2C client object @@ -718,6 +728,7 @@ static struct i2c_driver cs4270_i2c_driver = {  	.driver = {  		.name = "cs4270",  		.owner = THIS_MODULE, +		.of_match_table = cs4270_of_match,  	},  	.id_table = cs4270_id,  	.probe = cs4270_i2c_probe,  |