Re: [PATCH V3] net: ezchip: adapt driver to little endian architecture

From: Arnd Bergmann
Date: Thu Mar 03 2016 - 09:11:41 EST


On Thursday 03 March 2016 17:07:46 Lada Trimasova wrote:
> From: Lada Trimasova <Lada.Trimasova@xxxxxxxxxxxx>
> To: netdev@xxxxxxxxxxxxxxx
> CC: linux-kernel@xxxxxxxxxxxxxxx, Lada Trimasova <Lada.Trimasova@xxxxxxxxxxxx>, Alexey Brodkin <Alexey.Brodkin@xxxxxxxxxxxx>, Noam Camus <noamc@xxxxxxxxxx>, Tal Zilcer <talz@xxxxxxxxxx>, Arnd Bergmann <arnd@xxxxxxxx>
> Date: Today 15:07:46
> Since ezchip network driver is written with big endian EZChip platform it
> is necessary to add support for little endian architecture.
>
> The first issue is that the order of the bits in a bit field is
> implementation specific. So all the bit fields are removed.
> Named constants are used to access necessary fields.
>
> And the second one is that network byte order is big endian.
> For example, data on ethernet is transmitted with most-significant
> octet (byte) first. So in case of little endian architecture
> it is important to swap data byte order when we read it from
> register. In case of unaligned access we can use "get_unaligned_be32"
> and in other case we can use function "ioread32_rep" which reads all
> data from register and works either with little endian or big endian
> architecture.
>
> And then when we are going to write data to register we need to restore
> byte order using the function "put_unaligned_be32" in case of
> unaligned access and in other case "iowrite32_rep".
>
> The last little fix is a space between type and pointer to observe
> coding style.
>
> Signed-off-by: Lada Trimasova <ltrimas@xxxxxxxxxxxx>
> Cc: Alexey Brodkin <abrodkin@xxxxxxxxxxxx>
> Cc: Noam Camus <noamc@xxxxxxxxxx>
> Cc: Tal Zilcer <talz@xxxxxxxxxx>
> Cc: Arnd Bergmann <arnd@xxxxxxxx>
>

Acked-by: Arnd Bergmann <arnd@xxxxxxxx>