Le 12/07/2017 à 14:52, Wolfgang Denk a écrit :
Dear Christophe,
In message
<59ac182501e89d3b9ee1dc7c31ce358ff33c0877.1499629706.git.christophe.le...@c-s.fr>
you wrote:
divider is calculated based on SCCR_DFBRG, with:
SCCR_DFBRG 00 => divider 1 = 1 << 0
SCCR_DFBRG 01 => divider 4 = 1 << 2
SCCR_DFBRG 10 => divider 16 = 1 << 4
SCCR_DFBRG 11 => divider 64 = 1 << 6
This can be easily converted to a single shift operation:
divider = 1 << (SCCR_DFBRG * 2)
Agreed, but...
- switch ((sccr & SCCR_DFBRG11) >> 11) {
...
+ uint divider = 1 << ((sccr & SCCR_DFBRG11) >> 10);
The code would be easier to read / understand if you made the
calculation obvious, i. e.
uint divider = 1 << (((sccr & SCCR_DFBRG11) >> 11) * 2);
The compiler generates the same code, so there is no size effect.
Ok, done in v2
Christophe
Reviewed-by: Wolfgang Denk <w...@denx.de>
Best regards,
Wolfgang Denk
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot