regmap bug fix

Marek Behun marek.behun at
Tue Mar 16 16:19:11 CET 2021

Simon, Heiko, Bin,

Pratyush discovered that the solution implemented by the patch
  regmap: fix a serious pointer casting bug
is wrong. The cpu_to_le32() / le32_to_cpu() shifts data to the correct
position, but on big endian machines it also reverses byte order.
Somehow this went right through my head when I thought this up.

I have sent a new version, with subject
  [PATCH u-boot v3.1 01/39] regmap: fix a serious pointer casting bug

The new solution utilizes an union { u8; u16; u32; u64; }, since all
members of an union start at the same address.

Could you please review this? Thanks.


More information about the U-Boot mailing list