22.01.2015 18:22, Dmitry Osipenko пишет:
22.01.2015 10:55, Alexandre Courbot пишет:
On Thu, Jan 22, 2015 at 4:40 PM, Thierry Reding
<thierry.red...@gmail.com> wrote:

Should this not technically be le32_to_cpu() since the data originates
from the I2C controller?

No, i2c_readl returns value in CPU endianness, so it's correct. But for
i2c_writel should be used le32_to_cpu(), since it takes value in CPU endianness.
It's my overlook, V2 is coming.


Why does this have to be initialized to 0 now?

I suspect this is because we are going to memcpy less than 4 bytes
into it, but I cannot figure out how that memcpy if guaranteed to
produce the expected result for both endiannesses.

That's correct. Memcpy is working with bytes, so it doesn't care about
endianness and produces expected result, since I2C message is char array.

I'll spend some more time reviewing, to see if nullifying should go as separate patch.

--
Dmitry
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to