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:
Lennert Buytenhek
2008-08-26 14:06:47 +02:00
committed by Lennert Buytenhek
parent fc0eb9f226
commit ac840605f3
20 changed files with 28 additions and 28 deletions

View File

@@ -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 {