All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mark Brown <broonie@kernel.org>
To: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Cc: alsa-devel@alsa-project.org, Mark Brown <broonie@kernel.org>,
	Simon <horms@verge.net.au>
Subject: Applied "ASoC: tas2552: replace codec to component" to the asoc tree
Date: Mon, 12 Feb 2018 12:38:54 +0000	[thread overview]
Message-ID: <E1elDNm-0004Nq-IN@debutante> (raw)
In-Reply-To: <877esn7swi.wl%kuninori.morimoto.gx@renesas.com>

The patch

   ASoC: tas2552: replace codec to component

has been applied to the asoc tree at

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git 

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.  

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark

>From 79a4ad1e0f4ae040daac3a7d7c6bddd3332d7baf Mon Sep 17 00:00:00 2001
From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Date: Mon, 29 Jan 2018 04:23:20 +0000
Subject: [PATCH] ASoC: tas2552: replace codec to component

Now we can replace Codec to Component. Let's do it.

Note:
	xxx_codec_xxx()		->	xxx_component_xxx()
	.idle_bias_off = 0	->	.idle_bias_on = 1
	.ignore_pmdown_time = 1	->	.use_pmdown_time = 0
	-			->	.endianness = 1
	-			->	.non_legacy_dai_naming = 1

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
---
 sound/soc/codecs/tas2552.c | 178 ++++++++++++++++++++++-----------------------
 1 file changed, 87 insertions(+), 91 deletions(-)

diff --git a/sound/soc/codecs/tas2552.c b/sound/soc/codecs/tas2552.c
index 87307dd0f12e..355ecafb7c0f 100644
--- a/sound/soc/codecs/tas2552.c
+++ b/sound/soc/codecs/tas2552.c
@@ -70,7 +70,7 @@ static const char *tas2552_supply_names[TAS2552_NUM_SUPPLIES] = {
 };
 
 struct tas2552_data {
-	struct snd_soc_codec *codec;
+	struct snd_soc_component *component;
 	struct regmap *regmap;
 	struct i2c_client *tas2552_client;
 	struct regulator_bulk_data supplies[TAS2552_NUM_SUPPLIES];
@@ -88,22 +88,22 @@ struct tas2552_data {
 static int tas2552_post_event(struct snd_soc_dapm_widget *w,
 			      struct snd_kcontrol *kcontrol, int event)
 {
-	struct snd_soc_codec *codec = snd_soc_dapm_to_codec(w->dapm);
+	struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm);
 
 	switch (event) {
 	case SND_SOC_DAPM_POST_PMU:
-		snd_soc_write(codec, TAS2552_RESERVED_0D, 0xc0);
-		snd_soc_update_bits(codec, TAS2552_LIMIT_RATE_HYS, (1 << 5),
+		snd_soc_component_write(component, TAS2552_RESERVED_0D, 0xc0);
+		snd_soc_component_update_bits(component, TAS2552_LIMIT_RATE_HYS, (1 << 5),
 				    (1 << 5));
-		snd_soc_update_bits(codec, TAS2552_CFG_2, 1, 0);
-		snd_soc_update_bits(codec, TAS2552_CFG_1, TAS2552_SWS, 0);
+		snd_soc_component_update_bits(component, TAS2552_CFG_2, 1, 0);
+		snd_soc_component_update_bits(component, TAS2552_CFG_1, TAS2552_SWS, 0);
 		break;
 	case SND_SOC_DAPM_POST_PMD:
-		snd_soc_update_bits(codec, TAS2552_CFG_1, TAS2552_SWS,
+		snd_soc_component_update_bits(component, TAS2552_CFG_1, TAS2552_SWS,
 				    TAS2552_SWS);
-		snd_soc_update_bits(codec, TAS2552_CFG_2, 1, 1);
-		snd_soc_update_bits(codec, TAS2552_LIMIT_RATE_HYS, (1 << 5), 0);
-		snd_soc_write(codec, TAS2552_RESERVED_0D, 0xbe);
+		snd_soc_component_update_bits(component, TAS2552_CFG_2, 1, 1);
+		snd_soc_component_update_bits(component, TAS2552_LIMIT_RATE_HYS, (1 << 5), 0);
+		snd_soc_component_write(component, TAS2552_RESERVED_0D, 0xbe);
 		break;
 	}
 	return 0;
@@ -149,21 +149,21 @@ static void tas2552_sw_shutdown(struct tas2552_data *tas2552, int sw_shutdown)
 {
 	u8 cfg1_reg = 0;
 
-	if (!tas2552->codec)
+	if (!tas2552->component)
 		return;
 
 	if (sw_shutdown)
 		cfg1_reg = TAS2552_SWS;
 
-	snd_soc_update_bits(tas2552->codec, TAS2552_CFG_1, TAS2552_SWS,
+	snd_soc_component_update_bits(tas2552->component, TAS2552_CFG_1, TAS2552_SWS,
 			    cfg1_reg);
 }
 #endif
 
-static int tas2552_setup_pll(struct snd_soc_codec *codec,
+static int tas2552_setup_pll(struct snd_soc_component *component,
 			     struct snd_pcm_hw_params *params)
 {
-	struct tas2552_data *tas2552 = dev_get_drvdata(codec->dev);
+	struct tas2552_data *tas2552 = dev_get_drvdata(component->dev);
 	bool bypass_pll = false;
 	unsigned int pll_clk = params_rate(params) * 512;
 	unsigned int pll_clkin = tas2552->pll_clkin;
@@ -177,15 +177,15 @@ static int tas2552_setup_pll(struct snd_soc_codec *codec,
 		pll_clkin += tas2552->tdm_delay;
 	}
 
-	pll_enable = snd_soc_read(codec, TAS2552_CFG_2) & TAS2552_PLL_ENABLE;
-	snd_soc_update_bits(codec, TAS2552_CFG_2, TAS2552_PLL_ENABLE, 0);
+	pll_enable = snd_soc_component_read32(component, TAS2552_CFG_2) & TAS2552_PLL_ENABLE;
+	snd_soc_component_update_bits(component, TAS2552_CFG_2, TAS2552_PLL_ENABLE, 0);
 
 	if (pll_clkin == pll_clk)
 		bypass_pll = true;
 
 	if (bypass_pll) {
 		/* By pass the PLL configuration */
-		snd_soc_update_bits(codec, TAS2552_PLL_CTRL_2,
+		snd_soc_component_update_bits(component, TAS2552_PLL_CTRL_2,
 				    TAS2552_PLL_BYPASS, TAS2552_PLL_BYPASS);
 	} else {
 		/* Fill in the PLL control registers for J & D
@@ -195,7 +195,7 @@ static int tas2552_setup_pll(struct snd_soc_codec *codec,
 		unsigned int d, q, t;
 		u8 j;
 		u8 pll_sel = (tas2552->pll_clk_id << 3) & TAS2552_PLL_SRC_MASK;
-		u8 p = snd_soc_read(codec, TAS2552_PLL_CTRL_1);
+		u8 p = snd_soc_component_read32(component, TAS2552_PLL_CTRL_1);
 
 		p = (p >> 7);
 
@@ -221,20 +221,20 @@ static int tas2552_setup_pll(struct snd_soc_codec *codec,
 			goto recalc;
 		}
 
-		snd_soc_update_bits(codec, TAS2552_CFG_1, TAS2552_PLL_SRC_MASK,
+		snd_soc_component_update_bits(component, TAS2552_CFG_1, TAS2552_PLL_SRC_MASK,
 				    pll_sel);
 
-		snd_soc_update_bits(codec, TAS2552_PLL_CTRL_1,
+		snd_soc_component_update_bits(component, TAS2552_PLL_CTRL_1,
 				    TAS2552_PLL_J_MASK, j);
 		/* Will clear the PLL_BYPASS bit */
-		snd_soc_write(codec, TAS2552_PLL_CTRL_2,
+		snd_soc_component_write(component, TAS2552_PLL_CTRL_2,
 			      TAS2552_PLL_D_UPPER(d));
-		snd_soc_write(codec, TAS2552_PLL_CTRL_3,
+		snd_soc_component_write(component, TAS2552_PLL_CTRL_3,
 			      TAS2552_PLL_D_LOWER(d));
 	}
 
 	/* Restore PLL status */
-	snd_soc_update_bits(codec, TAS2552_CFG_2, TAS2552_PLL_ENABLE,
+	snd_soc_component_update_bits(component, TAS2552_CFG_2, TAS2552_PLL_ENABLE,
 			    pll_enable);
 
 	return 0;
@@ -244,8 +244,8 @@ static int tas2552_hw_params(struct snd_pcm_substream *substream,
 			     struct snd_pcm_hw_params *params,
 			     struct snd_soc_dai *dai)
 {
-	struct snd_soc_codec *codec = dai->codec;
-	struct tas2552_data *tas2552 = dev_get_drvdata(codec->dev);
+	struct snd_soc_component *component = dai->component;
+	struct tas2552_data *tas2552 = dev_get_drvdata(component->dev);
 	int cpf;
 	u8 ser_ctrl1_reg, wclk_rate;
 
@@ -267,7 +267,7 @@ static int tas2552_hw_params(struct snd_pcm_substream *substream,
 		cpf = 64 + tas2552->tdm_delay;
 		break;
 	default:
-		dev_err(codec->dev, "Not supported sample size: %d\n",
+		dev_err(component->dev, "Not supported sample size: %d\n",
 			params_width(params));
 		return -EINVAL;
 	}
@@ -281,7 +281,7 @@ static int tas2552_hw_params(struct snd_pcm_substream *substream,
 	else
 		ser_ctrl1_reg |= TAS2552_CLKSPERFRAME_256;
 
-	snd_soc_update_bits(codec, TAS2552_SER_CTRL_1,
+	snd_soc_component_update_bits(component, TAS2552_SER_CTRL_1,
 			    TAS2552_WORDLENGTH_MASK | TAS2552_CLKSPERFRAME_MASK,
 			    ser_ctrl1_reg);
 
@@ -316,15 +316,15 @@ static int tas2552_hw_params(struct snd_pcm_substream *substream,
 		wclk_rate = TAS2552_WCLK_FREQ_176_192KHZ;
 		break;
 	default:
-		dev_err(codec->dev, "Not supported sample rate: %d\n",
+		dev_err(component->dev, "Not supported sample rate: %d\n",
 			params_rate(params));
 		return -EINVAL;
 	}
 
-	snd_soc_update_bits(codec, TAS2552_CFG_3, TAS2552_WCLK_FREQ_MASK,
+	snd_soc_component_update_bits(component, TAS2552_CFG_3, TAS2552_WCLK_FREQ_MASK,
 			    wclk_rate);
 
-	return tas2552_setup_pll(codec, params);
+	return tas2552_setup_pll(component, params);
 }
 
 #define TAS2552_DAI_FMT_MASK	(TAS2552_BCLKDIR | \
@@ -333,8 +333,8 @@ static int tas2552_hw_params(struct snd_pcm_substream *substream,
 static int tas2552_prepare(struct snd_pcm_substream *substream,
 			   struct snd_soc_dai *dai)
 {
-	struct snd_soc_codec *codec = dai->codec;
-	struct tas2552_data *tas2552 = snd_soc_codec_get_drvdata(codec);
+	struct snd_soc_component *component = dai->component;
+	struct tas2552_data *tas2552 = snd_soc_component_get_drvdata(component);
 	int delay = 0;
 
 	/* TDM slot selection only valid in DSP_A/_B mode */
@@ -344,15 +344,15 @@ static int tas2552_prepare(struct snd_pcm_substream *substream,
 		delay += tas2552->tdm_delay;
 
 	/* Configure data delay */
-	snd_soc_write(codec, TAS2552_SER_CTRL_2, delay);
+	snd_soc_component_write(component, TAS2552_SER_CTRL_2, delay);
 
 	return 0;
 }
 
 static int tas2552_set_dai_fmt(struct snd_soc_dai *dai, unsigned int fmt)
 {
-	struct snd_soc_codec *codec = dai->codec;
-	struct tas2552_data *tas2552 = dev_get_drvdata(codec->dev);
+	struct snd_soc_component *component = dai->component;
+	struct tas2552_data *tas2552 = dev_get_drvdata(component->dev);
 	u8 serial_format;
 
 	switch (fmt & SND_SOC_DAIFMT_MASTER_MASK) {
@@ -369,7 +369,7 @@ static int tas2552_set_dai_fmt(struct snd_soc_dai *dai, unsigned int fmt)
 		serial_format = (TAS2552_BCLKDIR | TAS2552_WCLKDIR);
 		break;
 	default:
-		dev_vdbg(codec->dev, "DAI Format master is not found\n");
+		dev_vdbg(component->dev, "DAI Format master is not found\n");
 		return -EINVAL;
 	}
 
@@ -388,12 +388,12 @@ static int tas2552_set_dai_fmt(struct snd_soc_dai *dai, unsigned int fmt)
 		serial_format |= TAS2552_DATAFORMAT_LEFT_J;
 		break;
 	default:
-		dev_vdbg(codec->dev, "DAI Format is not found\n");
+		dev_vdbg(component->dev, "DAI Format is not found\n");
 		return -EINVAL;
 	}
 	tas2552->dai_fmt = fmt & SND_SOC_DAIFMT_FORMAT_MASK;
 
-	snd_soc_update_bits(codec, TAS2552_SER_CTRL_1, TAS2552_DAI_FMT_MASK,
+	snd_soc_component_update_bits(component, TAS2552_SER_CTRL_1, TAS2552_DAI_FMT_MASK,
 			    serial_format);
 	return 0;
 }
@@ -401,8 +401,8 @@ static int tas2552_set_dai_fmt(struct snd_soc_dai *dai, unsigned int fmt)
 static int tas2552_set_dai_sysclk(struct snd_soc_dai *dai, int clk_id,
 				  unsigned int freq, int dir)
 {
-	struct snd_soc_codec *codec = dai->codec;
-	struct tas2552_data *tas2552 = dev_get_drvdata(codec->dev);
+	struct snd_soc_component *component = dai->component;
+	struct tas2552_data *tas2552 = dev_get_drvdata(component->dev);
 	u8 reg, mask, val;
 
 	switch (clk_id) {
@@ -410,7 +410,7 @@ static int tas2552_set_dai_sysclk(struct snd_soc_dai *dai, int clk_id,
 	case TAS2552_PLL_CLKIN_IVCLKIN:
 		if (freq < 512000 || freq > 24576000) {
 			/* out of range PLL_CLKIN, fall back to use BCLK */
-			dev_warn(codec->dev, "Out of range PLL_CLKIN: %u\n",
+			dev_warn(component->dev, "Out of range PLL_CLKIN: %u\n",
 				 freq);
 			clk_id = TAS2552_PLL_CLKIN_BCLK;
 			freq = 0;
@@ -435,11 +435,11 @@ static int tas2552_set_dai_sysclk(struct snd_soc_dai *dai, int clk_id,
 		tas2552->pdm_clk = freq;
 		break;
 	default:
-		dev_err(codec->dev, "Invalid clk id: %d\n", clk_id);
+		dev_err(component->dev, "Invalid clk id: %d\n", clk_id);
 		return -EINVAL;
 	}
 
-	snd_soc_update_bits(codec, reg, mask, val);
+	snd_soc_component_update_bits(component, reg, mask, val);
 
 	return 0;
 }
@@ -448,26 +448,26 @@ static int tas2552_set_dai_tdm_slot(struct snd_soc_dai *dai,
 				    unsigned int tx_mask, unsigned int rx_mask,
 				    int slots, int slot_width)
 {
-	struct snd_soc_codec *codec = dai->codec;
-	struct tas2552_data *tas2552 = snd_soc_codec_get_drvdata(codec);
+	struct snd_soc_component *component = dai->component;
+	struct tas2552_data *tas2552 = snd_soc_component_get_drvdata(component);
 	unsigned int lsb;
 
 	if (unlikely(!tx_mask)) {
-		dev_err(codec->dev, "tx masks need to be non 0\n");
+		dev_err(component->dev, "tx masks need to be non 0\n");
 		return -EINVAL;
 	}
 
 	/* TDM based on DSP mode requires slots to be adjacent */
 	lsb = __ffs(tx_mask);
 	if ((lsb + 1) != __fls(tx_mask)) {
-		dev_err(codec->dev, "Invalid mask, slots must be adjacent\n");
+		dev_err(component->dev, "Invalid mask, slots must be adjacent\n");
 		return -EINVAL;
 	}
 
 	tas2552->tdm_delay = lsb * slot_width;
 
 	/* DOUT in high-impedance on inactive bit clocks */
-	snd_soc_update_bits(codec, TAS2552_DOUT,
+	snd_soc_component_update_bits(component, TAS2552_DOUT,
 			    TAS2552_SDOUT_TRISTATE, TAS2552_SDOUT_TRISTATE);
 
 	return 0;
@@ -476,12 +476,12 @@ static int tas2552_set_dai_tdm_slot(struct snd_soc_dai *dai,
 static int tas2552_mute(struct snd_soc_dai *dai, int mute)
 {
 	u8 cfg1_reg = 0;
-	struct snd_soc_codec *codec = dai->codec;
+	struct snd_soc_component *component = dai->component;
 
 	if (mute)
 		cfg1_reg |= TAS2552_MUTE;
 
-	snd_soc_update_bits(codec, TAS2552_CFG_1, TAS2552_MUTE, cfg1_reg);
+	snd_soc_component_update_bits(component, TAS2552_CFG_1, TAS2552_MUTE, cfg1_reg);
 
 	return 0;
 }
@@ -570,41 +570,41 @@ static const struct snd_kcontrol_new tas2552_snd_controls[] = {
 	SOC_ENUM("DIN source", tas2552_din_source_enum),
 };
 
-static int tas2552_codec_probe(struct snd_soc_codec *codec)
+static int tas2552_component_probe(struct snd_soc_component *component)
 {
-	struct tas2552_data *tas2552 = snd_soc_codec_get_drvdata(codec);
+	struct tas2552_data *tas2552 = snd_soc_component_get_drvdata(component);
 	int ret;
 
-	tas2552->codec = codec;
+	tas2552->component = component;
 
 	ret = regulator_bulk_enable(ARRAY_SIZE(tas2552->supplies),
 				    tas2552->supplies);
 
 	if (ret != 0) {
-		dev_err(codec->dev, "Failed to enable supplies: %d\n",
+		dev_err(component->dev, "Failed to enable supplies: %d\n",
 			ret);
 		return ret;
 	}
 
 	gpiod_set_value(tas2552->enable_gpio, 1);
 
-	ret = pm_runtime_get_sync(codec->dev);
+	ret = pm_runtime_get_sync(component->dev);
 	if (ret < 0) {
-		dev_err(codec->dev, "Enabling device failed: %d\n",
+		dev_err(component->dev, "Enabling device failed: %d\n",
 			ret);
 		goto probe_fail;
 	}
 
-	snd_soc_update_bits(codec, TAS2552_CFG_1, TAS2552_MUTE, TAS2552_MUTE);
-	snd_soc_write(codec, TAS2552_CFG_3, TAS2552_I2S_OUT_SEL |
+	snd_soc_component_update_bits(component, TAS2552_CFG_1, TAS2552_MUTE, TAS2552_MUTE);
+	snd_soc_component_write(component, TAS2552_CFG_3, TAS2552_I2S_OUT_SEL |
 					    TAS2552_DIN_SRC_SEL_AVG_L_R);
-	snd_soc_write(codec, TAS2552_OUTPUT_DATA,
+	snd_soc_component_write(component, TAS2552_OUTPUT_DATA,
 		      TAS2552_PDM_DATA_SEL_V_I |
 		      TAS2552_R_DATA_OUT(TAS2552_DATA_OUT_V_DATA));
-	snd_soc_write(codec, TAS2552_BOOST_APT_CTRL, TAS2552_APT_DELAY_200 |
+	snd_soc_component_write(component, TAS2552_BOOST_APT_CTRL, TAS2552_APT_DELAY_200 |
 						     TAS2552_APT_THRESH_20_17);
 
-	snd_soc_write(codec, TAS2552_CFG_2, TAS2552_BOOST_EN | TAS2552_APT_EN |
+	snd_soc_component_write(component, TAS2552_CFG_2, TAS2552_BOOST_EN | TAS2552_APT_EN |
 					    TAS2552_LIM_EN);
 
 	return 0;
@@ -617,42 +617,40 @@ static int tas2552_codec_probe(struct snd_soc_codec *codec)
 	return ret;
 }
 
-static int tas2552_codec_remove(struct snd_soc_codec *codec)
+static void tas2552_component_remove(struct snd_soc_component *component)
 {
-	struct tas2552_data *tas2552 = snd_soc_codec_get_drvdata(codec);
+	struct tas2552_data *tas2552 = snd_soc_component_get_drvdata(component);
 
-	pm_runtime_put(codec->dev);
+	pm_runtime_put(component->dev);
 
 	gpiod_set_value(tas2552->enable_gpio, 0);
-
-	return 0;
 };
 
 #ifdef CONFIG_PM
-static int tas2552_suspend(struct snd_soc_codec *codec)
+static int tas2552_suspend(struct snd_soc_component *component)
 {
-	struct tas2552_data *tas2552 = snd_soc_codec_get_drvdata(codec);
+	struct tas2552_data *tas2552 = snd_soc_component_get_drvdata(component);
 	int ret;
 
 	ret = regulator_bulk_disable(ARRAY_SIZE(tas2552->supplies),
 					tas2552->supplies);
 
 	if (ret != 0)
-		dev_err(codec->dev, "Failed to disable supplies: %d\n",
+		dev_err(component->dev, "Failed to disable supplies: %d\n",
 			ret);
 	return ret;
 }
 
-static int tas2552_resume(struct snd_soc_codec *codec)
+static int tas2552_resume(struct snd_soc_component *component)
 {
-	struct tas2552_data *tas2552 = snd_soc_codec_get_drvdata(codec);
+	struct tas2552_data *tas2552 = snd_soc_component_get_drvdata(component);
 	int ret;
 
 	ret = regulator_bulk_enable(ARRAY_SIZE(tas2552->supplies),
 				    tas2552->supplies);
 
 	if (ret != 0) {
-		dev_err(codec->dev, "Failed to enable supplies: %d\n",
+		dev_err(component->dev, "Failed to enable supplies: %d\n",
 			ret);
 	}
 
@@ -663,21 +661,20 @@ static int tas2552_resume(struct snd_soc_codec *codec)
 #define tas2552_resume NULL
 #endif
 
-static const struct snd_soc_codec_driver soc_codec_dev_tas2552 = {
-	.probe = tas2552_codec_probe,
-	.remove = tas2552_codec_remove,
-	.suspend =	tas2552_suspend,
-	.resume = tas2552_resume,
-	.ignore_pmdown_time = true,
-
-	.component_driver = {
-		.controls		= tas2552_snd_controls,
-		.num_controls		= ARRAY_SIZE(tas2552_snd_controls),
-		.dapm_widgets		= tas2552_dapm_widgets,
-		.num_dapm_widgets	= ARRAY_SIZE(tas2552_dapm_widgets),
-		.dapm_routes		= tas2552_audio_map,
-		.num_dapm_routes	= ARRAY_SIZE(tas2552_audio_map),
-	},
+static const struct snd_soc_component_driver soc_component_dev_tas2552 = {
+	.probe			= tas2552_component_probe,
+	.remove			= tas2552_component_remove,
+	.suspend		= tas2552_suspend,
+	.resume			= tas2552_resume,
+	.controls		= tas2552_snd_controls,
+	.num_controls		= ARRAY_SIZE(tas2552_snd_controls),
+	.dapm_widgets		= tas2552_dapm_widgets,
+	.num_dapm_widgets	= ARRAY_SIZE(tas2552_dapm_widgets),
+	.dapm_routes		= tas2552_audio_map,
+	.num_dapm_routes	= ARRAY_SIZE(tas2552_audio_map),
+	.idle_bias_on		= 1,
+	.endianness		= 1,
+	.non_legacy_dai_naming	= 1,
 };
 
 static const struct regmap_config tas2552_regmap_config = {
@@ -736,18 +733,17 @@ static int tas2552_probe(struct i2c_client *client,
 
 	dev_set_drvdata(&client->dev, data);
 
-	ret = snd_soc_register_codec(&client->dev,
-				      &soc_codec_dev_tas2552,
+	ret = devm_snd_soc_register_component(&client->dev,
+				      &soc_component_dev_tas2552,
 				      tas2552_dai, ARRAY_SIZE(tas2552_dai));
 	if (ret < 0)
-		dev_err(&client->dev, "Failed to register codec: %d\n", ret);
+		dev_err(&client->dev, "Failed to register component: %d\n", ret);
 
 	return ret;
 }
 
 static int tas2552_i2c_remove(struct i2c_client *client)
 {
-	snd_soc_unregister_codec(&client->dev);
 	pm_runtime_disable(&client->dev);
 	return 0;
 }
-- 
2.16.1

  reply	other threads:[~2018-02-12 12:38 UTC|newest]

Thread overview: 202+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-01-12  1:06 [PATCH 000/187] ASoC: replace codec to component Kuninori Morimoto
2018-01-12  1:07 ` [PATCH 001/187] ASoC: soc-utils: " Kuninori Morimoto
2018-01-12  1:07 ` [PATCH 002/187] ASoC: ac97: " Kuninori Morimoto
2018-01-12  1:08 ` [PATCH 003/187] ASoC: wm0010: " Kuninori Morimoto
2018-01-24 15:18   ` Charles Keepax
2018-01-12  1:08 ` [PATCH 004/187] ASoC: wm2000: " Kuninori Morimoto
2018-01-24 15:19   ` Charles Keepax
2018-01-12  1:08 ` [PATCH 005/187] ASoC: wm2200: " Kuninori Morimoto
2018-02-12 12:51   ` Applied "ASoC: wm2200: replace codec to component" to the asoc tree Mark Brown
2018-01-12  1:09 ` [PATCH 006/187] ASoC: wm5100: replace codec to component Kuninori Morimoto
2018-01-12  1:09 ` [PATCH 007/187] ASoC: wm8350: " Kuninori Morimoto
2018-01-12  1:09 ` [PATCH 008/187] ASoC: wm8400: " Kuninori Morimoto
2018-01-12  1:10 ` [PATCH 009/187] ASoC: wm8580: " Kuninori Morimoto
2018-01-12  1:10 ` [PATCH 010/187] ASoC: wm8524: " Kuninori Morimoto
2018-01-24 15:20   ` Charles Keepax
2018-01-12  1:10 ` [PATCH 011/187] ASoC: wm8510: " Kuninori Morimoto
2018-01-12  1:11 ` [PATCH 012/187] ASoC: wm8523: " Kuninori Morimoto
2018-01-12  1:11 ` [PATCH 013/187] ASoC: wm8711: " Kuninori Morimoto
2018-01-12  1:11 ` [PATCH 014/187] ASoC: wm8750: " Kuninori Morimoto
2018-01-12  1:12 ` [PATCH 015/187] ASoC: wm8737: " Kuninori Morimoto
2018-01-12  1:12 ` [PATCH 016/187] ASoC: wm8776: " Kuninori Morimoto
2018-01-12  1:12 ` [PATCH 017/187] ASoC: wm8770: " Kuninori Morimoto
2018-01-12  1:12 ` [PATCH 018/187] ASoC: wm8727: " Kuninori Morimoto
2018-01-12  1:13 ` [PATCH 019/187] ASoC: wm8731: " Kuninori Morimoto
2018-01-12  1:13 ` [PATCH 020/187] ASoC: wm8782: " Kuninori Morimoto
2018-01-12  1:13 ` [PATCH 021/187] ASoC: wm8728: " Kuninori Morimoto
2018-01-12  1:14 ` [PATCH 022/187] ASoC: wm8741: " Kuninori Morimoto
2018-01-12  1:14 ` [PATCH 023/187] ASoC: wm8753: " Kuninori Morimoto
2018-01-12  1:15 ` [PATCH 024/187] ASoC: wm8804: " Kuninori Morimoto
2018-01-12  1:15 ` [PATCH 025/187] ASoC: wm8900: " Kuninori Morimoto
2018-01-12  1:15 ` [PATCH 026/187] ASoC: wm8903: " Kuninori Morimoto
2018-01-12  1:15 ` [PATCH 027/187] ASoC: wm8955: " Kuninori Morimoto
2018-01-12  1:16 ` [PATCH 029/187] ASoC: wm8985: " Kuninori Morimoto
2018-01-12  1:16 ` [PATCH 030/187] ASoC: wm8971: " Kuninori Morimoto
2018-01-12  1:16 ` [PATCH 031/187] ASoC: wm8978: " Kuninori Morimoto
2018-01-12  1:17 ` [PATCH 032/187] ASoC: wm8974: " Kuninori Morimoto
2018-01-12  1:17 ` [PATCH 033/187] ASoC: wm8990: " Kuninori Morimoto
2018-01-12  1:17 ` [PATCH 034/187] ASoC: wm8988: " Kuninori Morimoto
2018-01-12  1:18 ` [PATCH 035/187] ASoC: wm8983: " Kuninori Morimoto
2018-01-12  1:18 ` [PATCH 036/187] ASoC: wm8962: " Kuninori Morimoto
2018-01-12  1:18 ` [PATCH 037/187] ASoC: wm8996: " Kuninori Morimoto
2018-01-12  1:19 ` [PATCH 038/187] ASoC: wm8991: " Kuninori Morimoto
2018-01-12  1:19 ` [PATCH 039/187] ASoC: wm8995: " Kuninori Morimoto
2018-01-12  1:19 ` [PATCH 040/187] ASoC: wm8961: " Kuninori Morimoto
2018-01-12  1:19 ` [PATCH 041/187] ASoC: wm8940: " Kuninori Morimoto
2018-01-12  1:20 ` [PATCH 042/187] ASoC: wm8904: " Kuninori Morimoto
2018-01-12  1:20 ` [PATCH 043/187] ASoC: wm9081: " Kuninori Morimoto
2018-01-12  1:20 ` [PATCH 044/187] ASoC: wm9090: " Kuninori Morimoto
2018-01-12  1:21 ` [PATCH 045/187] ASoC: wm9705: " Kuninori Morimoto
2018-01-12  1:21 ` [PATCH 046/187] ASoC: wm9712: " Kuninori Morimoto
2018-01-12  1:21 ` [PATCH 047/187] ASoC: wm9713: " Kuninori Morimoto
2018-01-12  1:21 ` [PATCH 048/187] ASoC: wm9867: " Kuninori Morimoto
2018-01-12  1:22 ` [PATCH 049/187] ASoC: wm1250-ev1: " Kuninori Morimoto
2018-01-12  1:22 ` [PATCH 050/187] ASoC: wm8993/wm8994/wm8958: " Kuninori Morimoto
2018-01-12  1:22 ` [PATCH 051/187] ASoC: ak4613: " Kuninori Morimoto
2018-01-12  1:22 ` [PATCH 052/187] ASoC: ak4642: " Kuninori Morimoto
2018-01-12  1:23 ` [PATCH 053/187] ASoC: ak5386: " Kuninori Morimoto
2018-01-12  1:24 ` [PATCH 054/187] ASoC: ak4671: " Kuninori Morimoto
2018-01-12  1:24 ` [PATCH 055/187] ASoC: ak4104: " Kuninori Morimoto
2018-01-12  1:24 ` [PATCH 056/187] ASoC: ak4535: " Kuninori Morimoto
2018-01-12  1:24 ` [PATCH 057/187] ASoC: ak4641: " Kuninori Morimoto
2018-01-12  1:25 ` [PATCH 058/187] ASoC: ak4554: " Kuninori Morimoto
2018-01-12  1:25 ` [PATCH 059/187] ASoC: rt274: " Kuninori Morimoto
2018-01-12  1:25 ` [PATCH 060/187] ASoC: rt5616: " Kuninori Morimoto
2018-01-12  1:25 ` [PATCH 061/187] ASoC: rt5640: " Kuninori Morimoto
2018-01-12  1:26 ` [PATCH 062/187] ASoC: rt5651: " Kuninori Morimoto
2018-01-12  1:26 ` [PATCH 063/187] ASoC: rt5514: " Kuninori Morimoto
2018-01-12  1:26 ` [PATCH 064/187] ASoC: rt5659: " Kuninori Morimoto
2018-01-12  1:26 ` [PATCH 065/187] ASoC: rt5670: " Kuninori Morimoto
2018-01-12  1:27 ` [PATCH 066/187] ASoC: rt5660: " Kuninori Morimoto
2018-01-12  1:27 ` [PATCH 067/187] ASoC: rt5631: " Kuninori Morimoto
2018-01-12  1:27 ` [PATCH 068/187] ASoC: rt5665: " Kuninori Morimoto
2018-01-12  1:28 ` [PATCH 069/187] ASoC: rt5645/rt5677: " Kuninori Morimoto
2018-01-12  1:28 ` [PATCH 070/187] ASoC: cs4271: " Kuninori Morimoto
2018-01-12  1:28 ` [PATCH 071/187] ASoC: cs4270: " Kuninori Morimoto
2018-01-12  1:28 ` [PATCH 072/187] ASoC: cs4349: " Kuninori Morimoto
2018-01-12  1:29 ` [PATCH 073/187] ASoC: cs4265: " Kuninori Morimoto
2018-01-12  1:29 ` [PATCH 074/187] ASoC: cs35l32: " Kuninori Morimoto
2018-01-12  1:29 ` [PATCH 075/187] ASoC: cs35l33: " Kuninori Morimoto
2018-01-12  1:30 ` [PATCH 076/187] ASoC: cs35l35: " Kuninori Morimoto
2018-01-12  1:30 ` [PATCH 077/187] ASoC: cs35l34: " Kuninori Morimoto
2018-01-12  1:30 ` [PATCH 078/187] ASoC: cs42xx8: " Kuninori Morimoto
2018-01-12  1:30 ` [PATCH 079/187] ASoC: cs42l73: " Kuninori Morimoto
2018-01-12  1:31 ` [PATCH 080/187] ASoC: cs42l52: " Kuninori Morimoto
2018-01-12  1:31 ` [PATCH 081/187] ASoC: cs42l56: " Kuninori Morimoto
2018-01-12  1:31 ` [PATCH 082/187] ASoC: cs42l51: " Kuninori Morimoto
2018-01-12  1:31 ` [PATCH 083/187] ASoC: cs42l42: " Kuninori Morimoto
2018-02-12 12:43   ` Applied "ASoC: cs42l42: replace codec to component" to the asoc tree Mark Brown
2018-01-12  1:32 ` [PATCH 084/187] ASoC: cs43130: replace codec to component Kuninori Morimoto
2018-01-12  1:32 ` [PATCH 085/187] ASoC: cs53l30: " Kuninori Morimoto
2018-01-12  1:32 ` [PATCH 086/187] ASoC: da732x: " Kuninori Morimoto
2018-01-12  1:32 ` [PATCH 087/187] ASoC: da7210: " Kuninori Morimoto
2018-01-12  1:33 ` [PATCH 088/187] ASoC: da7218: " Kuninori Morimoto
2018-01-12  1:33 ` [PATCH 089/187] ASoC: da7213: " Kuninori Morimoto
2018-01-12  1:33 ` [PATCH 090/187] ASoC: da9055: " Kuninori Morimoto
2018-01-12  1:33 ` [PATCH 091/187] ASoC: max9860: " Kuninori Morimoto
2018-01-12  1:34 ` [PATCH 092/187] ASoC: max9850: " Kuninori Morimoto
2018-01-12  1:35 ` [PATCH 093/187] ASoC: max98371: " Kuninori Morimoto
2018-01-12  1:35 ` [PATCH 094/187] ASoC: max98095: " Kuninori Morimoto
2018-01-12  1:36 ` [PATCH 095/187] ASoC: max98090: " Kuninori Morimoto
2018-01-12  1:36 ` [PATCH 096/187] ASoC: max98926: " Kuninori Morimoto
2018-01-12  1:36 ` [PATCH 097/187] ASoC: max98088: " Kuninori Morimoto
2018-01-12  1:37 ` [PATCH 098/187] ASoC: max98925: " Kuninori Morimoto
2018-01-12  1:37 ` [PATCH 099/187] ASoC: max98927: " Kuninori Morimoto
2018-01-12  1:37 ` [PATCH 100/187] ASoC: max98357a: " Kuninori Morimoto
2018-01-12  1:38 ` [PATCH 101/187] ASoC: max98373: " Kuninori Morimoto
2018-01-12  1:38 ` [PATCH 102/187] ASoC: adav80x: " Kuninori Morimoto
2018-01-12  1:38 ` [PATCH 103/187] ASoC: adau1373: " Kuninori Morimoto
2018-01-12  1:38 ` [PATCH 104/187] ASoC: adau7002: " Kuninori Morimoto
2018-01-12  1:39 ` [PATCH 105/187] ASoC: adau1977: " Kuninori Morimoto
2018-01-12  1:39 ` [PATCH 106/187] ASoC: adau1701: " Kuninori Morimoto
2018-01-12  1:39 ` [PATCH 107/187] ASoC: adau17x1/adau1761/adau1781: " Kuninori Morimoto
2018-01-12  1:39 ` [PATCH 108/187] ASoC: tlv320aic23: " Kuninori Morimoto
2018-01-12  1:40 ` [PATCH 109/187] ASoC: tlv320aic26: " Kuninori Morimoto
2018-01-12  1:40 ` [PATCH 110/187] ASoC: tlv320aic3x: " Kuninori Morimoto
2018-01-12  1:40 ` [PATCH 111/187] ASoC: tlv320dac33: " Kuninori Morimoto
2018-01-12  1:40 ` [PATCH 112/187] ASoC: tlv320aic32x4: " Kuninori Morimoto
2018-01-12  1:41 ` [PATCH 113/187] ASoC: tlv320aic31xx: " Kuninori Morimoto
2018-01-12  1:41 ` [PATCH 114/187] ASoC: tscs42xx: " Kuninori Morimoto
2018-01-12  1:41 ` [PATCH 115/187] ASoC: pcm179x: " Kuninori Morimoto
2018-01-12  1:42 ` [PATCH 116/187] ASoC: pcm3008: " Kuninori Morimoto
2018-01-12  1:42 ` [PATCH 117/187] ASoC: pcm1681: " Kuninori Morimoto
2018-01-12  1:42 ` [PATCH 118/187] ASoC: pcm512x: " Kuninori Morimoto
2018-01-12  1:42 ` [PATCH 119/187] ASoC: pcm5102a: " Kuninori Morimoto
2018-01-12  1:43 ` [PATCH 120/187] ASoC: pcm3168a: " Kuninori Morimoto
2018-01-12  1:43 ` [PATCH 121/187] ASoC: twl6040: " Kuninori Morimoto
2018-01-12  1:43 ` [PATCH 122/187] ASoC: twl4030: " Kuninori Morimoto
2018-01-17 11:34   ` Peter Ujfalusi
2018-01-17 11:37   ` Peter Ujfalusi
2018-01-18  0:07     ` Kuninori Morimoto
2018-01-18 17:09       ` Mark Brown
2018-01-19  0:08         ` Kuninori Morimoto
2018-01-19  0:46           ` Kuninori Morimoto
2018-01-12  1:44 ` [PATCH 123/187] ASoC: msm8916-wcd-analog: " Kuninori Morimoto
2018-01-12  1:44 ` [PATCH 124/187] ASoC: msm8916-wcd-digital: " Kuninori Morimoto
2018-01-12  1:44 ` [PATCH 125/187] ASoC: spdif_transmitter: " Kuninori Morimoto
2018-01-12  1:44 ` [PATCH 126/187] ASoC: spdif_receiver: " Kuninori Morimoto
2018-01-12  1:45 ` [PATCH 127/187] ASoC: tas5720: " Kuninori Morimoto
2018-01-12  1:45 ` [PATCH 128/187] ASoC: tas2552: " Kuninori Morimoto
2018-02-12 12:38   ` Mark Brown [this message]
2018-01-12  1:45 ` [PATCH 129/187] ASoC: sun4i: " Kuninori Morimoto
2018-01-12  1:45 ` [PATCH 130/187] ASoC: sun8i: " Kuninori Morimoto
2018-01-12  1:46 ` [PATCH 131/187] ASoC: ads117x: " Kuninori Morimoto
2018-01-12  1:46 ` [PATCH 132/187] ASoC: ab8500: " Kuninori Morimoto
2018-01-12  1:46 ` [PATCH 133/187] ASoC: ad193x: " Kuninori Morimoto
2018-01-12  1:47 ` [PATCH 134/187] ASoC: ad1836: " Kuninori Morimoto
2018-01-12  1:47 ` [PATCH 135/187] ASoC: ad1980: " Kuninori Morimoto
2018-01-12  1:47 ` [PATCH 136/187] ASoC: ad73311: " Kuninori Morimoto
2018-01-12  1:47 ` [PATCH 137/187] ASoC: atmel-pdmic: " Kuninori Morimoto
2018-01-12  1:48 ` [PATCH 138/187] ASoC: atmel-classd: " Kuninori Morimoto
2018-01-12  1:48 ` [PATCH 139/187] ASoC: ssm4567: " Kuninori Morimoto
2018-01-12  1:48 ` [PATCH 140/187] ASoC: ssm2602: " Kuninori Morimoto
2018-01-12  1:48 ` [PATCH 141/187] ASoC: ssm2518: " Kuninori Morimoto
2018-01-12  1:49 ` [PATCH 142/187] ASoC: sta350: " Kuninori Morimoto
2018-01-12  1:49 ` [PATCH 143/187] ASoC: sta32x: " Kuninori Morimoto
2018-01-12  1:49 ` [PATCH 144/187] ASoC: sta529: " Kuninori Morimoto
2018-01-12  1:49 ` [PATCH 145/187] ASoC: tas5086: " Kuninori Morimoto
2018-01-12  1:50 ` [PATCH 146/187] ASoC: tas571x: " Kuninori Morimoto
2018-01-12  1:50 ` [PATCH 147/187] ASoC: nau8824: " Kuninori Morimoto
2018-01-12  1:50 ` [PATCH 148/187] ASoC: nau8810: " Kuninori Morimoto
2018-01-12  1:51 ` [PATCH 149/187] ASoC: nau8540: " Kuninori Morimoto
2018-01-12  1:51 ` [PATCH 150/187] ASoC: es8316: " Kuninori Morimoto
2018-01-12  1:51 ` [PATCH 151/187] ASoC: es7134: " Kuninori Morimoto
2018-01-12  1:51 ` [PATCH 152/187] ASoC: es8328: " Kuninori Morimoto
2018-01-12  1:52 ` [PATCH 153/187] ASoC: alc5632: " Kuninori Morimoto
2018-01-12  1:52 ` [PATCH 154/187] ASoC: alc5623: " Kuninori Morimoto
2018-01-12  1:52 ` [PATCH 155/187] ASoC: hdmi-codec: " Kuninori Morimoto
2018-01-12  1:52 ` [PATCH 156/187] ASoC: bt-sco: " Kuninori Morimoto
2018-01-12  1:53 ` [PATCH 157/187] ASoC: vc4_hdmi: " Kuninori Morimoto
2018-01-12  1:53 ` [PATCH 158/187] ASoC: zx_aud96p22: " Kuninori Morimoto
2018-01-12  1:53 ` [PATCH 159/187] ASoC: wl1273: " Kuninori Morimoto
2018-01-12  1:54 ` [PATCH 160/187] ASoC: hdac_hdmi/nau8825/rt286/rt298/rt5663/da7219: " Kuninori Morimoto
2018-01-12  1:54 ` [PATCH 161/187] ASoC: arizona/cs47l24/wm5102/wm5110/wm8997/wm8998/wm_adsp: " Kuninori Morimoto
2018-01-24 15:10   ` Charles Keepax
2018-01-25  1:29     ` Kuninori Morimoto
2018-01-12  1:54 ` [PATCH 162/187] ASoC: mc13783: " Kuninori Morimoto
2018-01-12  1:54 ` [PATCH 163/187] ASoC: sgtl5000: " Kuninori Morimoto
2018-01-12  1:55 ` [PATCH 164/187] ASoC: stac9766: " Kuninori Morimoto
2018-01-12  1:55 ` [PATCH 165/187] ASoC: sn95031: " Kuninori Morimoto
2018-01-12  1:55 ` [PATCH 166/187] ASoC: cx20442: " Kuninori Morimoto
2018-01-12  1:56 ` [PATCH 167/187] ASoC: sirf-audio: " Kuninori Morimoto
2018-01-12  1:56 ` [PATCH 168/187] ASoC: inno_rk3036: " Kuninori Morimoto
2018-01-12  1:56 ` [PATCH 169/187] ASoC: isabelle: " Kuninori Morimoto
2018-01-12  1:56 ` [PATCH 170/187] ASoC: tfa9879: " Kuninori Morimoto
2018-01-12  1:57 ` [PATCH 171/187] ASoC: dmic: " Kuninori Morimoto
2018-01-12  1:57 ` [PATCH 172/187] ASoC: sti-sas: " Kuninori Morimoto
2018-01-12  1:57 ` [PATCH 173/187] ASoC: gtm601: " Kuninori Morimoto
2018-01-12  1:58 ` [PATCH 174/187] ASoC: 88pm860x: " Kuninori Morimoto
2018-01-12  1:58 ` [PATCH 175/187] ASoC: pistachio: " Kuninori Morimoto
2018-01-12  1:58 ` [PATCH 176/187] ASoC: lm49453: " Kuninori Morimoto
2018-01-12  1:58 ` [PATCH 177/187] ASoC: cq93vc: " Kuninori Morimoto
2018-01-12  1:59 ` [PATCH 178/187] ASoC: jz4740: " Kuninori Morimoto
2018-01-12  1:59 ` [PATCH 179/187] ASoC: uda1380: " Kuninori Morimoto
2018-01-12  1:59 ` [PATCH 180/187] ASoC: ml26124: " Kuninori Morimoto
2018-01-12  1:59 ` [PATCH 181/187] ASoC: si476x: " Kuninori Morimoto
2018-01-12  2:00 ` [PATCH 182/187] ASoC: uda134x: " Kuninori Morimoto
2018-01-12  2:00 ` [PATCH 183/187] ASoC: ics43432: " Kuninori Morimoto
2018-01-12  2:00 ` [PATCH 184/187] ASoC: pxa/mioa701_wm9713: " Kuninori Morimoto
2018-02-12 12:33   ` Applied "ASoC: pxa/mioa701_wm9713: replace codec to component" to the asoc tree Mark Brown
2018-01-12  2:00 ` [PATCH 185/187] ASoC: uniphier: evea: replace codec to component Kuninori Morimoto
2018-01-12  2:01 ` [PATCH 186/187] ASoC: pcm186x: " Kuninori Morimoto
2018-01-12  2:01 ` [PATCH 187/187] ASoC: tas6424: " Kuninori Morimoto

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=E1elDNm-0004Nq-IN@debutante \
    --to=broonie@kernel.org \
    --cc=alsa-devel@alsa-project.org \
    --cc=horms@verge.net.au \
    --cc=kuninori.morimoto.gx@renesas.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.