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