RFC - unclear change in "[media] DiBxxxx: Codingstype updates"

From: Nicholas Mc Guire
Date: Sat Oct 08 2016 - 10:05:12 EST



Hi Olivier !

in your commit 28fafca78797b ("[media] DiB0090: misc improvements")

with commit message:
This patch adds several performance improvements and prepares the
usage of firmware-based devices.

it seems you changed the logic of an if/else in dib0090_tune() in a way
that I do not understand:

- lo6 |= (1 << 2) | 2;
- else
- lo6 |= (1 << 2) | 1;
+ lo6 |= (1 << 2) | 2; //SigmaDelta and Dither
+ else {
+ if (state->identity.in_soc)
+ lo6 |= (1 << 2) | 2; //SigmaDelta and Dither
+ else
+ lo6 |= (1 << 2) | 2; //SigmaDelta and Dither
+ }

resulting in the current code-base of:

if (Rest > 0) {
if (state->config->analog_output)
lo6 |= (1 << 2) | 2;
else {
if (state->identity.in_soc)
lo6 |= (1 << 2) | 2;
else
lo6 |= (1 << 2) | 2;
}
Den = 255;
}

The problem now is that the if and the else(if/else) are
all the same and thus the conditions have no effect. Further
the origninal code actually had different if/else - so I
wonder if this is a cut&past bug here ?

With no knowlege of the device providing a patch makes
no sense as it would just be guessing - in any case this looks
wrong (or atleast should have a comment if it actually is correct)

What am I missing ?

thx!
hofrat