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

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

ALSA: x86: Drop redundant had_stream_pvt



The had_stream_pvt struct assigned to PCM runtime private data tracks
merely the stream running status, and the very same information is
carried by had_stream->stream_type.  Kill it.

Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent 0e9c67d7
Loading
Loading
Loading
Loading
+4 −42
Original line number Diff line number Diff line
@@ -953,7 +953,6 @@ static int snd_intelhad_open(struct snd_pcm_substream *substream)
{
	struct snd_intelhad *intelhaddata;
	struct snd_pcm_runtime *runtime;
	struct had_stream_pvt *stream;
	struct had_stream_data *had_stream;
	int retval;

@@ -968,31 +967,16 @@ static int snd_intelhad_open(struct snd_pcm_substream *substream)
		dev_dbg(intelhaddata->dev, "%s: HDMI cable plugged-out\n",
			__func__);
		retval = -ENODEV;
		goto exit_put_handle;
	}

	/* Check, if device already in use */
	if (runtime->private_data) {
		dev_dbg(intelhaddata->dev, "Device already in use\n");
		retval = -EBUSY;
		goto exit_put_handle;
		goto error;
	}

	/* set the runtime hw parameter with local snd_pcm_hardware struct */
	runtime->hw = snd_intel_hadstream;

	stream = kzalloc(sizeof(*stream), GFP_KERNEL);
	if (!stream) {
		retval = -ENOMEM;
		goto exit_put_handle;
	}
	stream->stream_status = STREAM_INIT;
	runtime->private_data = stream;

	retval = snd_pcm_hw_constraint_integer(runtime,
			 SNDRV_PCM_HW_PARAM_PERIODS);
	if (retval < 0)
		goto exit_err;
		goto error;

	/* Make sure, that the period size is always aligned
	 * 64byte boundary
@@ -1002,15 +986,12 @@ static int snd_intelhad_open(struct snd_pcm_substream *substream)
	if (retval < 0) {
		dev_dbg(intelhaddata->dev, "%s:step_size=64 failed,err=%d\n",
			__func__, retval);
		goto exit_err;
		goto error;
	}

	return retval;
exit_err:
	kfree(stream);
exit_put_handle:
 error:
	pm_runtime_put(intelhaddata->dev);
	runtime->private_data = NULL;
	return retval;
}

@@ -1020,16 +1001,8 @@ static int snd_intelhad_open(struct snd_pcm_substream *substream)
 */
static void had_period_elapsed(struct snd_pcm_substream *substream)
{
	struct had_stream_pvt *stream;

	if (!substream || !substream->runtime)
		return;
	stream = substream->runtime->private_data;
	if (!stream)
		return;

	if (stream->stream_status != STREAM_RUNNING)
		return;
	snd_pcm_period_elapsed(substream);
}

@@ -1042,13 +1015,8 @@ static void had_period_elapsed(struct snd_pcm_substream *substream)
static int snd_intelhad_close(struct snd_pcm_substream *substream)
{
	struct snd_intelhad *intelhaddata;
	struct snd_pcm_runtime *runtime;

	intelhaddata = snd_pcm_substream_chip(substream);
	runtime = substream->runtime;

	if (WARN_ON(!runtime->private_data))
		return 0;

	intelhaddata->stream_info.buffer_rendered = 0;
	intelhaddata->stream_info.buffer_ptr = 0;
@@ -1062,8 +1030,6 @@ static int snd_intelhad_close(struct snd_pcm_substream *substream)
			"%s @ %d:DEBUG PLUG/UNPLUG : HAD_DRV_CONNECTED\n",
			__func__, __LINE__);
	}
	kfree(runtime->private_data);
	runtime->private_data = NULL;
	pm_runtime_put(intelhaddata->dev);
	return 0;
}
@@ -1142,11 +1108,9 @@ static int snd_intelhad_pcm_trigger(struct snd_pcm_substream *substream,
{
	int retval = 0;
	struct snd_intelhad *intelhaddata;
	struct had_stream_pvt *stream;
	struct had_stream_data *had_stream;

	intelhaddata = snd_pcm_substream_chip(substream);
	stream = substream->runtime->private_data;
	had_stream = &intelhaddata->stream_data;

	switch (cmd) {
@@ -1158,7 +1122,6 @@ static int snd_intelhad_pcm_trigger(struct snd_pcm_substream *substream,
			retval = -ENODEV;
			break;
		}
		stream->stream_status = STREAM_RUNNING;

		had_stream->stream_type = HAD_RUNNING_STREAM;

@@ -1182,7 +1145,6 @@ static int snd_intelhad_pcm_trigger(struct snd_pcm_substream *substream,
		/* Reset buffer pointers */
		snd_intelhad_reset_audio(intelhaddata, 1);
		snd_intelhad_reset_audio(intelhaddata, 0);
		stream->stream_status = STREAM_DROPPED;
		snd_intelhad_enable_audio_int(intelhaddata, false);
		break;

+0 −6
Original line number Diff line number Diff line
@@ -86,12 +86,6 @@ struct ring_buf_info {
	u8	is_valid;
};

struct had_stream_pvt {
	enum had_stream_status		stream_status;
	int				stream_ops;
	ssize_t				dbg_cum_bytes;
};

struct had_stream_data {
	enum had_status_stream		stream_type;
};
+0 −15
Original line number Diff line number Diff line
@@ -223,21 +223,6 @@ union otm_hdmi_eld_t {
	} __packed;
};

/**
 * enum had_status - Audio stream states
 *
 * @STREAM_INIT: Stream initialized
 * @STREAM_RUNNING: Stream running
 * @STREAM_PAUSED: Stream paused
 * @STREAM_DROPPED: Stream dropped
 */
enum had_stream_status {
	STREAM_INIT = 0,
	STREAM_RUNNING = 1,
	STREAM_PAUSED = 2,
	STREAM_DROPPED = 3
};

/**
 * enum had_status_stream - HAD stream states
 */