Re: [PATCH net-next v3 3/4] net: phy: Add helper to derive the number of ports from a phy mode

From: Andrew Lunn
Date: Fri Jul 29 2022 - 23:54:36 EST


> > +int phy_interface_num_ports(phy_interface_t interface)
> > +{
> > + switch (interface) {
> > + case PHY_INTERFACE_MODE_NA:
> > + return 0;
> > + case PHY_INTERFACE_MODE_INTERNAL:
>

> Maybe this was covered in the previous iteration, but cannot the
> default case return 1, and all of the cases that need an explicit
> non-1 return value are handled? Enumeration all of those that do
> need to return 1 does not really scale.

It is a trade off. In the current form, when somebody adds a new enum
value, gcc will give a warning if they forget to add it here. If we
default to 1, new values are probably going to be missed here, and
could end up with the incorrect return value.

I think the compiler warning actually does make it scale. And the
generated code probably very similar either way.

Andrew