netcp: add more __le32 annotations
authorArnd Bergmann <arnd@arndb.de>
Tue, 8 Dec 2015 15:32:59 +0000 (16:32 +0100)
committerDavid S. Miller <davem@davemloft.net>
Sat, 12 Dec 2015 00:34:39 +0000 (19:34 -0500)
commit9dd2d6c5c9755b160fe0111bcdad9491676feea8
tree940c9a8977560f48741af4a1145a09113be0e7fc
parent899077791403ff7a2d8cfaa87bd1a82d729463e2
netcp: add more __le32 annotations

The handling of epib and psdata remains a bit unclear in the driver,
as we access the same fields both as CPU-endian and through DMA
from the device.

Sparse warns about this:
ti/netcp_core.c:1147:21: warning: incorrect type in assignment (different base types)
ti/netcp_core.c:1147:21:    expected unsigned int [usertype] *[assigned] epib
ti/netcp_core.c:1147:21:    got restricted __le32 *<noident>

This uses __le32 types in a few places and uses __force where the code
looks fishy. The previous patch should really have produced the correct
behavior, but this second patch is needed to shut up the warnings about
it. Ideally it would be slightly rewritten to not need those casts,
but I don't dare do that without access to the hardware for proper
testing.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/ti/netcp.h
drivers/net/ethernet/ti/netcp_core.c