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

Arınç ÜNAL arinc.unal at arinc9.com
Wed Apr 26 01:22:37 PDT 2023


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



More information about the Linux-mediatek mailing list