[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20161202211806.GF30716@lunn.ch>
Date: Fri, 2 Dec 2016 22:18:06 +0100
From: Andrew Lunn <andrew@...n.ch>
To: Vivien Didelot <vivien.didelot@...oirfairelinux.com>
Cc: David Miller <davem@...emloft.net>, netdev <netdev@...r.kernel.org>
Subject: Re: [PATCHv2 net-next 4/4] net: dsa: mv88e6xxx: Refactor CPU and DSA
port setup
> The port's EgressMode, FrameMode and EtherType are really tied together
> to compose the mode of the port.
Setting the EtherType is somewhat separate. It is only needed on ports
using EDSA. And that can only happen on a CPU port. Humm, actually, i
set it when i should not. But putting this in a wrapper actually hides
this.
> Could you add an helper in chip.c like:
>
> static int mv88e6xxx_set_port_mode(struct mv88e6xxx_chip *chip, int port,
> enum mv88e6xxx_frame_mode frame_mode,
> u16 egress_mode, bool egress_unknown,
> u16 ethertype)
> {
> int err;
>
> if (chip->info->ops->port_set_frame_mode) {
> err = chip->info->ops->port_set_frame_mode(chip, port, frame_mode);
> if (err)
> return err;
> }
Ignoring that it is not implemented here is wrong. It must be
implemented, or the device is not going to work. It is a question of,
do we want an oops, or return an error code.
New version coming.
Andrew
Powered by blists - more mailing lists