Patch "net: phy: use boolean dt properties for eee broken modes" has been added to the 4.9-stable tree
Subsystems (3)
This is a note to let you know that I've just added the patch titled
net: phy: use boolean dt properties for eee broken modes
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
net-phy-use-boolean-dt-properties-for-eee-broken-modes.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From foo@baz Mon Jul 3 11:00:33 CEST 2017
From: jbrunet <[email protected]>
Date: Mon, 19 Dec 2016 16:05:37 +0100
Subject: net: phy: use boolean dt properties for eee broken modes
From: jbrunet <[email protected]>
[ Upstream commit 57f3986231bb2c69a55ccab1d2b30a00818027ac ]
The patches regarding eee-broken-modes was merged before all people involved could find an agreement on the best way to move forward.
While we agreed on having a DT property to mark particular modes as broken, the value used for eee-broken-modes mapped the phy register in very direct way. Because of this, the concern is that it could be used to implement configuration policies instead of describing a broken HW.
In the end, having a boolean property for each mode seems to be preferred over one bit field value mapping the register (too) directly.
--- drivers/net/phy/phy_device.c | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-)
drivers/net/phy/phy_device.c +15 -3
@@ -1633,7 +1633,7 @@ static void of_set_phy_supported(structstatic void of_set_phy_eee_broken (struct phy_device *phydev) {struct device_node *node = phydev->mdio.dev.of_node; -u32 broken; +u32 broken =0 ;if (!IS_ENABLED (CONFIG_OF_MDIO ))return ;
@@ -1641,8 +1641,20 @@ static void of_set_phy_eee_broken(structif (!node)return ; -if (!of_property_read_u32 (node,"eee-broken-modes" , &broken)) - phydev->eee_broken_modes = broken; +if (of_property_read_bool (node,"eee-broken-100tx" )) + broken |=MDIO_EEE_100TX ; +if (of_property_read_bool (node,"eee-broken-1000t" )) + broken |=MDIO_EEE_1000T ; +if (of_property_read_bool (node,"eee-broken-10gt" )) + broken |=MDIO_EEE_10GT ; +if (of_property_read_bool (node,"eee-broken-1000kx" )) + broken |=MDIO_EEE_1000KX ; +if (of_property_read_bool (node,"eee-broken-10gkx4" )) + broken |=MDIO_EEE_10GKX4 ; +if (of_property_read_bool (node,"eee-broken-10gkr" )) + broken |=MDIO_EEE_10GKR ; + + phydev->eee_broken_modes = broken; }/**
Patches currently in stable-queue which might be from [email protected] are
queue-4.9/net-phy-add-an-option-to-disable-eee-advertisement.patch queue-4.9/dt-bindings-net-add-eee-capability-constants.patch queue-4.9/net-phy-use-boolean-dt-properties-for-eee-broken-modes.patch queue-4.9/arm64-dts-meson-gxbb-odroidc2-fix-gbe-tx-link-breakage.patch queue-4.9/net-phy-fix-sign-type-error-in-genphy_config_eee_advert.patch queue-4.9/dt-bindings-net-use-boolean-dt-properties-for-eee-broken-modes.patch