Messages in this thread | | | Subject | Re: [PATCH v3 net-next 3/5] net: dsa: lan9303: Simplify lan9303_xxx_packet_processing() usage | From | Egil Hjelmeland <> | Date | Thu, 3 Aug 2017 22:16:42 +0200 |
| |
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@egil-hjelmeland.no> > > Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> > > 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
| |