Re: [PATCH -next] net: dsa: mv88e6xxx: Fix build warning when CONFIG_NET_DSA_LEGACY is n

From: Andrew Lunn
Date: Mon Mar 04 2019 - 08:26:24 EST


On Mon, Mar 04, 2019 at 08:43:01PM +0800, Shaokun Zhang wrote:
> When CONFIG_NET_DSA_LEGACY is n, there is a GCC bulid warning:
> drivers/net/dsa/mv88e6xxx/chip.c:4623:13: warning: âmv88e6xxx_ports_cmode_initâ defined but not used [-Wunused-function]
> static void mv88e6xxx_ports_cmode_init(struct mv88e6xxx_chip *chip)
> Let's fix it.

Hi Shaokun, Heiner

Although this fixes the warning, i suspect there i something wrong
with the original patch adding mv88e6390x_port_set_cmode(). It should
also be used without CONFIG_NET_DSA_LEGACY.

Andrew


>
> Fixes: ed8fe20205ac ("net: dsa: mv88e6xxx: prevent interrupt storm caused by mv88e6390x_port_set_cmode")
> Cc: Heiner Kallweit <hkallweit1@xxxxxxxxx>
> Cc: Andrew Lunn <andrew@xxxxxxx>
> Cc: Vivien Didelot <vivien.didelot@xxxxxxxxx>
> Cc: Florian Fainelli <f.fainelli@xxxxxxxxx>
> Cc: "David S. Miller" <davem@xxxxxxxxxxxxx>
> Signed-off-by: Shaokun Zhang <zhangshaokun@xxxxxxxxxxxxx>
> ---
> drivers/net/dsa/mv88e6xxx/chip.c | 16 ++++++++--------
> 1 file changed, 8 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/net/dsa/mv88e6xxx/chip.c b/drivers/net/dsa/mv88e6xxx/chip.c
> index e4ad16b2dc38..168d4898c36f 100644
> --- a/drivers/net/dsa/mv88e6xxx/chip.c
> +++ b/drivers/net/dsa/mv88e6xxx/chip.c
> @@ -4620,14 +4620,6 @@ static int mv88e6xxx_smi_init(struct mv88e6xxx_chip *chip,
> return 0;
> }
>
> -static void mv88e6xxx_ports_cmode_init(struct mv88e6xxx_chip *chip)
> -{
> - int i;
> -
> - for (i = 0; i < mv88e6xxx_num_ports(chip); i++)
> - chip->ports[i].cmode = MV88E6XXX_PORT_STS_CMODE_INVALID;
> -}
> -
> static enum dsa_tag_protocol mv88e6xxx_get_tag_protocol(struct dsa_switch *ds,
> int port)
> {
> @@ -4637,6 +4629,14 @@ static enum dsa_tag_protocol mv88e6xxx_get_tag_protocol(struct dsa_switch *ds,
> }
>
> #if IS_ENABLED(CONFIG_NET_DSA_LEGACY)
> +static void mv88e6xxx_ports_cmode_init(struct mv88e6xxx_chip *chip)
> +{
> + int i;
> +
> + for (i = 0; i < mv88e6xxx_num_ports(chip); i++)
> + chip->ports[i].cmode = MV88E6XXX_PORT_STS_CMODE_INVALID;
> +}
> +
> static const char *mv88e6xxx_drv_probe(struct device *dsa_dev,
> struct device *host_dev, int sw_addr,
> void **priv)
> --
> 2.7.4
>