net: phy: genphy: Make it work with of_set_phy_supported
phys start with features initialized from the phy driver and are eventually limited by of_set_phy_supported. This does not work with the genphy driver which starts with no features and overwrites phydev->supported with the values read from hardware in config_init. This overwrites the features adjusted by of_set_phy_supported. To fix this let the genphy driver start with full features which are then only limited in config_init, but never extended. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This commit is contained in:
parent
e2eb6e50f4
commit
1607f679da
|
@ -805,8 +805,8 @@ static 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;
|
||||
}
|
||||
|
@ -858,7 +858,9 @@ static struct phy_driver genphy_driver = {
|
|||
.drv.name = "Generic PHY",
|
||||
.phy_id = PHY_ANY_UID,
|
||||
.phy_id_mask = PHY_ANY_UID,
|
||||
.features = 0,
|
||||
.features = PHY_GBIT_FEATURES | SUPPORTED_MII |
|
||||
SUPPORTED_AUI | SUPPORTED_FIBRE |
|
||||
SUPPORTED_BNC,
|
||||
};
|
||||
|
||||
static int generic_phy_register(void)
|
||||
|
|
Loading…
Reference in New Issue