Re: [PATCH v2 01/16] ASoC: soc-pcm.c: cleanup soc_get_playback_capture()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Pierre-Louis

Thank you for your feedback

> The code looks fine, but what are we trying to achieve?
> I thought the idea was to have a single field at the dailink, and with
> the example above we would still have two - just like today.
> This looks like a lot of code churn in many drivers for limited
> benefits. Or I am missing something?

Yeah.
Main purpose of this patch-set is cleanup soc-pcm code which is
very complex today.

After sending mail, I noticed that xxx_only flag can be merged
into new xxx_assertion flag. For example "playback_only" means
it must playback available.

One note here is that xxx_assertion flag is not mandatory

	dpcm_playback -> playabck_assertion = 1

	dpcm_capture  -> capture_assertion  = 1

	playback_only -> playback_assertion = 1
	                 capture_assertion  = 0

	capture_only  -> playback_assertion = 0
	                 capture_assertion  = 1

	/*
	 * Assertion check
	 *
	 * xxx_assertion flag is not mandatory
	 */
	if (dai_link->playback_assertion) {
		if (!has_playback) {
			dev_err(rtd->dev, ...);
			return -EINVAL;
		}
		/* makes it plyaback only */
		if (!dai_link->capture_assertion)
			has_capture = 0;
	}
	if (dai_link->capture_assertion) {
		if (!has_capture) {
			dev_err(rtd->dev, ...);
			return -EINVAL;
		}
		/* makes it capture only */
		if (!dai_link->playback_assertion)
			has_playback = 0;
	}

	/*
	 * Detect Mismatch
	 */
	if (!has_playback && !has_capture) {
		dev_err(rtd->dev, ...);
		return -EINVAL;
	}


Thank you for your help !!

Best regards
---
Renesas Electronics
Ph.D. Kuninori Morimoto



[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Pulse Audio]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux