Hi Jean-Jacques On 05/24/2017 03:24 PM, Jean-Jacques Hiblot wrote: > > > 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.
Thanks for pointing this. I will send a patch fixing this and include it in the v4 of my series " Extend xhci-dwc3" Thanks Patrice > > 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