瀏覽代碼

Merge remote-tracking branches 'asoc/topic/tegra', 'asoc/topic/topology', 'asoc/topic/wm8903' and 'asoc/topic/wm8904' into asoc-next

Mark Brown 9 年之前
父節點
當前提交
2d850b1e6c
共有 4 個文件被更改,包括 11 次插入7 次删除
  1. 1 1
      include/uapi/sound/asoc.h
  2. 1 1
      sound/soc/codecs/wm8903.c
  3. 1 1
      sound/soc/codecs/wm8904.c
  4. 8 4
      sound/soc/tegra/tegra_alc5632.c

+ 1 - 1
include/uapi/sound/asoc.h

@@ -243,7 +243,7 @@ struct snd_soc_tplg_manifest {
 	__le32 control_elems;	/* number of control elements */
 	__le32 control_elems;	/* number of control elements */
 	__le32 widget_elems;	/* number of widget elements */
 	__le32 widget_elems;	/* number of widget elements */
 	__le32 graph_elems;	/* number of graph elements */
 	__le32 graph_elems;	/* number of graph elements */
-	__le32 dai_elems;	/* number of DAI elements */
+	__le32 pcm_elems;	/* number of PCM elements */
 	__le32 dai_link_elems;	/* number of DAI link elements */
 	__le32 dai_link_elems;	/* number of DAI link elements */
 	struct snd_soc_tplg_private priv;
 	struct snd_soc_tplg_private priv;
 } __attribute__((packed));
 } __attribute__((packed));

+ 1 - 1
sound/soc/codecs/wm8903.c

@@ -1804,7 +1804,7 @@ static int wm8903_gpio_get(struct gpio_chip *chip, unsigned offset)
 
 
 	regmap_read(wm8903->regmap, WM8903_GPIO_CONTROL_1 + offset, &reg);
 	regmap_read(wm8903->regmap, WM8903_GPIO_CONTROL_1 + offset, &reg);
 
 
-	return (reg & WM8903_GP1_LVL_MASK) >> WM8903_GP1_LVL_SHIFT;
+	return !!((reg & WM8903_GP1_LVL_MASK) >> WM8903_GP1_LVL_SHIFT);
 }
 }
 
 
 static int wm8903_gpio_direction_out(struct gpio_chip *chip,
 static int wm8903_gpio_direction_out(struct gpio_chip *chip,

+ 1 - 1
sound/soc/codecs/wm8904.c

@@ -312,7 +312,7 @@ static bool wm8904_readable_register(struct device *dev, unsigned int reg)
 	case WM8904_FLL_NCO_TEST_1:
 	case WM8904_FLL_NCO_TEST_1:
 		return true;
 		return true;
 	default:
 	default:
-		return true;
+		return false;
 	}
 	}
 }
 }
 
 

+ 8 - 4
sound/soc/tegra/tegra_alc5632.c

@@ -101,12 +101,16 @@ static const struct snd_kcontrol_new tegra_alc5632_controls[] = {
 
 
 static int tegra_alc5632_asoc_init(struct snd_soc_pcm_runtime *rtd)
 static int tegra_alc5632_asoc_init(struct snd_soc_pcm_runtime *rtd)
 {
 {
+	int ret;
 	struct tegra_alc5632 *machine = snd_soc_card_get_drvdata(rtd->card);
 	struct tegra_alc5632 *machine = snd_soc_card_get_drvdata(rtd->card);
 
 
-	snd_soc_card_jack_new(rtd->card, "Headset Jack", SND_JACK_HEADSET,
-			      &tegra_alc5632_hs_jack,
-			      tegra_alc5632_hs_jack_pins,
-			      ARRAY_SIZE(tegra_alc5632_hs_jack_pins));
+	ret = snd_soc_card_jack_new(rtd->card, "Headset Jack",
+				    SND_JACK_HEADSET,
+				    &tegra_alc5632_hs_jack,
+				    tegra_alc5632_hs_jack_pins,
+				    ARRAY_SIZE(tegra_alc5632_hs_jack_pins));
+	if (ret)
+		return ret;
 
 
 	if (gpio_is_valid(machine->gpio_hp_det)) {
 	if (gpio_is_valid(machine->gpio_hp_det)) {
 		tegra_alc5632_hp_jack_gpio.gpio = machine->gpio_hp_det;
 		tegra_alc5632_hp_jack_gpio.gpio = machine->gpio_hp_det;