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

Egil Hjelmeland
2017-08-03T20:17:06Z

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