Re: [PATCH net-next 06/21] net: dsa: mv88e6xxx: factorize MAC address setting

From: Vivien Didelot
Date: Sat May 07 2016 - 16:37:15 EST


Hi Andrew,

Andrew Lunn <andrew@xxxxxxx> writes:

>> @@ -378,6 +385,7 @@ enum mv88e6xxx_cap {
>> #define MV88E6XXX_FLAG_EEPROM BIT(MV88E6XXX_CAP_EEPROM)
>> #define MV88E6XXX_FLAG_PPU BIT(MV88E6XXX_CAP_PPU)
>> #define MV88E6XXX_FLAG_SMI_PHY BIT(MV88E6XXX_CAP_SMI_PHY)
>> +#define MV88E6XXX_FLAG_SWITCH_MAC BIT(MV88E6XXX_CAP_SWITCH_MAC_WOL_WOF)
>> #define MV88E6XXX_FLAG_TEMP BIT(MV88E6XXX_CAP_TEMP)
>> #define MV88E6XXX_FLAG_TEMP_LIMIT BIT(MV88E6XXX_CAP_TEMP_LIMIT)
>
> There is a general pattern here that the flag has a name derived from
> the capability. Except you dropped the WOL_WOF here. It would probably
> be better to not have WOL_WOF at all.

Indeed, I did that because the global 2 register 0x0D "Switch
MAC/WoL/WoF" is used to indirectly configure the switch MAC address, the
Wake on Lan and Wake on Frame. So I explicitly named the capability
MV88E6XXX_CAP_SWITCH_MAC_WOL_WOF and the flag for the switch MAC
MV88E6XXX_FLAG_SWITCH_MAC.

So if we add support for WoL, we can then define:

#define MV88E6XXX_FLAG_WOL BIT(MV88E6XXX_CAP_SWITCH_MAC_WOL_WOF)

But I can get rid of it if it feels confusing.

Thanks,

Vivien