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@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@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)