net: dsa: yt921x: Refactor yt921x_chip_setup()

yt921x_chip_setup() is already pretty long, and is going to become
longer. Split it into parts.

Signed-off-by: David Yang <mmyangfl@gmail.com>
Link: https://patch.msgid.link/20260131021854.3405036-5-mmyangfl@gmail.com
Reviewed-by: Vladimir Oltean <olteanv@gmail.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
This commit is contained in:
David Yang 2026-01-31 10:18:50 +08:00 committed by Paolo Abeni
parent 75b85703fd
commit 95e6bcab3c

View File

@ -2902,7 +2902,7 @@ static int yt921x_chip_reset(struct yt921x_priv *priv)
return 0;
}
static int yt921x_chip_setup(struct yt921x_priv *priv)
static int yt921x_chip_setup_dsa(struct yt921x_priv *priv)
{
struct dsa_switch *ds = &priv->ds;
unsigned long cpu_ports_mask;
@ -2920,16 +2920,6 @@ static int yt921x_chip_setup(struct yt921x_priv *priv)
if (res)
return res;
/* Enable and clear MIB */
res = yt921x_reg_set_bits(priv, YT921X_FUNC, YT921X_FUNC_MIB);
if (res)
return res;
ctrl = YT921X_MIB_CTRL_CLEAN | YT921X_MIB_CTRL_ALL_PORT;
res = yt921x_reg_write(priv, YT921X_MIB_CTRL, ctrl);
if (res)
return res;
/* Setup software switch */
ctrl = YT921X_CPU_COPY_TO_EXT_CPU;
res = yt921x_reg_write(priv, YT921X_CPU_COPY, ctrl);
@ -2982,6 +2972,29 @@ static int yt921x_chip_setup(struct yt921x_priv *priv)
if (res)
return res;
return 0;
}
static int yt921x_chip_setup(struct yt921x_priv *priv)
{
u32 ctrl;
int res;
ctrl = YT921X_FUNC_MIB;
res = yt921x_reg_set_bits(priv, YT921X_FUNC, ctrl);
if (res)
return res;
res = yt921x_chip_setup_dsa(priv);
if (res)
return res;
/* Clear MIB */
ctrl = YT921X_MIB_CTRL_CLEAN | YT921X_MIB_CTRL_ALL_PORT;
res = yt921x_reg_write(priv, YT921X_MIB_CTRL, ctrl);
if (res)
return res;
/* Miscellaneous */
res = yt921x_reg_set_bits(priv, YT921X_SENSOR, YT921X_SENSOR_TEMP);
if (res)