mv643xx_eth: remove force_phy_addr field
Currently, there are two different fields in the mv643xx_eth_platform_data struct that together describe the PHY address -- one field (phy_addr) has the address of the PHY, but if that address is zero, a second field (force_phy_addr) needs to be set to distinguish the actual address zero from a zero due to not having filled in the PHY address explicitly (which should mean 'use the default PHY address'). If we are a bit smarter about the encoding of the phy_addr field, we can avoid the need for a second field -- this patch does that. Signed-off-by: Lennert Buytenhek <buytenh@marvell.com>
This commit is contained in:
committed by
Lennert Buytenhek
parent
fc0eb9f226
commit
ac840605f3
@@ -2412,10 +2412,10 @@ static void set_params(struct mv643xx_eth_private *mp,
|
||||
else
|
||||
uc_addr_get(mp, dev->dev_addr);
|
||||
|
||||
if (pd->phy_addr == -1) {
|
||||
if (pd->phy_addr == MV643XX_ETH_PHY_NONE) {
|
||||
mp->phy_addr = -1;
|
||||
} else {
|
||||
if (pd->force_phy_addr || pd->phy_addr) {
|
||||
if (pd->phy_addr != MV643XX_ETH_PHY_ADDR_DEFAULT) {
|
||||
mp->phy_addr = pd->phy_addr & 0x3f;
|
||||
phy_addr_set(mp, mp->phy_addr);
|
||||
} else {
|
||||
|
Reference in New Issue
Block a user