hc
2023-12-08 01573e231f18eb2d99162747186f59511f56b64d
kernel/sound/soc/codecs/rk312x_codec.c
....@@ -1424,8 +1424,7 @@
14241424 struct snd_pcm_hw_params *params,
14251425 struct snd_soc_dai *dai)
14261426 {
1427
- struct snd_soc_pcm_runtime *rtd = substream->private_data;
1428
- struct snd_soc_component *component = rtd->codec_dai->component;
1427
+ struct snd_soc_component *component = dai->component;
14291428 struct rk312x_codec_priv *rk312x = rk312x_priv;
14301429 unsigned int rate = params_rate(params);
14311430 unsigned int div;
....@@ -1534,7 +1533,7 @@
15341533 rk312x_codec_ctl_gpio(CODEC_SET_SPK, 1);
15351534 }
15361535
1537
-static int rk312x_digital_mute(struct snd_soc_dai *dai, int mute)
1536
+static int rk312x_digital_mute(struct snd_soc_dai *dai, int mute, int stream)
15381537 {
15391538
15401539 if (mute) {
....@@ -1922,9 +1921,10 @@
19221921 .hw_params = rk312x_hw_params,
19231922 .set_fmt = rk312x_set_dai_fmt,
19241923 .set_sysclk = rk312x_set_dai_sysclk,
1925
- .digital_mute = rk312x_digital_mute,
1924
+ .mute_stream = rk312x_digital_mute,
19261925 .startup = rk312x_startup,
19271926 .shutdown = rk312x_shutdown,
1927
+ .no_capture_mute = 1,
19281928 };
19291929
19301930 static struct snd_soc_dai_driver rk312x_dai[] = {
....@@ -2067,7 +2067,7 @@
20672067 if (rk312x_priv->codec_hp_det) {
20682068 /* enable hp det interrupt */
20692069 snd_soc_component_write(component, RK312x_DAC_CTL, 0x08);
2070
- snd_soc_component_read(component, RK312x_DAC_CTL, &val);
2070
+ val = snd_soc_component_read(component, RK312x_DAC_CTL);
20712071 printk("0xa0 -- 0x%x\n", val);
20722072 regmap_read(rk312x_priv->grf, GRF_ACODEC_CON, &val);
20732073 regmap_write(rk312x_priv->grf, GRF_ACODEC_CON, 0x1f001f);
....@@ -2156,7 +2156,7 @@
21562156 DBG("GRF_ACODEC_CON 3334is 0x%x\n", val);
21572157 /* enable rk 3128 codec_hp_det */
21582158 snd_soc_component_write(component, RK312x_DAC_CTL, 0x08);
2159
- snd_soc_component_read(component, RK312x_DAC_CTL, &val);
2159
+ val = snd_soc_component_read(component, RK312x_DAC_CTL);
21602160 DBG("0xa0 -- 0x%x\n", val);
21612161 /* codec hp det once */
21622162 schedule_delayed_work(&rk312x_priv->hpdet_work, msecs_to_jiffies(100));
....@@ -2187,7 +2187,7 @@
21872187 goto err__;
21882188 }
21892189
2190
- snd_soc_component_read(component, RK312x_RESET, &val);
2190
+ val = snd_soc_component_read(component, RK312x_RESET);
21912191
21922192 if (val != rk312x_reg_defaults[RK312x_RESET]) {
21932193 DBG("%s : codec register 0: %x is not a 0x00000003\n",