Commit a9f73b06 authored by Takashi Iwai's avatar Takashi Iwai
Browse files

Merge branch 'for-linus' into for-next

parents 0707541d 5948342a
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -8,6 +8,7 @@ title: Audio codec controlled by ChromeOS EC

maintainers:
  - Cheng-Yi Chiang <cychiang@chromium.org>
  - Tzung-Bi Shih <tzungbi@google.com>

description: |
  Google's ChromeOS EC codec is a digital mic codec provided by the
+1 −0
Original line number Diff line number Diff line
@@ -4543,6 +4543,7 @@ F: drivers/platform/chrome/
CHROMEOS EC CODEC DRIVER
M:	Cheng-Yi Chiang <cychiang@chromium.org>
M:	Tzung-Bi Shih <tzungbi@google.com>
R:	Guenter Roeck <groeck@chromium.org>
S:	Maintained
F:	Documentation/devicetree/bindings/sound/google,cros-ec-codec.yaml
+3 −9
Original line number Diff line number Diff line
@@ -615,10 +615,9 @@ static int wm97xx_register_touch(struct wm97xx *wm)
	 * extensions)
	 */
	wm->touch_dev = platform_device_alloc("wm97xx-touch", -1);
	if (!wm->touch_dev) {
		ret = -ENOMEM;
		goto touch_err;
	}
	if (!wm->touch_dev)
		return -ENOMEM;

	platform_set_drvdata(wm->touch_dev, wm);
	wm->touch_dev->dev.parent = wm->dev;
	wm->touch_dev->dev.platform_data = pdata;
@@ -629,9 +628,6 @@ static int wm97xx_register_touch(struct wm97xx *wm)
	return 0;
touch_reg_err:
	platform_device_put(wm->touch_dev);
touch_err:
	input_unregister_device(wm->input_dev);
	wm->input_dev = NULL;

	return ret;
}
@@ -639,8 +635,6 @@ static int wm97xx_register_touch(struct wm97xx *wm)
static void wm97xx_unregister_touch(struct wm97xx *wm)
{
	platform_device_unregister(wm->touch_dev);
	input_unregister_device(wm->input_dev);
	wm->input_dev = NULL;
}

static int _wm97xx_probe(struct wm97xx *wm)
+4 −11
Original line number Diff line number Diff line
@@ -411,17 +411,12 @@ static int scpsys_power_off(struct generic_pm_domain *genpd)
	return ret;
}

static int init_clks(struct platform_device *pdev, struct clk **clk)
static void init_clks(struct platform_device *pdev, struct clk **clk)
{
	int i;

	for (i = CLK_NONE + 1; i < CLK_MAX; i++) {
	for (i = CLK_NONE + 1; i < CLK_MAX; i++)
		clk[i] = devm_clk_get(&pdev->dev, clk_names[i]);
		if (IS_ERR(clk[i]))
			return PTR_ERR(clk[i]);
	}

	return 0;
}

static struct scp *init_scp(struct platform_device *pdev,
@@ -431,7 +426,7 @@ static struct scp *init_scp(struct platform_device *pdev,
{
	struct genpd_onecell_data *pd_data;
	struct resource *res;
	int i, j, ret;
	int i, j;
	struct scp *scp;
	struct clk *clk[CLK_MAX];

@@ -486,9 +481,7 @@ static struct scp *init_scp(struct platform_device *pdev,

	pd_data->num_domains = num;

	ret = init_clks(pdev, clk);
	if (ret)
		return ERR_PTR(ret);
	init_clks(pdev, clk);

	for (i = 0; i < num; i++) {
		struct scp_domain *scpd = &scp->domains[i];
+15 −0
Original line number Diff line number Diff line
@@ -617,6 +617,7 @@ void snd_pcm_stream_unlock(struct snd_pcm_substream *substream);
void snd_pcm_stream_lock_irq(struct snd_pcm_substream *substream);
void snd_pcm_stream_unlock_irq(struct snd_pcm_substream *substream);
unsigned long _snd_pcm_stream_lock_irqsave(struct snd_pcm_substream *substream);
unsigned long _snd_pcm_stream_lock_irqsave_nested(struct snd_pcm_substream *substream);

/**
 * snd_pcm_stream_lock_irqsave - Lock the PCM stream
@@ -635,6 +636,20 @@ unsigned long _snd_pcm_stream_lock_irqsave(struct snd_pcm_substream *substream);
void snd_pcm_stream_unlock_irqrestore(struct snd_pcm_substream *substream,
				      unsigned long flags);

/**
 * snd_pcm_stream_lock_irqsave_nested - Single-nested PCM stream locking
 * @substream: PCM substream
 * @flags: irq flags
 *
 * This locks the PCM stream like snd_pcm_stream_lock_irqsave() but with
 * the single-depth lockdep subclass.
 */
#define snd_pcm_stream_lock_irqsave_nested(substream, flags)		\
	do {								\
		typecheck(unsigned long, flags);			\
		flags = _snd_pcm_stream_lock_irqsave_nested(substream); \
	} while (0)

/**
 * snd_pcm_group_for_each_entry - iterate over the linked substreams
 * @s: the iterator
Loading