Re: [PATCH v3 net-next 3/5] net: dsa: lan9303: Simplify lan9303_xxx_packet_processing() usage

From: Egil Hjelmeland
Date: Thu Aug 03 2017 - 16:17:25 EST


Den 03. aug. 2017 20:06, skrev Florian Fainelli:
On 08/03/2017 02:45 AM, Egil Hjelmeland wrote:
Simplify usage of lan9303_enable_packet_processing,
lan9303_disable_packet_processing()

Signed-off-by: Egil Hjelmeland <privat@xxxxxxxxxxxxxxxxxx>

Reviewed-by: Florian Fainelli <f.fainelli@xxxxxxxxx>

took a little while to figure out that we are utilizing fall through of
the switch/case statement and that's why it's okay.


static int lan9303_check_device(struct lan9303 *chip)
@@ -765,7 +766,6 @@ static int lan9303_port_enable(struct dsa_switch *ds, int port,
/* enable internal packet processing */
switch (port) {
case 1:
- return lan9303_enable_packet_processing(chip, port);
case 2:
return lan9303_enable_packet_processing(chip, port);
default:

I suppose if we later change to dsa_switch_alloc(...,3), then it could
be further simplified to

if (port != 0)
return lan9303_enable_packet_processing(chip, port);

Or perhaps no test is needed at all. The driver assumes port 0 is cpu
port, which is the sensible way to use the chip. (Because port 0 has
no phy, the others have phy). Declaring a different port as cpu port in
DTS will not work, but it will not crash the kernel.

Egil