Thanks Mark for review,

On 12/03/2021 15:55, Mark Brown wrote:
On Thu, Mar 11, 2021 at 05:34:13PM +0000, Srinivas Kandagatla wrote:

+       if (wcd938x->variant == WCD9380) {

switch statements please.

+               if (mode_val == CLS_H_HIFI || mode_val == CLS_AB_HIFI) {
+                       dev_info(component->dev,
+                               "%s:Invalid HPH Mode, default to CLS_H_ULP\n",
+                               __func__);
+                       mode_val = CLS_H_ULP;
+               }

If the value can't be set an error should be returned rather than the
input ignored.

I agree with all the comments related to switch statements and ignoring return values, will address them in next version.


+static int wcd938x_ear_pa_gain_get(struct snd_kcontrol *kcontrol,
+                                  struct snd_ctl_elem_value *ucontrol)
+{
+       struct snd_soc_component *component = 
snd_soc_kcontrol_component(kcontrol);
+
+       ucontrol->value.integer.value[0] = 
snd_soc_component_read_field(component,
+                                               WCD938X_ANA_EAR_COMPANDER_CTL,
+                                               WCD938X_EAR_GAIN_MASK);
+
+       return 0;
+}

This just looks like a normal operation?

Yes, this can probably go into a TLV control, will fix this in next version.


--srini
+static int wcd938x_ear_pa_gain_put(struct snd_kcontrol *kcontrol,
+                                  struct snd_ctl_elem_value *ucontrol)
+{
+       struct snd_soc_component *component = 
snd_soc_kcontrol_component(kcontrol);
+       struct wcd938x_sdw_priv *wcd = snd_soc_component_get_drvdata(component);
+       struct wcd938x_priv *wcd938x = wcd->wcd938x;
+
+       if (!wcd938x->comp1_enable) {
+               snd_soc_component_write_field(component,
+                               WCD938X_ANA_EAR_COMPANDER_CTL,
+                               WCD938X_EAR_GAIN_MASK,
+                               ucontrol->value.integer.value[0]);
+       }

Again, values should not be ignored on error.

+       if (wcd938x->variant == WCD9380) {
+               ret = snd_soc_add_component_controls(component, 
wcd9380_snd_controls,
+                                       ARRAY_SIZE(wcd9380_snd_controls));
+               if (ret < 0) {
+                       dev_err(component->dev,
+                               "%s: Failed to add snd ctrls for variant: %d\n",
+                               __func__, wcd938x->variant);
+                       goto err;
+               }
+       }
+       if (wcd938x->variant == WCD9385) {

Again, switch statements - I'll never understand why people seem so
intent on writing if trees :(

Reply via email to