[PATCH 4/5 v7][RFC] ASoC: ak4642: add .of_xlate_dai_name support
Kuninori Morimoto
kuninori.morimoto.gx at renesas.com
Mon Feb 25 19:57:16 EST 2013
ak4642 driver can be used from simple-card driver
which requires .of_xlate_dai_name.
This patch supports it.
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx at renesas.com>
---
v6 -> v7
- .of_xlate_dai_name is on codec driver
Documentation/devicetree/bindings/sound/ak4642.txt | 5 +++++
sound/soc/codecs/ak4642.c | 11 +++++++++++
2 files changed, 16 insertions(+)
diff --git a/Documentation/devicetree/bindings/sound/ak4642.txt b/Documentation/devicetree/bindings/sound/ak4642.txt
index 623d4e7..8b6df4d 100644
--- a/Documentation/devicetree/bindings/sound/ak4642.txt
+++ b/Documentation/devicetree/bindings/sound/ak4642.txt
@@ -7,10 +7,15 @@ Required properties:
- compatible : "asahi-kasei,ak4642" or "asahi-kasei,ak4643" or "asahi-kasei,ak4648"
- reg : The chip select number on the I2C bus
+Optional
+
+ #sound-dai-cells : enable DAI specifier, it must be 0
+
Example:
&i2c {
ak4648: ak4648 at 0x12 {
+ #sound-dai-cells = <0>;
compatible = "asahi-kasei,ak4642";
reg = <0x12>;
};
diff --git a/sound/soc/codecs/ak4642.c b/sound/soc/codecs/ak4642.c
index c78794d..5772af1 100644
--- a/sound/soc/codecs/ak4642.c
+++ b/sound/soc/codecs/ak4642.c
@@ -485,6 +485,15 @@ static int ak4642_remove(struct snd_soc_codec *codec)
return 0;
}
+static int ak4642_of_xlate_dai_name(struct snd_soc_codec *codec,
+ struct of_phandle_args *spec,
+ const char **dai_name)
+{
+ *dai_name = ak4642_dai.name;
+
+ return 0;
+}
+
static struct snd_soc_codec_driver soc_codec_dev_ak4642 = {
.probe = ak4642_probe,
.remove = ak4642_remove,
@@ -497,6 +506,7 @@ static struct snd_soc_codec_driver soc_codec_dev_ak4642 = {
.num_dapm_widgets = ARRAY_SIZE(ak4642_dapm_widgets),
.dapm_routes = ak4642_intercon,
.num_dapm_routes = ARRAY_SIZE(ak4642_intercon),
+ .of_xlate_dai_name = ak4642_of_xlate_dai_name,
};
static struct snd_soc_codec_driver soc_codec_dev_ak4648 = {
@@ -511,6 +521,7 @@ static struct snd_soc_codec_driver soc_codec_dev_ak4648 = {
.num_dapm_widgets = ARRAY_SIZE(ak4642_dapm_widgets),
.dapm_routes = ak4642_intercon,
.num_dapm_routes = ARRAY_SIZE(ak4642_intercon),
+ .of_xlate_dai_name = ak4642_of_xlate_dai_name,
};
#if defined(CONFIG_I2C) || defined(CONFIG_I2C_MODULE)
--
1.7.9.5
More information about the devicetree-discuss
mailing list