net: phy: Add phy_interface_is_rgmii helper
authorFlorian Fainelli <f.fainelli@gmail.com>
Tue, 26 May 2015 19:19:58 +0000 (12:19 -0700)
committerDavid S. Miller <davem@davemloft.net>
Wed, 27 May 2015 04:27:35 +0000 (00:27 -0400)
RGMII interfaces come in 4 different flavors that the PHY library needs
to care about: regular RGMII (no delays), RGMII with either RX or TX
delay, and both. In order to avoid errors of checking only for one type
of RGMII interface and miss the 3 others, introduce a convenience
function which tests for all values.

Suggested-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/linux/phy.h

index 701c7a3946e08bf935cc94d55b63e4fde953379e..a26c3f84b8ddc6c15e2abbecf47a588419534b11 100644 (file)
@@ -677,6 +677,17 @@ static inline bool phy_is_internal(struct phy_device *phydev)
        return phydev->is_internal;
 }
 
+/**
+ * phy_interface_is_rgmii - Convenience function for testing if a PHY interface
+ * is RGMII (all variants)
+ * @phydev: the phy_device struct
+ */
+static inline bool phy_interface_is_rgmii(struct phy_device *phydev)
+{
+       return phydev->interface >= PHY_INTERFACE_MODE_RGMII &&
+               phydev->interface <= PHY_INTERFACE_MODE_RGMII_TXID;
+}
+
 /**
  * phy_write_mmd - Convenience function for writing a register
  * on an MMD on a given PHY.