Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Unverified Commit c0c0be9d authored by Mark Brown's avatar Mark Brown
Browse files

Merge branch 'asoc-4.17' into asoc-4.18 for compress dependencies

parents e4b31b81 572e6c8d
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -186,6 +186,9 @@ Uwe Kleine-König <ukleinek@informatik.uni-freiburg.de>
Uwe Kleine-König <ukl@pengutronix.de>
Uwe Kleine-König <Uwe.Kleine-Koenig@digi.com>
Valdis Kletnieks <Valdis.Kletnieks@vt.edu>
Vinod Koul <vkoul@kernel.org> <vinod.koul@intel.com>
Vinod Koul <vkoul@kernel.org> <vinod.koul@linux.intel.com>
Vinod Koul <vkoul@kernel.org> <vkoul@infradead.org>
Viresh Kumar <vireshk@kernel.org> <viresh.kumar@st.com>
Viresh Kumar <vireshk@kernel.org> <viresh.linux@gmail.com>
Viresh Kumar <vireshk@kernel.org> <viresh.kumar2@arm.com>
+1 −1
Original line number Diff line number Diff line
@@ -13095,7 +13095,7 @@ F: include/uapi/sound/
F:	sound/

SOUND - COMPRESSED AUDIO
M:	Vinod Koul <vinod.koul@intel.com>
M:	Vinod Koul <vkoul@kernel.org>
L:	alsa-devel@alsa-project.org (moderated for non-subscribers)
T:	git git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git
S:	Supported
+6 −3
Original line number Diff line number Diff line
@@ -1187,7 +1187,8 @@ static int pm8916_wcd_analog_spmi_probe(struct platform_device *pdev)
		return irq;
	}

	ret = devm_request_irq(dev, irq, pm8916_mbhc_switch_irq_handler,
	ret = devm_request_threaded_irq(dev, irq, NULL,
			       pm8916_mbhc_switch_irq_handler,
			       IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING |
			       IRQF_ONESHOT,
			       "mbhc switch irq", priv);
@@ -1201,7 +1202,8 @@ static int pm8916_wcd_analog_spmi_probe(struct platform_device *pdev)
			return irq;
		}

		ret = devm_request_irq(dev, irq, mbhc_btn_press_irq_handler,
		ret = devm_request_threaded_irq(dev, irq, NULL,
				       mbhc_btn_press_irq_handler,
				       IRQF_TRIGGER_RISING |
				       IRQF_TRIGGER_FALLING | IRQF_ONESHOT,
				       "mbhc btn press irq", priv);
@@ -1214,7 +1216,8 @@ static int pm8916_wcd_analog_spmi_probe(struct platform_device *pdev)
			return irq;
		}

		ret = devm_request_irq(dev, irq, mbhc_btn_release_irq_handler,
		ret = devm_request_threaded_irq(dev, irq, NULL,
				       mbhc_btn_release_irq_handler,
				       IRQF_TRIGGER_RISING |
				       IRQF_TRIGGER_FALLING | IRQF_ONESHOT,
				       "mbhc btn release irq", priv);
+3 −0
Original line number Diff line number Diff line
@@ -89,6 +89,7 @@ static const struct reg_default rt5514_reg[] = {
	{RT5514_PLL3_CALIB_CTRL5,	0x40220012},
	{RT5514_DELAY_BUF_CTRL1,	0x7fff006a},
	{RT5514_DELAY_BUF_CTRL3,	0x00000000},
	{RT5514_ASRC_IN_CTRL1,		0x00000003},
	{RT5514_DOWNFILTER0_CTRL1,	0x00020c2f},
	{RT5514_DOWNFILTER0_CTRL2,	0x00020c2f},
	{RT5514_DOWNFILTER0_CTRL3,	0x10000362},
@@ -181,6 +182,7 @@ static bool rt5514_readable_register(struct device *dev, unsigned int reg)
	case RT5514_PLL3_CALIB_CTRL5:
	case RT5514_DELAY_BUF_CTRL1:
	case RT5514_DELAY_BUF_CTRL3:
	case RT5514_ASRC_IN_CTRL1:
	case RT5514_DOWNFILTER0_CTRL1:
	case RT5514_DOWNFILTER0_CTRL2:
	case RT5514_DOWNFILTER0_CTRL3:
@@ -238,6 +240,7 @@ static bool rt5514_i2c_readable_register(struct device *dev,
	case RT5514_DSP_MAPPING | RT5514_PLL3_CALIB_CTRL5:
	case RT5514_DSP_MAPPING | RT5514_DELAY_BUF_CTRL1:
	case RT5514_DSP_MAPPING | RT5514_DELAY_BUF_CTRL3:
	case RT5514_DSP_MAPPING | RT5514_ASRC_IN_CTRL1:
	case RT5514_DSP_MAPPING | RT5514_DOWNFILTER0_CTRL1:
	case RT5514_DSP_MAPPING | RT5514_DOWNFILTER0_CTRL2:
	case RT5514_DSP_MAPPING | RT5514_DOWNFILTER0_CTRL3:
+28 −24
Original line number Diff line number Diff line
@@ -33,7 +33,7 @@ static int soc_compr_open(struct snd_compr_stream *cstream)
	struct snd_soc_component *component;
	struct snd_soc_rtdcom_list *rtdcom;
	struct snd_soc_dai *cpu_dai = rtd->cpu_dai;
	int ret = 0, __ret;
	int ret;

	mutex_lock_nested(&rtd->pcm_mutex, rtd->pcm_subclass);

@@ -68,16 +68,15 @@ static int soc_compr_open(struct snd_compr_stream *cstream)
		    !component->driver->compr_ops->open)
			continue;

		__ret = component->driver->compr_ops->open(cstream);
		if (__ret < 0) {
		ret = component->driver->compr_ops->open(cstream);
		if (ret < 0) {
			dev_err(component->dev,
				"Compress ASoC: can't open platform %s: %d\n",
				component->name, __ret);
			ret = __ret;
				component->name, ret);
			goto machine_err;
		}
	}
	if (ret < 0)
		goto machine_err;
	component = NULL;

	if (rtd->dai_link->compr_ops && rtd->dai_link->compr_ops->startup) {
		ret = rtd->dai_link->compr_ops->startup(cstream);
@@ -97,17 +96,20 @@ static int soc_compr_open(struct snd_compr_stream *cstream)

machine_err:
	for_each_rtdcom(rtd, rtdcom) {
		component = rtdcom->component;
		struct snd_soc_component *err_comp = rtdcom->component;

		if (err_comp == component)
			break;

		/* ignore duplication for now */
		if (platform && (component == &platform->component))
		if (platform && (err_comp == &platform->component))
			continue;

		if (!component->driver->compr_ops ||
		    !component->driver->compr_ops->free)
		if (!err_comp->driver->compr_ops ||
		    !err_comp->driver->compr_ops->free)
			continue;

		component->driver->compr_ops->free(cstream);
		err_comp->driver->compr_ops->free(cstream);
	}

	if (platform && platform->driver->compr_ops && platform->driver->compr_ops->free)
@@ -132,7 +134,7 @@ static int soc_compr_open_fe(struct snd_compr_stream *cstream)
	struct snd_soc_dpcm *dpcm;
	struct snd_soc_dapm_widget_list *list;
	int stream;
	int ret = 0, __ret;
	int ret;

	if (cstream->direction == SND_COMPRESS_PLAYBACK)
		stream = SNDRV_PCM_STREAM_PLAYBACK;
@@ -172,16 +174,15 @@ static int soc_compr_open_fe(struct snd_compr_stream *cstream)
		    !component->driver->compr_ops->open)
			continue;

		__ret = component->driver->compr_ops->open(cstream);
		if (__ret < 0) {
		ret = component->driver->compr_ops->open(cstream);
		if (ret < 0) {
			dev_err(component->dev,
				"Compress ASoC: can't open platform %s: %d\n",
				component->name, __ret);
			ret = __ret;
				component->name, ret);
			goto machine_err;
		}
	}
	if (ret < 0)
		goto machine_err;
	component = NULL;

	if (fe->dai_link->compr_ops && fe->dai_link->compr_ops->startup) {
		ret = fe->dai_link->compr_ops->startup(cstream);
@@ -236,17 +237,20 @@ static int soc_compr_open_fe(struct snd_compr_stream *cstream)
		fe->dai_link->compr_ops->shutdown(cstream);
machine_err:
	for_each_rtdcom(fe, rtdcom) {
		component = rtdcom->component;
		struct snd_soc_component *err_comp = rtdcom->component;

		if (err_comp == component)
			break;

		/* ignore duplication for now */
		if (platform && (component == &platform->component))
		if (platform && (err_comp == &platform->component))
			continue;

		if (!component->driver->compr_ops ||
		    !component->driver->compr_ops->free)
		if (!err_comp->driver->compr_ops ||
		    !err_comp->driver->compr_ops->free)
			continue;

		component->driver->compr_ops->free(cstream);
		err_comp->driver->compr_ops->free(cstream);
	}

	if (platform && platform->driver->compr_ops && platform->driver->compr_ops->free)
Loading