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

Arınç ÜNAL
2023-04-26T08:25:07Z

On 25.04.2023 18:13, Daniel Golle wrote:
> On Tue, Apr 25, 2023 at 11:29:19AM +0300, arinc9.unal@gmail.com wrote:
>> From: Arınç ÜNAL <arinc.unal@arinc9.com>
>>
>> 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@arinc9.com>
>> Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
>> ---
>> 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ç