diff mbox

ASoC: samsung: Minor simplification in i2s_set_fmt()

Message ID 1476065045-13865-1-git-send-email-tjakobi@math.uni-bielefeld.de (mailing list archive)
State Not Applicable
Headers show

Commit Message

Tobias Jakobi Oct. 10, 2016, 2:04 a.m. UTC
From: Michael McConville <mmcco@mykolab.com>

We can replace the if-statement with the simpler bit
toggle operation.

Changes in v2:
- add proper commit header and description

Signed-off-by: Michael McConville <mmcco@mykolab.com>
Signed-off-by: Tobias Jakobi <tjakobi@math.uni-bielefeld.de>
---
 sound/soc/samsung/i2s.c | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

Comments

On 10/10/2016 04:04 AM, Tobias Jakobi wrote:
> From: Michael McConville <mmcco@mykolab.com>
> 
> We can replace the if-statement with the simpler bit
> toggle operation.

> Changes in v2:
> - add proper commit header and description

Thanks for the patch. The above 2 lines should be moved past the
scissors "---" line below.

> Signed-off-by: Michael McConville <mmcco@mykolab.com>
> Signed-off-by: Tobias Jakobi <tjakobi@math.uni-bielefeld.de>

Reviewed-by: Sylwester Nawrocki <s.nawrocki@samsung.com>

> ---

