Commit b305d8c2 authored by Kuninori Morimoto's avatar Kuninori Morimoto Committed by Mark Brown

ASoC: cpcap: 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 = 0	->	.use_pmdown_time = 1
	-			->	.endianness = 1
	-			->	.non_legacy_dai_naming = 1
Signed-off-by: default avatarKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent f6cdf2d3
...@@ -243,7 +243,7 @@ enum cpcap_dai { ...@@ -243,7 +243,7 @@ enum cpcap_dai {
}; };
struct cpcap_audio { struct cpcap_audio {
struct snd_soc_codec *codec; struct snd_soc_component *component;
struct regmap *regmap; struct regmap *regmap;
u16 vendor; u16 vendor;
...@@ -256,8 +256,8 @@ struct cpcap_audio { ...@@ -256,8 +256,8 @@ struct cpcap_audio {
static int cpcap_st_workaround(struct snd_soc_dapm_widget *w, static int cpcap_st_workaround(struct snd_soc_dapm_widget *w,
struct snd_kcontrol *kcontrol, int event) 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);
struct cpcap_audio *cpcap = snd_soc_codec_get_drvdata(codec); struct cpcap_audio *cpcap = snd_soc_component_get_drvdata(component);
int err = 0; int err = 0;
/* Only CPCAP from ST requires workaround */ /* Only CPCAP from ST requires workaround */
...@@ -357,8 +357,8 @@ static SOC_ENUM_SINGLE_DECL(cpcap_emu_r_mux_enum, 0, 8, cpcap_out_mux_texts); ...@@ -357,8 +357,8 @@ static SOC_ENUM_SINGLE_DECL(cpcap_emu_r_mux_enum, 0, 8, cpcap_out_mux_texts);
static int cpcap_output_mux_get_enum(struct snd_kcontrol *kcontrol, static int cpcap_output_mux_get_enum(struct snd_kcontrol *kcontrol,
struct snd_ctl_elem_value *ucontrol) struct snd_ctl_elem_value *ucontrol)
{ {
struct snd_soc_codec *codec = snd_soc_dapm_kcontrol_codec(kcontrol); struct snd_soc_component *component = snd_soc_dapm_kcontrol_component(kcontrol);
struct cpcap_audio *cpcap = snd_soc_codec_get_drvdata(codec); struct cpcap_audio *cpcap = snd_soc_component_get_drvdata(component);
struct soc_enum *e = (struct soc_enum *)kcontrol->private_value; struct soc_enum *e = (struct soc_enum *)kcontrol->private_value;
unsigned int shift = e->shift_l; unsigned int shift = e->shift_l;
int reg_voice, reg_hifi, reg_ext, status; int reg_voice, reg_hifi, reg_ext, status;
...@@ -400,8 +400,8 @@ static int cpcap_output_mux_get_enum(struct snd_kcontrol *kcontrol, ...@@ -400,8 +400,8 @@ static int cpcap_output_mux_get_enum(struct snd_kcontrol *kcontrol,
static int cpcap_output_mux_put_enum(struct snd_kcontrol *kcontrol, static int cpcap_output_mux_put_enum(struct snd_kcontrol *kcontrol,
struct snd_ctl_elem_value *ucontrol) struct snd_ctl_elem_value *ucontrol)
{ {
struct snd_soc_codec *codec = snd_soc_dapm_kcontrol_codec(kcontrol); struct snd_soc_component *component = snd_soc_dapm_kcontrol_component(kcontrol);
struct cpcap_audio *cpcap = snd_soc_codec_get_drvdata(codec); struct cpcap_audio *cpcap = snd_soc_component_get_drvdata(component);
struct snd_soc_dapm_context *dapm = struct snd_soc_dapm_context *dapm =
snd_soc_dapm_kcontrol_dapm(kcontrol); snd_soc_dapm_kcontrol_dapm(kcontrol);
struct soc_enum *e = (struct soc_enum *)kcontrol->private_value; struct soc_enum *e = (struct soc_enum *)kcontrol->private_value;
...@@ -445,8 +445,8 @@ static int cpcap_output_mux_put_enum(struct snd_kcontrol *kcontrol, ...@@ -445,8 +445,8 @@ static int cpcap_output_mux_put_enum(struct snd_kcontrol *kcontrol,
static int cpcap_input_right_mux_get_enum(struct snd_kcontrol *kcontrol, static int cpcap_input_right_mux_get_enum(struct snd_kcontrol *kcontrol,
struct snd_ctl_elem_value *ucontrol) struct snd_ctl_elem_value *ucontrol)
{ {
struct snd_soc_codec *codec = snd_soc_dapm_kcontrol_codec(kcontrol); struct snd_soc_component *component = snd_soc_dapm_kcontrol_component(kcontrol);
struct cpcap_audio *cpcap = snd_soc_codec_get_drvdata(codec); struct cpcap_audio *cpcap = snd_soc_component_get_drvdata(component);
int regval, mask; int regval, mask;
int err; int err;
...@@ -484,8 +484,8 @@ static int cpcap_input_right_mux_get_enum(struct snd_kcontrol *kcontrol, ...@@ -484,8 +484,8 @@ static int cpcap_input_right_mux_get_enum(struct snd_kcontrol *kcontrol,
static int cpcap_input_right_mux_put_enum(struct snd_kcontrol *kcontrol, static int cpcap_input_right_mux_put_enum(struct snd_kcontrol *kcontrol,
struct snd_ctl_elem_value *ucontrol) struct snd_ctl_elem_value *ucontrol)
{ {
struct snd_soc_codec *codec = snd_soc_dapm_kcontrol_codec(kcontrol); struct snd_soc_component *component = snd_soc_dapm_kcontrol_component(kcontrol);
struct cpcap_audio *cpcap = snd_soc_codec_get_drvdata(codec); struct cpcap_audio *cpcap = snd_soc_component_get_drvdata(component);
struct snd_soc_dapm_context *dapm = struct snd_soc_dapm_context *dapm =
snd_soc_dapm_kcontrol_dapm(kcontrol); snd_soc_dapm_kcontrol_dapm(kcontrol);
struct soc_enum *e = (struct soc_enum *)kcontrol->private_value; struct soc_enum *e = (struct soc_enum *)kcontrol->private_value;
...@@ -529,8 +529,8 @@ static int cpcap_input_right_mux_put_enum(struct snd_kcontrol *kcontrol, ...@@ -529,8 +529,8 @@ static int cpcap_input_right_mux_put_enum(struct snd_kcontrol *kcontrol,
static int cpcap_input_left_mux_get_enum(struct snd_kcontrol *kcontrol, static int cpcap_input_left_mux_get_enum(struct snd_kcontrol *kcontrol,
struct snd_ctl_elem_value *ucontrol) struct snd_ctl_elem_value *ucontrol)
{ {
struct snd_soc_codec *codec = snd_soc_dapm_kcontrol_codec(kcontrol); struct snd_soc_component *component = snd_soc_dapm_kcontrol_component(kcontrol);
struct cpcap_audio *cpcap = snd_soc_codec_get_drvdata(codec); struct cpcap_audio *cpcap = snd_soc_component_get_drvdata(component);
int regval, mask; int regval, mask;
int err; int err;
...@@ -560,8 +560,8 @@ static int cpcap_input_left_mux_get_enum(struct snd_kcontrol *kcontrol, ...@@ -560,8 +560,8 @@ static int cpcap_input_left_mux_get_enum(struct snd_kcontrol *kcontrol,
static int cpcap_input_left_mux_put_enum(struct snd_kcontrol *kcontrol, static int cpcap_input_left_mux_put_enum(struct snd_kcontrol *kcontrol,
struct snd_ctl_elem_value *ucontrol) struct snd_ctl_elem_value *ucontrol)
{ {
struct snd_soc_codec *codec = snd_soc_dapm_kcontrol_codec(kcontrol); struct snd_soc_component *component = snd_soc_dapm_kcontrol_component(kcontrol);
struct cpcap_audio *cpcap = snd_soc_codec_get_drvdata(codec); struct cpcap_audio *cpcap = snd_soc_component_get_drvdata(component);
struct snd_soc_dapm_context *dapm = struct snd_soc_dapm_context *dapm =
snd_soc_dapm_kcontrol_dapm(kcontrol); snd_soc_dapm_kcontrol_dapm(kcontrol);
struct soc_enum *e = (struct soc_enum *)kcontrol->private_value; struct soc_enum *e = (struct soc_enum *)kcontrol->private_value;
...@@ -969,13 +969,13 @@ static int cpcap_set_sysclk(struct cpcap_audio *cpcap, enum cpcap_dai dai, ...@@ -969,13 +969,13 @@ static int cpcap_set_sysclk(struct cpcap_audio *cpcap, enum cpcap_dai dai,
clkidshift = CPCAP_BIT_CLK_IN_SEL; clkidshift = CPCAP_BIT_CLK_IN_SEL;
break; break;
default: default:
dev_err(cpcap->codec->dev, "invalid DAI: %d", dai); dev_err(cpcap->component->dev, "invalid DAI: %d", dai);
return -EINVAL; return -EINVAL;
} }
/* setup clk id */ /* setup clk id */
if (clk_id < 0 || clk_id > 1) { if (clk_id < 0 || clk_id > 1) {
dev_err(cpcap->codec->dev, "invalid clk id %d", clk_id); dev_err(cpcap->component->dev, "invalid clk id %d", clk_id);
return -EINVAL; return -EINVAL;
} }
err = regmap_update_bits(cpcap->regmap, clkidreg, BIT(clkidshift), err = regmap_update_bits(cpcap->regmap, clkidreg, BIT(clkidshift),
...@@ -1015,7 +1015,7 @@ static int cpcap_set_sysclk(struct cpcap_audio *cpcap, enum cpcap_dai dai, ...@@ -1015,7 +1015,7 @@ static int cpcap_set_sysclk(struct cpcap_audio *cpcap, enum cpcap_dai dai,
clkfreqval = 0x06 << clkfreqshift; clkfreqval = 0x06 << clkfreqshift;
break; break;
default: default:
dev_err(cpcap->codec->dev, "unsupported freq %u", freq); dev_err(cpcap->component->dev, "unsupported freq %u", freq);
return -EINVAL; return -EINVAL;
} }
...@@ -1035,7 +1035,7 @@ static int cpcap_set_sysclk(struct cpcap_audio *cpcap, enum cpcap_dai dai, ...@@ -1035,7 +1035,7 @@ static int cpcap_set_sysclk(struct cpcap_audio *cpcap, enum cpcap_dai dai,
static int cpcap_set_samprate(struct cpcap_audio *cpcap, enum cpcap_dai dai, static int cpcap_set_samprate(struct cpcap_audio *cpcap, enum cpcap_dai dai,
int samplerate) int samplerate)
{ {
struct snd_soc_codec *codec = cpcap->codec; struct snd_soc_component *component = cpcap->component;
u16 sampreg, sampmask, sampshift, sampval, sampreset; u16 sampreg, sampmask, sampshift, sampval, sampreset;
int err, sampreadval; int err, sampreadval;
...@@ -1053,7 +1053,7 @@ static int cpcap_set_samprate(struct cpcap_audio *cpcap, enum cpcap_dai dai, ...@@ -1053,7 +1053,7 @@ static int cpcap_set_samprate(struct cpcap_audio *cpcap, enum cpcap_dai dai,
BIT(CPCAP_BIT_CDC_CLOCK_TREE_RESET); BIT(CPCAP_BIT_CDC_CLOCK_TREE_RESET);
break; break;
default: default:
dev_err(codec->dev, "invalid DAI: %d", dai); dev_err(component->dev, "invalid DAI: %d", dai);
return -EINVAL; return -EINVAL;
} }
...@@ -1087,7 +1087,7 @@ static int cpcap_set_samprate(struct cpcap_audio *cpcap, enum cpcap_dai dai, ...@@ -1087,7 +1087,7 @@ static int cpcap_set_samprate(struct cpcap_audio *cpcap, enum cpcap_dai dai,
sampval = 0x0 << sampshift; sampval = 0x0 << sampshift;
break; break;
default: default:
dev_err(codec->dev, "unsupported samplerate %d", samplerate); dev_err(component->dev, "unsupported samplerate %d", samplerate);
return -EINVAL; return -EINVAL;
} }
err = regmap_update_bits(cpcap->regmap, sampreg, err = regmap_update_bits(cpcap->regmap, sampreg,
...@@ -1103,7 +1103,7 @@ static int cpcap_set_samprate(struct cpcap_audio *cpcap, enum cpcap_dai dai, ...@@ -1103,7 +1103,7 @@ static int cpcap_set_samprate(struct cpcap_audio *cpcap, enum cpcap_dai dai,
return err; return err;
if (sampreadval & sampreset) { if (sampreadval & sampreset) {
dev_err(codec->dev, "reset self-clear failed: %04x", dev_err(component->dev, "reset self-clear failed: %04x",
sampreadval); sampreadval);
return -EIO; return -EIO;
} }
...@@ -1115,20 +1115,20 @@ static int cpcap_hifi_hw_params(struct snd_pcm_substream *substream, ...@@ -1115,20 +1115,20 @@ static int cpcap_hifi_hw_params(struct snd_pcm_substream *substream,
struct snd_pcm_hw_params *params, struct snd_pcm_hw_params *params,
struct snd_soc_dai *dai) struct snd_soc_dai *dai)
{ {
struct snd_soc_codec *codec = dai->codec; struct snd_soc_component *component = dai->component;
struct cpcap_audio *cpcap = snd_soc_codec_get_drvdata(codec); struct cpcap_audio *cpcap = snd_soc_component_get_drvdata(component);
int rate = params_rate(params); int rate = params_rate(params);
dev_dbg(codec->dev, "HiFi setup HW params: rate=%d", rate); dev_dbg(component->dev, "HiFi setup HW params: rate=%d", rate);
return cpcap_set_samprate(cpcap, CPCAP_DAI_HIFI, rate); return cpcap_set_samprate(cpcap, CPCAP_DAI_HIFI, rate);
} }
static int cpcap_hifi_set_dai_sysclk(struct snd_soc_dai *codec_dai, int clk_id, static int cpcap_hifi_set_dai_sysclk(struct snd_soc_dai *codec_dai, int clk_id,
unsigned int freq, int dir) unsigned int freq, int dir)
{ {
struct snd_soc_codec *codec = codec_dai->codec; struct snd_soc_component *component = codec_dai->component;
struct cpcap_audio *cpcap = snd_soc_codec_get_drvdata(codec); struct cpcap_audio *cpcap = snd_soc_component_get_drvdata(component);
struct device *dev = codec->dev; struct device *dev = component->dev;
dev_dbg(dev, "HiFi setup sysclk: clk_id=%u, freq=%u", clk_id, freq); dev_dbg(dev, "HiFi setup sysclk: clk_id=%u, freq=%u", clk_id, freq);
return cpcap_set_sysclk(cpcap, CPCAP_DAI_HIFI, clk_id, freq); return cpcap_set_sysclk(cpcap, CPCAP_DAI_HIFI, clk_id, freq);
...@@ -1137,9 +1137,9 @@ static int cpcap_hifi_set_dai_sysclk(struct snd_soc_dai *codec_dai, int clk_id, ...@@ -1137,9 +1137,9 @@ static int cpcap_hifi_set_dai_sysclk(struct snd_soc_dai *codec_dai, int clk_id,
static int cpcap_hifi_set_dai_fmt(struct snd_soc_dai *codec_dai, static int cpcap_hifi_set_dai_fmt(struct snd_soc_dai *codec_dai,
unsigned int fmt) unsigned int fmt)
{ {
struct snd_soc_codec *codec = codec_dai->codec; struct snd_soc_component *component = codec_dai->component;
struct cpcap_audio *cpcap = snd_soc_codec_get_drvdata(codec); struct cpcap_audio *cpcap = snd_soc_component_get_drvdata(component);
struct device *dev = codec->dev; struct device *dev = component->dev;
static const u16 reg = CPCAP_REG_SDACDI; static const u16 reg = CPCAP_REG_SDACDI;
static const u16 mask = static const u16 mask =
BIT(CPCAP_BIT_SMB_ST_DAC) | BIT(CPCAP_BIT_SMB_ST_DAC) |
...@@ -1218,8 +1218,8 @@ static int cpcap_hifi_set_dai_fmt(struct snd_soc_dai *codec_dai, ...@@ -1218,8 +1218,8 @@ static int cpcap_hifi_set_dai_fmt(struct snd_soc_dai *codec_dai,
static int cpcap_hifi_set_mute(struct snd_soc_dai *dai, int mute) static int cpcap_hifi_set_mute(struct snd_soc_dai *dai, int mute)
{ {
struct snd_soc_codec *codec = dai->codec; struct snd_soc_component *component = dai->component;
struct cpcap_audio *cpcap = snd_soc_codec_get_drvdata(codec); struct cpcap_audio *cpcap = snd_soc_component_get_drvdata(component);
static const u16 reg = CPCAP_REG_RXSDOA; static const u16 reg = CPCAP_REG_RXSDOA;
static const u16 mask = BIT(CPCAP_BIT_ST_DAC_SW); static const u16 mask = BIT(CPCAP_BIT_ST_DAC_SW);
u16 val; u16 val;
...@@ -1229,7 +1229,7 @@ static int cpcap_hifi_set_mute(struct snd_soc_dai *dai, int mute) ...@@ -1229,7 +1229,7 @@ static int cpcap_hifi_set_mute(struct snd_soc_dai *dai, int mute)
else else
val = BIT(CPCAP_BIT_ST_DAC_SW); val = BIT(CPCAP_BIT_ST_DAC_SW);
dev_dbg(codec->dev, "HiFi mute: %d", mute); dev_dbg(component->dev, "HiFi mute: %d", mute);
return regmap_update_bits(cpcap->regmap, reg, mask, val); return regmap_update_bits(cpcap->regmap, reg, mask, val);
} }
...@@ -1244,9 +1244,9 @@ static int cpcap_voice_hw_params(struct snd_pcm_substream *substream, ...@@ -1244,9 +1244,9 @@ static int cpcap_voice_hw_params(struct snd_pcm_substream *substream,
struct snd_pcm_hw_params *params, struct snd_pcm_hw_params *params,
struct snd_soc_dai *dai) struct snd_soc_dai *dai)
{ {
struct snd_soc_codec *codec = dai->codec; struct snd_soc_component *component = dai->component;
struct device *dev = codec->dev; struct device *dev = component->dev;
struct cpcap_audio *cpcap = snd_soc_codec_get_drvdata(codec); struct cpcap_audio *cpcap = snd_soc_component_get_drvdata(component);
static const u16 reg_cdi = CPCAP_REG_CDI; static const u16 reg_cdi = CPCAP_REG_CDI;
int rate = params_rate(params); int rate = params_rate(params);
int channels = params_channels(params); int channels = params_channels(params);
...@@ -1283,10 +1283,10 @@ static int cpcap_voice_hw_params(struct snd_pcm_substream *substream, ...@@ -1283,10 +1283,10 @@ static int cpcap_voice_hw_params(struct snd_pcm_substream *substream,
static int cpcap_voice_set_dai_sysclk(struct snd_soc_dai *codec_dai, int clk_id, static int cpcap_voice_set_dai_sysclk(struct snd_soc_dai *codec_dai, int clk_id,
unsigned int freq, int dir) unsigned int freq, int dir)
{ {
struct snd_soc_codec *codec = codec_dai->codec; struct snd_soc_component *component = codec_dai->component;
struct cpcap_audio *cpcap = snd_soc_codec_get_drvdata(codec); struct cpcap_audio *cpcap = snd_soc_component_get_drvdata(component);
dev_dbg(codec->dev, "Voice setup sysclk: clk_id=%u, freq=%u", dev_dbg(component->dev, "Voice setup sysclk: clk_id=%u, freq=%u",
clk_id, freq); clk_id, freq);
return cpcap_set_sysclk(cpcap, CPCAP_DAI_VOICE, clk_id, freq); return cpcap_set_sysclk(cpcap, CPCAP_DAI_VOICE, clk_id, freq);
} }
...@@ -1294,8 +1294,8 @@ static int cpcap_voice_set_dai_sysclk(struct snd_soc_dai *codec_dai, int clk_id, ...@@ -1294,8 +1294,8 @@ static int cpcap_voice_set_dai_sysclk(struct snd_soc_dai *codec_dai, int clk_id,
static int cpcap_voice_set_dai_fmt(struct snd_soc_dai *codec_dai, static int cpcap_voice_set_dai_fmt(struct snd_soc_dai *codec_dai,
unsigned int fmt) unsigned int fmt)
{ {
struct snd_soc_codec *codec = codec_dai->codec; struct snd_soc_component *component = codec_dai->component;
struct cpcap_audio *cpcap = snd_soc_codec_get_drvdata(codec); struct cpcap_audio *cpcap = snd_soc_component_get_drvdata(component);
static const u16 mask = BIT(CPCAP_BIT_SMB_CDC) | static const u16 mask = BIT(CPCAP_BIT_SMB_CDC) |
BIT(CPCAP_BIT_CLK_INV) | BIT(CPCAP_BIT_CLK_INV) |
BIT(CPCAP_BIT_FS_INV) | BIT(CPCAP_BIT_FS_INV) |
...@@ -1304,7 +1304,7 @@ static int cpcap_voice_set_dai_fmt(struct snd_soc_dai *codec_dai, ...@@ -1304,7 +1304,7 @@ static int cpcap_voice_set_dai_fmt(struct snd_soc_dai *codec_dai,
u16 val = 0x0000; u16 val = 0x0000;
int err; int err;
dev_dbg(codec->dev, "Voice setup dai format (%08x)", fmt); dev_dbg(component->dev, "Voice setup dai format (%08x)", fmt);
/* /*
* "Voice Playback" and "Voice Capture" should always be * "Voice Playback" and "Voice Capture" should always be
...@@ -1316,7 +1316,7 @@ static int cpcap_voice_set_dai_fmt(struct snd_soc_dai *codec_dai, ...@@ -1316,7 +1316,7 @@ static int cpcap_voice_set_dai_fmt(struct snd_soc_dai *codec_dai,
val &= ~BIT(CPCAP_BIT_SMB_CDC); val &= ~BIT(CPCAP_BIT_SMB_CDC);
break; break;
default: default:
dev_err(codec->dev, "Voice dai fmt failed: CPCAP should be the master"); dev_err(component->dev, "Voice dai fmt failed: CPCAP should be the master");
val &= ~BIT(CPCAP_BIT_SMB_CDC); val &= ~BIT(CPCAP_BIT_SMB_CDC);
break; break;
} }
...@@ -1339,7 +1339,7 @@ static int cpcap_voice_set_dai_fmt(struct snd_soc_dai *codec_dai, ...@@ -1339,7 +1339,7 @@ static int cpcap_voice_set_dai_fmt(struct snd_soc_dai *codec_dai,
val &= ~BIT(CPCAP_BIT_FS_INV); val &= ~BIT(CPCAP_BIT_FS_INV);
break; break;
default: default:
dev_err(codec->dev, "Voice dai fmt failed: unsupported clock invert mode"); dev_err(component->dev, "Voice dai fmt failed: unsupported clock invert mode");
break; break;
} }
...@@ -1361,7 +1361,7 @@ static int cpcap_voice_set_dai_fmt(struct snd_soc_dai *codec_dai, ...@@ -1361,7 +1361,7 @@ static int cpcap_voice_set_dai_fmt(struct snd_soc_dai *codec_dai,
break; break;
} }
dev_dbg(codec->dev, "Voice dai format: val=%04x", val); dev_dbg(component->dev, "Voice dai format: val=%04x", val);
err = regmap_update_bits(cpcap->regmap, CPCAP_REG_CDI, mask, val); err = regmap_update_bits(cpcap->regmap, CPCAP_REG_CDI, mask, val);
if (err) if (err)
return err; return err;
...@@ -1372,8 +1372,8 @@ static int cpcap_voice_set_dai_fmt(struct snd_soc_dai *codec_dai, ...@@ -1372,8 +1372,8 @@ static int cpcap_voice_set_dai_fmt(struct snd_soc_dai *codec_dai,
static int cpcap_voice_set_mute(struct snd_soc_dai *dai, int mute) static int cpcap_voice_set_mute(struct snd_soc_dai *dai, int mute)
{ {
struct snd_soc_codec *codec = dai->codec; struct snd_soc_component *component = dai->component;
struct cpcap_audio *cpcap = snd_soc_codec_get_drvdata(codec); struct cpcap_audio *cpcap = snd_soc_component_get_drvdata(component);
static const u16 reg = CPCAP_REG_RXCOA; static const u16 reg = CPCAP_REG_RXCOA;
static const u16 mask = BIT(CPCAP_BIT_CDC_SW); static const u16 mask = BIT(CPCAP_BIT_CDC_SW);
u16 val; u16 val;
...@@ -1383,7 +1383,7 @@ static int cpcap_voice_set_mute(struct snd_soc_dai *dai, int mute) ...@@ -1383,7 +1383,7 @@ static int cpcap_voice_set_mute(struct snd_soc_dai *dai, int mute)
else else
val = BIT(CPCAP_BIT_CDC_SW); val = BIT(CPCAP_BIT_CDC_SW);
dev_dbg(codec->dev, "Voice mute: %d", mute); dev_dbg(component->dev, "Voice mute: %d", mute);
return regmap_update_bits(cpcap->regmap, reg, mask, val); return regmap_update_bits(cpcap->regmap, reg, mask, val);
}; };
...@@ -1460,13 +1460,13 @@ static int cpcap_dai_mux(struct cpcap_audio *cpcap, bool swap_dai_configuration) ...@@ -1460,13 +1460,13 @@ static int cpcap_dai_mux(struct cpcap_audio *cpcap, bool swap_dai_configuration)
return 0; return 0;
} }
static int cpcap_audio_reset(struct snd_soc_codec *codec, static int cpcap_audio_reset(struct snd_soc_component *component,
bool swap_dai_configuration) bool swap_dai_configuration)
{ {
struct cpcap_audio *cpcap = snd_soc_codec_get_drvdata(codec); struct cpcap_audio *cpcap = snd_soc_component_get_drvdata(component);
int i, err = 0; int i, err = 0;
dev_dbg(codec->dev, "init audio codec"); dev_dbg(component->dev, "init audio codec");
for (i = 0; i < ARRAY_SIZE(cpcap_default_regs); i++) { for (i = 0; i < ARRAY_SIZE(cpcap_default_regs); i++) {
err = regmap_update_bits(cpcap->regmap, err = regmap_update_bits(cpcap->regmap,
...@@ -1500,40 +1500,41 @@ static int cpcap_audio_reset(struct snd_soc_codec *codec, ...@@ -1500,40 +1500,41 @@ static int cpcap_audio_reset(struct snd_soc_codec *codec,
return 0; return 0;
} }
static int cpcap_soc_probe(struct snd_soc_codec *codec) static int cpcap_soc_probe(struct snd_soc_component *component)
{ {
struct cpcap_audio *cpcap; struct cpcap_audio *cpcap;
int err; int err;
cpcap = devm_kzalloc(codec->dev, sizeof(*cpcap), GFP_KERNEL); cpcap = devm_kzalloc(component->dev, sizeof(*cpcap), GFP_KERNEL);
if (!cpcap) if (!cpcap)
return -ENOMEM; return -ENOMEM;
snd_soc_codec_set_drvdata(codec, cpcap); snd_soc_component_set_drvdata(component, cpcap);
cpcap->codec = codec; cpcap->component = component;
cpcap->regmap = dev_get_regmap(codec->dev->parent, NULL); cpcap->regmap = dev_get_regmap(component->dev->parent, NULL);
if (!cpcap->regmap) if (!cpcap->regmap)
return -ENODEV; return -ENODEV;
snd_soc_codec_init_regmap(codec, cpcap->regmap); snd_soc_component_init_regmap(component, cpcap->regmap);
err = cpcap_get_vendor(codec->dev, cpcap->regmap, &cpcap->vendor); err = cpcap_get_vendor(component->dev, cpcap->regmap, &cpcap->vendor);
if (err) if (err)
return err; return err;
return cpcap_audio_reset(codec, false); return cpcap_audio_reset(component, false);
} }
static struct snd_soc_codec_driver soc_codec_dev_cpcap = { static struct snd_soc_component_driver soc_codec_dev_cpcap = {
.probe = cpcap_soc_probe, .probe = cpcap_soc_probe,
.controls = cpcap_snd_controls,
.component_driver = { .num_controls = ARRAY_SIZE(cpcap_snd_controls),
.controls = cpcap_snd_controls, .dapm_widgets = cpcap_dapm_widgets,
.num_controls = ARRAY_SIZE(cpcap_snd_controls), .num_dapm_widgets = ARRAY_SIZE(cpcap_dapm_widgets),
.dapm_widgets = cpcap_dapm_widgets, .dapm_routes = intercon,
.num_dapm_widgets = ARRAY_SIZE(cpcap_dapm_widgets), .num_dapm_routes = ARRAY_SIZE(intercon),
.dapm_routes = intercon, .idle_bias_on = 1,
.num_dapm_routes = ARRAY_SIZE(intercon), .use_pmdown_time = 1,
}, .endianness = 1,
.non_legacy_dai_naming = 1,
}; };
static int cpcap_codec_probe(struct platform_device *pdev) static int cpcap_codec_probe(struct platform_device *pdev)
...@@ -1543,19 +1544,12 @@ static int cpcap_codec_probe(struct platform_device *pdev) ...@@ -1543,19 +1544,12 @@ static int cpcap_codec_probe(struct platform_device *pdev)
pdev->dev.of_node = codec_node; pdev->dev.of_node = codec_node;
return snd_soc_register_codec(&pdev->dev, &soc_codec_dev_cpcap, return devm_snd_soc_register_component(&pdev->dev, &soc_codec_dev_cpcap,
cpcap_dai, ARRAY_SIZE(cpcap_dai)); cpcap_dai, ARRAY_SIZE(cpcap_dai));
} }
static int cpcap_codec_remove(struct platform_device *pdev)
{
snd_soc_unregister_codec(&pdev->dev);
return 0;
}
static struct platform_driver cpcap_codec_driver = { static struct platform_driver cpcap_codec_driver = {
.probe = cpcap_codec_probe, .probe = cpcap_codec_probe,
.remove = cpcap_codec_remove,
.driver = { .driver = {
.name = "cpcap-codec", .name = "cpcap-codec",
}, },
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment