Skip to content

Commit

Permalink
net: phy: genphy: Allow overwriting features
Browse files Browse the repository at this point in the history
of_set_phy_supported allows overwiting hardware capabilities of
a phy with values from the devicetree. This does not work with
the genphy driver though because the genphys config_init function
will overwrite all values adjusted by of_set_phy_supported. Fix
this by initialising the genphy features in the phy_driver struct
and in config_init just limit the features to the ones the hardware
can actually support. The resulting features are a subset of the
devicetree specified features and the hardware features.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Sascha Hauer authored and David S. Miller committed May 22, 2014
1 parent a6cea53 commit c242a47
Showing 1 changed file with 5 additions and 6 deletions.
11 changes: 5 additions & 6 deletions drivers/net/phy/phy_device.c
Original file line number Diff line number Diff line change
Expand Up @@ -1072,9 +1072,6 @@ int genphy_config_init(struct phy_device *phydev)
int val;
u32 features;

/* For now, I'll claim that the generic driver supports
* all possible port types
*/
features = (SUPPORTED_TP | SUPPORTED_MII
| SUPPORTED_AUI | SUPPORTED_FIBRE |
SUPPORTED_BNC);
Expand Down Expand Up @@ -1107,8 +1104,8 @@ int genphy_config_init(struct phy_device *phydev)
features |= SUPPORTED_1000baseT_Half;
}

phydev->supported = features;
phydev->advertising = features;
phydev->supported &= features;
phydev->advertising &= features;

return 0;
}
Expand Down Expand Up @@ -1296,7 +1293,9 @@ static struct phy_driver genphy_driver[] = {
.name = "Generic PHY",
.soft_reset = genphy_soft_reset,
.config_init = genphy_config_init,
.features = 0,
.features = PHY_GBIT_FEATURES | SUPPORTED_MII |
SUPPORTED_AUI | SUPPORTED_FIBRE |
SUPPORTED_BNC,
.config_aneg = genphy_config_aneg,
.aneg_done = genphy_aneg_done,
.read_status = genphy_read_status,
Expand Down

0 comments on commit c242a47

Please sign in to comment.