Re: [PATCH net-next 10/24] net: dsa: mt7530: empty default case on mt7530_setup_port5()

From: Arınç ÜNAL
Date: Wed Apr 26 2023 - 04:25:06 EST


On 25.04.2023 18:13, Daniel Golle wrote:
On Tue, Apr 25, 2023 at 11:29:19AM +0300, arinc9.unal@xxxxxxxxx wrote:
From: Arınç ÜNAL <arinc.unal@xxxxxxxxxx>

There're two code paths for setting up port 5:

mt7530_setup()
-> mt7530_setup_port5()

mt753x_phylink_mac_config()
-> mt753x_mac_config()
-> mt7530_mac_config()
-> mt7530_setup_port5()

On the first code path, priv->p5_intf_sel is either set to
P5_INTF_SEL_PHY_P0 or P5_INTF_SEL_PHY_P4 when mt7530_setup_port5() is run.

On the second code path, priv->p5_intf_sel is set to P5_INTF_SEL_GMAC5 when
mt7530_setup_port5() is run.

Empty the default case which will never run but is needed nonetheless to
handle all the remaining enumeration values.

If the default: case is really just unreachable code because of the
sound reasoning you presented above, then you should just remove it.

The compiler prints warnings if all enumeration values are not handled.

CC drivers/net/dsa/mt7530.o
CC drivers/net/dsa/mt7530-mdio.o
CC drivers/net/dsa/mt7530-mmio.o
drivers/net/dsa/mt7530.c: In function ‘mt7530_setup_port5’:
drivers/net/dsa/mt7530.c:919:9: warning: enumeration value ‘P5_DISABLED’ not handled in switch [-Wswitch]
919 | switch (priv->p5_intf_sel) {
| ^~~~~~



Tested-by: Arınç ÜNAL <arinc.unal@xxxxxxxxxx>
Signed-off-by: Arınç ÜNAL <arinc.unal@xxxxxxxxxx>
---
drivers/net/dsa/mt7530.c | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/drivers/net/dsa/mt7530.c b/drivers/net/dsa/mt7530.c
index aab9ebb54d7d..b3db68d6939a 100644
--- a/drivers/net/dsa/mt7530.c
+++ b/drivers/net/dsa/mt7530.c
@@ -933,9 +933,7 @@ static void mt7530_setup_port5(struct dsa_switch *ds, phy_interface_t interface)
val &= ~MHWTRAP_P5_DIS;
break;
default:
- dev_err(ds->dev, "Unsupported p5_intf_sel %d\n",
- priv->p5_intf_sel);
- goto unlock_exit;
+ break;

I suppose you can also rather just remove the default: case alltogether
instead of keeping it and making it a no-op.

I make use of the default case with ("net: dsa: mt7530: rename p5_intf_sel and use only for MT7530 switch") so I'd rather keep this.

Arınç