mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-03-21 14:41:31 +00:00
net: phy: genphy: Allow overwriting features
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. This is a copy of the patch from Linux kernel, see http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=c242a47238fa2a6a54af8a16e62b54e6e031d4bc Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> Cc: Joe Hershberger <joe.hershberger@ni.com> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
This commit is contained in:
parent
bbdcaff12a
commit
44bc317487
1 changed files with 5 additions and 5 deletions
|
@ -382,8 +382,6 @@ int genphy_config(struct phy_device *phydev)
|
||||||
int val;
|
int val;
|
||||||
u32 features;
|
u32 features;
|
||||||
|
|
||||||
/* For now, I'll claim that the generic driver supports
|
|
||||||
* all possible port types */
|
|
||||||
features = (SUPPORTED_TP | SUPPORTED_MII
|
features = (SUPPORTED_TP | SUPPORTED_MII
|
||||||
| SUPPORTED_AUI | SUPPORTED_FIBRE |
|
| SUPPORTED_AUI | SUPPORTED_FIBRE |
|
||||||
SUPPORTED_BNC);
|
SUPPORTED_BNC);
|
||||||
|
@ -422,8 +420,8 @@ int genphy_config(struct phy_device *phydev)
|
||||||
features |= SUPPORTED_1000baseX_Half;
|
features |= SUPPORTED_1000baseX_Half;
|
||||||
}
|
}
|
||||||
|
|
||||||
phydev->supported = features;
|
phydev->supported &= features;
|
||||||
phydev->advertising = features;
|
phydev->advertising &= features;
|
||||||
|
|
||||||
genphy_config_aneg(phydev);
|
genphy_config_aneg(phydev);
|
||||||
|
|
||||||
|
@ -447,7 +445,9 @@ static struct phy_driver genphy_driver = {
|
||||||
.uid = 0xffffffff,
|
.uid = 0xffffffff,
|
||||||
.mask = 0xffffffff,
|
.mask = 0xffffffff,
|
||||||
.name = "Generic PHY",
|
.name = "Generic PHY",
|
||||||
.features = 0,
|
.features = PHY_GBIT_FEATURES | SUPPORTED_MII |
|
||||||
|
SUPPORTED_AUI | SUPPORTED_FIBRE |
|
||||||
|
SUPPORTED_BNC,
|
||||||
.config = genphy_config,
|
.config = genphy_config,
|
||||||
.startup = genphy_startup,
|
.startup = genphy_startup,
|
||||||
.shutdown = genphy_shutdown,
|
.shutdown = genphy_shutdown,
|
||||||
|
|
Loading…
Add table
Reference in a new issue