net: fsl_enetc: Inline register accessors
authorMarek Vasut <marex@denx.de>
Thu, 16 Jan 2025 04:03:24 +0000 (05:03 +0100)
committerFabio Estevam <festevam@gmail.com>
Mon, 20 Jan 2025 11:40:39 +0000 (08:40 -0300)
Move register accessors from header files and turn them into proper
inline functions, so typechecking can be done on them. Drop no longer
enetc_port_regs() and unused enetc_read() and enetc_bdr_read().

Signed-off-by: Marek Vasut <marex@denx.de>
drivers/net/fsl_enetc.c
drivers/net/fsl_enetc.h
drivers/net/fsl_enetc_mdio.c

index e6f5ca6..ace1069 100644 (file)
@@ -40,6 +40,40 @@ static int enetc_dev_id(struct udevice *dev)
        return 0;
 }
 
+/* register accessors */
+static u32 enetc_read_reg(void __iomem *addr)
+{
+       return readl(addr);
+}
+
+static void enetc_write_reg(void __iomem *addr, u32 val)
+{
+       writel(val, addr);
+}
+
+static void enetc_write(struct enetc_priv *priv, u32 off, u32 val)
+{
+       enetc_write_reg(priv->regs_base + off, val);
+}
+
+/* port register accessors */
+static u32 enetc_read_port(struct enetc_priv *priv, u32 off)
+{
+       return enetc_read_reg(priv->port_regs + off);
+}
+
+static void enetc_write_port(struct enetc_priv *priv, u32 off, u32 val)
+{
+       enetc_write_reg(priv->port_regs + off, val);
+}
+
+/* BDR register accessor, see also ENETC_BDR() */
+static void enetc_bdr_write(struct enetc_priv *priv, int type, int n,
+                           u32 off, u32 val)
+{
+       enetc_write(priv, ENETC_BDR(type, n, off), val);
+}
+
 /*
  * sets the MAC address in IERB registers, this setting is persistent and
  * carried over to Linux.
index f2acf36..da7414c 100644 (file)
@@ -163,26 +163,6 @@ struct enetc_priv {
        struct phy_device *phy;
 };
 
-/* register accessors */
-#define enetc_read_reg(x)      readl((x))
-#define enetc_write_reg(x, val)        writel((val), (x))
-#define enetc_read(priv, off)  enetc_read_reg((priv)->regs_base + (off))
-#define enetc_write(priv, off, v) \
-                       enetc_write_reg((priv)->regs_base + (off), v)
-
-/* port register accessors */
-#define enetc_port_regs(priv, off) ((priv)->port_regs + (off))
-#define enetc_read_port(priv, off) \
-                       enetc_read_reg(enetc_port_regs((priv), (off)))
-#define enetc_write_port(priv, off, v) \
-                       enetc_write_reg(enetc_port_regs((priv), (off)), v)
-
-/* BDR register accessors, see ENETC_BDR() */
-#define enetc_bdr_read(priv, t, n, off) \
-                       enetc_read(priv, ENETC_BDR(t, n, off))
-#define enetc_bdr_write(priv, t, n, off, val) \
-                       enetc_write(priv, ENETC_BDR(t, n, off), val)
-
 /* PCS / internal SoC PHY ID, it defaults to 0 on all interfaces */
 #define ENETC_PCS_PHY_ADDR     0
 
index 2d5fcbb..6a628e7 100644 (file)
 
 #include "fsl_enetc.h"
 
+static u32 enetc_read(struct enetc_mdio_priv *priv, u32 off)
+{
+       return readl(priv->regs_base + off);
+}
+
+static void enetc_write(struct enetc_mdio_priv *priv, u32 off, u32 val)
+{
+       writel(val, priv->regs_base + off);
+}
+
 static void enetc_mdio_wait_bsy(struct enetc_mdio_priv *priv)
 {
        int to = 10000;