On 23/05/2017 11:57, patrice.chot...@st.com wrote:
From: Patrice Chotard <patrice.chot...@st.com>
This allow to check if a PHY has been correctly
initialised and avoid to get access to phy struct.
Signed-off-by: Patrice Chotard <patrice.chot...@st.com>
---
drivers/phy/phy-uclass.c | 5 +++++
include/generic-phy.h | 8 ++++++++
2 files changed, 13 insertions(+)
diff --git a/drivers/phy/phy-uclass.c b/drivers/phy/phy-uclass.c
index 0d8bef7..43a7c18 100644
--- a/drivers/phy/phy-uclass.c
+++ b/drivers/phy/phy-uclass.c
@@ -133,6 +133,11 @@ int generic_phy_power_off(struct phy *phy)
return ops->power_off ? ops->power_off(phy) : 0;
}
+bool generic_phy_valid(struct phy *phy)
+{
+ return phy->dev != NULL;
+}
+
Not that it has big impact but I would have made it an inline function
Also note that there is a loophole in generic_phy_get_by_index() that
needs to be fixed before phy->dev can be used to check if the phy is
valid; phy->dev must be set to NULL if generic_phy_get_by_index() fails.
Jean-Jacques
UCLASS_DRIVER(phy) = {
.id = UCLASS_PHY,
.name = "phy",
diff --git a/include/generic-phy.h b/include/generic-phy.h
index d8cf0c9..53206f0 100644
--- a/include/generic-phy.h
+++ b/include/generic-phy.h
@@ -221,4 +221,12 @@ int generic_phy_get_by_index(struct udevice *user, int
index,
int generic_phy_get_by_name(struct udevice *user, const char *phy_name,
struct phy *phy);
+/**
+ * generic_phy_valid() - check if PHY port is valid
+ *
+ * @phy: the PHY port to check
+ * @return TRUE if valid, or FALSE
+ */
+bool generic_phy_valid(struct phy *phy);
+
#endif /*__GENERIC_PHY_H */
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot