[openwrt/openwrt] ipq40xx: ar40xx: use FIELD_GET macro

LEDE Commits lede-commits at lists.infradead.org
Sat Aug 14 05:48:21 PDT 2021


blocktrron pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/685c790e9f0f44f3962276dbaddb784cce16423d

commit 685c790e9f0f44f3962276dbaddb784cce16423d
Author: David Bauer <mail at david-bauer.net>
AuthorDate: Sat Aug 14 00:22:28 2021 +0200

    ipq40xx: ar40xx: use FIELD_GET macro
    
    This improves code readability.
    
    Signed-off-by: David Bauer <mail at david-bauer.net>
---
 target/linux/ipq40xx/files/drivers/net/phy/ar40xx.c | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/target/linux/ipq40xx/files/drivers/net/phy/ar40xx.c b/target/linux/ipq40xx/files/drivers/net/phy/ar40xx.c
index c35ba2799f..a33bc0de2c 100644
--- a/target/linux/ipq40xx/files/drivers/net/phy/ar40xx.c
+++ b/target/linux/ipq40xx/files/drivers/net/phy/ar40xx.c
@@ -13,6 +13,7 @@
  * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
+#include <linux/bitfield.h>
 #include <linux/module.h>
 #include <linux/list.h>
 #include <linux/bitops.h>
@@ -1336,13 +1337,13 @@ ar40xx_sw_mac_polling_task(struct ar40xx_priv *priv)
 	for (i = 1; i < AR40XX_NUM_PORTS; ++i) {
 		port_phy_status[i] =
 			mdiobus_read(bus, i-1, AR40XX_PHY_SPEC_STATUS);
-		speed = link = duplex = port_phy_status[i];
-		speed &= AR40XX_PHY_SPEC_STATUS_SPEED;
-		speed >>= 14;
-		link &= AR40XX_PHY_SPEC_STATUS_LINK;
-		link >>= 10;
-		duplex &= AR40XX_PHY_SPEC_STATUS_DUPLEX;
-		duplex >>= 13;
+
+		speed = FIELD_GET(AR40XX_PHY_SPEC_STATUS_SPEED,
+				  port_phy_status[i]);
+		link = FIELD_GET(AR40XX_PHY_SPEC_STATUS_LINK,
+				 port_phy_status[i]);
+		duplex = FIELD_GET(AR40XX_PHY_SPEC_STATUS_DUPLEX,
+				   port_phy_status[i]);
 
 		if (link != priv->ar40xx_port_old_link[i]) {
 			++link_cnt[i];



More information about the lede-commits mailing list