]> git.baikalelectronics.ru Git - kernel.git/commitdiff
net: dsa: sja1105: use sja1105_xfer_u32 for the reset procedure
authorVladimir Oltean <vladimir.oltean@nxp.com>
Mon, 24 May 2021 13:14:19 +0000 (16:14 +0300)
committerDavid S. Miller <davem@davemloft.net>
Mon, 24 May 2021 20:59:03 +0000 (13:59 -0700)
Using sja1105_xfer_buf results in a higher overhead and is harder to
read.

Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/dsa/sja1105/sja1105_spi.c

index c08aa6fbd85de062143f576abe8ee4c85279f5f3..79ba86096a4ba9508e01bc3da2f12b30195f341f 100644 (file)
@@ -7,8 +7,6 @@
 #include <linux/packing.h>
 #include "sja1105.h"
 
-#define SJA1105_SIZE_RESET_CMD         4
-
 struct sja1105_chunk {
        u8      *buf;
        size_t  len;
@@ -179,28 +177,20 @@ static int sja1105et_reset_cmd(struct dsa_switch *ds)
 {
        struct sja1105_private *priv = ds->priv;
        const struct sja1105_regs *regs = priv->info->regs;
-       u8 packed_buf[SJA1105_SIZE_RESET_CMD] = {0};
-       const int size = SJA1105_SIZE_RESET_CMD;
-       u64 cold_rst = 1;
-
-       sja1105_pack(packed_buf, &cold_rst, 3, 3, size);
+       u32 cold_reset = BIT(3);
 
-       return sja1105_xfer_buf(priv, SPI_WRITE, regs->rgu, packed_buf,
-                               SJA1105_SIZE_RESET_CMD);
+       /* Cold reset */
+       return sja1105_xfer_u32(priv, SPI_WRITE, regs->rgu, &cold_reset, NULL);
 }
 
 static int sja1105pqrs_reset_cmd(struct dsa_switch *ds)
 {
        struct sja1105_private *priv = ds->priv;
        const struct sja1105_regs *regs = priv->info->regs;
-       u8 packed_buf[SJA1105_SIZE_RESET_CMD] = {0};
-       const int size = SJA1105_SIZE_RESET_CMD;
-       u64 cold_rst = 1;
-
-       sja1105_pack(packed_buf, &cold_rst, 2, 2, size);
+       u32 cold_reset = BIT(2);
 
-       return sja1105_xfer_buf(priv, SPI_WRITE, regs->rgu, packed_buf,
-                               SJA1105_SIZE_RESET_CMD);
+       /* Cold reset */
+       return sja1105_xfer_u32(priv, SPI_WRITE, regs->rgu, &cold_reset, NULL);
 }
 
 int sja1105_inhibit_tx(const struct sja1105_private *priv,