ipq40xx: ar40xx: use FIELD_GET macro
authorDavid Bauer <mail@david-bauer.net>
Fri, 13 Aug 2021 22:22:28 +0000 (00:22 +0200)
committerDavid Bauer <mail@david-bauer.net>
Sat, 14 Aug 2021 12:47:51 +0000 (14:47 +0200)
This improves code readability.

Signed-off-by: David Bauer <mail@david-bauer.net>
target/linux/ipq40xx/files/drivers/net/phy/ar40xx.c

index c35ba2799f06792eeb3e446e42098b6f77a182f3..a33bc0de2c161f32b25ef828d6fea10acc4770fb 100644 (file)
@@ -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];