OSDN Git Service

net: thunderbolt: Use bitwise types in the struct thunderbolt_ip_frame_header
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Wed, 30 Nov 2022 12:36:13 +0000 (14:36 +0200)
committerDavid S. Miller <davem@davemloft.net>
Fri, 2 Dec 2022 10:42:26 +0000 (10:42 +0000)
commita479f9264bddfd0c266615b83f784222eccf9b91
tree481f5003c58f0f41ff078ccfb2790a20bf6eaa4c
parent0bbe50f3e85aadeb7417905b1011fc5f98d8c897
net: thunderbolt: Use bitwise types in the struct thunderbolt_ip_frame_header

The main usage of the struct thunderbolt_ip_frame_header is to handle
the packets on the media layer. The header is bound to the protocol
in which the byte ordering is crucial. However the data type definition
doesn't use that and sparse is unhappy, for example (17 altogether):

  .../thunderbolt.c:718:23: warning: cast to restricted __le32

  .../thunderbolt.c:966:42: warning: incorrect type in assignment (different base types)
  .../thunderbolt.c:966:42:    expected unsigned int [usertype] frame_count
  .../thunderbolt.c:966:42:    got restricted __le32 [usertype]

Switch to the bitwise types in the struct thunderbolt_ip_frame_header to
reduce this, but not completely solving (9 left), because the same data
type is used for Rx header handled locally (in CPU byte order).

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/thunderbolt.c