]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
net: ethernet: renesas: rcar_gen4_ptp: Fail on unknown register layout
authorNiklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Tue, 21 Nov 2023 15:53:03 +0000 (16:53 +0100)
committerPaolo Abeni <pabeni@redhat.com>
Thu, 23 Nov 2023 11:02:49 +0000 (12:02 +0100)
Instead of printing a warning and proceeding with an unknown register
layout return an error. The only call site is already prepared to
propagate the error.

Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
drivers/net/ethernet/renesas/rcar_gen4_ptp.c

index c007e33c47e16d5ad0a85ed985cfce1127fd6805..443ca5a187038c019d0ebe7982c744bab20fbcab 100644 (file)
@@ -130,23 +130,30 @@ static struct ptp_clock_info rcar_gen4_ptp_info = {
        .enable = rcar_gen4_ptp_enable,
 };
 
-static void rcar_gen4_ptp_set_offs(struct rcar_gen4_ptp_private *ptp_priv,
-                                  enum rcar_gen4_ptp_reg_layout layout)
+static int rcar_gen4_ptp_set_offs(struct rcar_gen4_ptp_private *ptp_priv,
+                                 enum rcar_gen4_ptp_reg_layout layout)
 {
-       WARN_ON(layout != RCAR_GEN4_PTP_REG_LAYOUT_S4);
+       if (layout != RCAR_GEN4_PTP_REG_LAYOUT_S4)
+               return -EINVAL;
 
        ptp_priv->offs = &s4_offs;
+
+       return 0;
 }
 
 int rcar_gen4_ptp_register(struct rcar_gen4_ptp_private *ptp_priv,
                           enum rcar_gen4_ptp_reg_layout layout, u32 clock)
 {
+       int ret;
+
        if (ptp_priv->initialized)
                return 0;
 
        spin_lock_init(&ptp_priv->lock);
 
-       rcar_gen4_ptp_set_offs(ptp_priv, layout);
+       ret = rcar_gen4_ptp_set_offs(ptp_priv, layout);
+       if (ret)
+               return ret;
 
        ptp_priv->default_addend = clock;
        iowrite32(ptp_priv->default_addend, ptp_priv->addr + ptp_priv->offs->increment);