Commit 9f399570 authored by Niklas Söderlund's avatar Niklas Söderlund Committed by Paolo Abeni
Browse files

net: ethernet: renesas: rcar_gen4_ptp: Fail on unknown register layout



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: default avatarNiklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Reviewed-by: default avatarWolfram Sang <wsa+renesas@sang-engineering.com>
Reviewed-by: default avatarSimon Horman <horms@kernel.org>
Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
parent d73dcff9
Loading
Loading
Loading
Loading
+11 −4
Original line number Diff line number Diff line
@@ -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,
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);