ASoC: rt1011: fix warning reported by kbuild test robot and minor issue
authorShuming Fan <shumingf@realtek.com>
Thu, 6 Jun 2019 06:22:32 +0000 (14:22 +0800)
committerMark Brown <broonie@kernel.org>
Thu, 6 Jun 2019 20:19:35 +0000 (21:19 +0100)
This patch fixes following issues:
- warning: this decimal constant is unsigned only in ISO C90
- sparse: incorrect type in assignment
- check if value.integer.value is zero for "R0 Load Mode" control

Signed-off-by: Shuming Fan <shumingf@realtek.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/rt1011.c

index 3a0ae80c5ee0799ec48e38dcf0afe5da68b8ad2f..5605b660f4bfd4059ca7de8b85899dc78b498f43 100644 (file)
@@ -1145,8 +1145,8 @@ static int rt1011_bq_drc_coeff_get(struct snd_kcontrol *kcontrol,
        bq_drc_info = rt1011->bq_drc_params[mode_idx];
 
        for (i = 0; i < RT1011_BQ_DRC_NUM; i++) {
-               params[i].reg = cpu_to_le16(bq_drc_info[i].reg);
-               params[i].val = cpu_to_le16(bq_drc_info[i].val);
+               params[i].reg = bq_drc_info[i].reg;
+               params[i].val = bq_drc_info[i].val;
        }
 
        return 0;
@@ -1187,8 +1187,8 @@ static int rt1011_bq_drc_coeff_put(struct snd_kcontrol *kcontrol,
        pr_info("%s, id.name=%s, mode_idx=%d\n", __func__,
                ucontrol->id.name, mode_idx);
        for (i = 0; i < RT1011_BQ_DRC_NUM; i++) {
-               bq_drc_info[i].reg =    le16_to_cpu(params[i].reg);
-               bq_drc_info[i].val =    le16_to_cpu(params[i].val);
+               bq_drc_info[i].reg = params[i].reg;
+               bq_drc_info[i].val = params[i].val;
        }
 
        for (i = 0; i < RT1011_BQ_DRC_NUM; i++) {
@@ -1284,6 +1284,9 @@ static int rt1011_r0_load_mode_put(struct snd_kcontrol *kcontrol,
        if (!component->card->instantiated)
                return 0;
 
+       if (ucontrol->value.integer.value[0] == 0)
+               return -EINVAL;
+
        dev = regmap_get_device(rt1011->regmap);
        if (snd_soc_component_get_bias_level(component) == SND_SOC_BIAS_OFF) {
                rt1011->r0_reg = ucontrol->value.integer.value[0];