OSDN Git Service

net: dsa: sja1105: Replace sja1105_spi_send_int with sja1105_xfer_{u32, u64}
authorVladimir Oltean <olteanv@gmail.com>
Tue, 1 Oct 2019 19:18:00 +0000 (22:18 +0300)
committerDavid S. Miller <davem@davemloft.net>
Wed, 2 Oct 2019 16:25:11 +0000 (12:25 -0400)
commitdff79620c3e8c3a1793e0e4751b8cd7bd15f1565
tree24ac912ad1e43630f7ea06df46c0e4b3cda0f100
parent09c1b412558b8adf01f733dfe665b5f75dfdf347
net: dsa: sja1105: Replace sja1105_spi_send_int with sja1105_xfer_{u32, u64}

Having a function that takes a variable number of unpacked bytes which
it generically calls an "int" is confusing and makes auditing patches
next to impossible.

We only use spi_send_int with the int sizes of 32 and 64 bits. So just
make the spi_send_int function less generic and replace it with the
appropriate two explicit functions, which can now type-check the int
pointer type.

Note that there is still a small weirdness in the u32 function, which
has to convert it to a u64 temporary. This is because of how the packing
API works at the moment, but the weirdness is at least hidden from
callers of sja1105_xfer_u32 now.

Suggested-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Vladimir Oltean <olteanv@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/dsa/sja1105/sja1105.h
drivers/net/dsa/sja1105/sja1105_main.c
drivers/net/dsa/sja1105/sja1105_ptp.c
drivers/net/dsa/sja1105/sja1105_spi.c