>  sound/soc/samsung/i2s.c | 5 +----
>  1 file changed, 1 insertion(+), 4 deletions(-)
> 
> diff --git a/sound/soc/samsung/i2s.c b/sound/soc/samsung/i2s.c
> index 50635ee..1c484ac 100644
> --- a/sound/soc/samsung/i2s.c
> +++ b/sound/soc/samsung/i2s.c
> @@ -627,10 +627,7 @@ static int i2s_set_fmt(struct snd_soc_dai *dai,
>  	case SND_SOC_DAIFMT_NB_NF:
>  		break;
>  	case SND_SOC_DAIFMT_NB_IF:
> -		if (tmp & lrp_rlow)
> -			tmp &= ~lrp_rlow;
> -		else
> -			tmp |= lrp_rlow;
> +		tmp ^= lrp_rlow;
>  		break;
>  	default:
>  		dev_err(&i2s->pdev->dev, "Polarity not supported\n");

--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Tobias Jakobi Oct. 10, 2016, 9:06 a.m. UTC | #2
Hello,


Sylwester Nawrocki wrote:
> On 10/10/2016 04:04 AM, Tobias Jakobi wrote:
>> From: Michael McConville <mmcco@mykolab.com>
>>
>> We can replace the if-statement with the simpler bit
>> toggle operation.
> 
>> Changes in v2:
>> - add proper commit header and description
> 
> Thanks for the patch. The above 2 lines should be moved past the
> scissors "---" line below.
should I resend, or can this be fixed on merge?

- Tobias


>> Signed-off-by: Michael McConville <mmcco@mykolab.com>
>> Signed-off-by: Tobias Jakobi <tjakobi@math.uni-bielefeld.de>
> 
> Reviewed-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
> 
>> ---
> 
>>  sound/soc/samsung/i2s.c | 5 +----
>>  1 file changed, 1 insertion(+), 4 deletions(-)
>>
>> diff --git a/sound/soc/samsung/i2s.c b/sound/soc/samsung/i2s.c
>> index 50635ee..1c484ac 100644
>> --- a/sound/soc/samsung/i2s.c
>> +++ b/sound/soc/samsung/i2s.c
>> @@ -627,10 +627,7 @@ static int i2s_set_fmt(struct snd_soc_dai *dai,
>>  	case SND_SOC_DAIFMT_NB_NF:
>>  		break;
>>  	case SND_SOC_DAIFMT_NB_IF:
>> -		if (tmp & lrp_rlow)
>> -			tmp &= ~lrp_rlow;
>> -		else
>> -			tmp |= lrp_rlow;
>> +		tmp ^= lrp_rlow;
>>  		break;
>>  	default:
>>  		dev_err(&i2s->pdev->dev, "Polarity not supported\n");
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Hi,

On 10/10/2016 11:06 AM, Tobias Jakobi wrote:
> should I resend, or can this be fixed on merge?

I'm not sure, probably it's better to resend.  But most importantly
please send it directly to Mark (broonie@kernel.org).  Otherwise
it may not be guaranteed the patch gets applied. And please make
sure alsa-devel@alsa-project.org is copied.

--
Thanks,
Sylwester
--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Krzysztof Kozlowski Oct. 10, 2016, 5:05 p.m. UTC | #4
On Mon, Oct 10, 2016 at 04:04:05AM +0200, Tobias Jakobi wrote:
> From: Michael McConville <mmcco@mykolab.com>
> 
> We can replace the if-statement with the simpler bit
> toggle operation.
> 
> Changes in v2:
> - add proper commit header and description
> 
> Signed-off-by: Michael McConville <mmcco@mykolab.com>
> Signed-off-by: Tobias Jakobi <tjakobi@math.uni-bielefeld.de>
> ---
>  sound/soc/samsung/i2s.c | 5 +----
>  1 file changed, 1 insertion(+), 4 deletions(-)
> 
> diff --git a/sound/soc/samsung/i2s.c b/sound/soc/samsung/i2s.c
> index 50635ee..1c484ac 100644
> --- a/sound/soc/samsung/i2s.c
> +++ b/sound/soc/samsung/i2s.c
> @@ -627,10 +627,7 @@ static int i2s_set_fmt(struct snd_soc_dai *dai,
>  	case SND_SOC_DAIFMT_NB_NF:
>  		break;
>  	case SND_SOC_DAIFMT_NB_IF:
> -		if (tmp & lrp_rlow)
> -			tmp &= ~lrp_rlow;
> -		else
> -			tmp |= lrp_rlow;
> +		tmp ^= lrp_rlow;

It is late, full day of work... so I might be thinking slowly... but
this does not look like proper replacement. Unless for specific values
used in the driver this works? From mathematical point of view, imagine
tmp=6 abd lrp_rlow=3.

This is not equal...

But... maybe it is late... :)

Krzysztof
--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Tobias Jakobi Oct. 10, 2016, 5:18 p.m. UTC | #5
Hello Krzysztof,


Krzysztof Kozlowski wrote:
> On Mon, Oct 10, 2016 at 04:04:05AM +0200, Tobias Jakobi wrote:
>> From: Michael McConville <mmcco@mykolab.com>
>>
>> We can replace the if-statement with the simpler bit
>> toggle operation.
>>
>> Changes in v2:
>> - add proper commit header and description
>>
>> Signed-off-by: Michael McConville <mmcco@mykolab.com>
>> Signed-off-by: Tobias Jakobi <tjakobi@math.uni-bielefeld.de>
>> ---
>>  sound/soc/samsung/i2s.c | 5 +----
>>  1 file changed, 1 insertion(+), 4 deletions(-)
>>
>> diff --git a/sound/soc/samsung/i2s.c b/sound/soc/samsung/i2s.c
>> index 50635ee..1c484ac 100644
>> --- a/sound/soc/samsung/i2s.c
>> +++ b/sound/soc/samsung/i2s.c
>> @@ -627,10 +627,7 @@ static int i2s_set_fmt(struct snd_soc_dai *dai,
>>  	case SND_SOC_DAIFMT_NB_NF:
>>  		break;
>>  	case SND_SOC_DAIFMT_NB_IF:
>> -		if (tmp & lrp_rlow)
>> -			tmp &= ~lrp_rlow;
>> -		else
>> -			tmp |= lrp_rlow;
>> +		tmp ^= lrp_rlow;
> 
> It is late, full day of work... so I might be thinking slowly... but
> this does not look like proper replacement. Unless for specific values
> used in the driver this works? From mathematical point of view, imagine
> tmp=6 abd lrp_rlow=3.
> 
> This is not equal...
> 
> But... maybe it is late... :)
No, you're correct, this obviously only works for lrp_rlow of the type
(1 << n). For arbitrary values this transformation isn't equivalent. But
it applies here.

Anyway, please drop this if you think it is misleading. I just found it
while cleaning my inbox.

- Tobias




> 
> Krzysztof
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/sound/soc/samsung/i2s.c b/sound/soc/samsung/i2s.c
index 50635ee..1c484ac 100644
--- a/sound/soc/samsung/i2s.c
+++ b/sound/soc/samsung/i2s.c
@@ -627,10 +627,7 @@  static int i2s_set_fmt(struct snd_soc_dai *dai,
 	case SND_SOC_DAIFMT_NB_NF:
 		break;
 	case SND_SOC_DAIFMT_NB_IF:
-		if (tmp & lrp_rlow)
-			tmp &= ~lrp_rlow;
-		else
-			tmp |= lrp_rlow;
+		tmp ^= lrp_rlow;
 		break;
 	default:
 		dev_err(&i2s->pdev->dev, "Polarity not supported\n");