[U-Boot] [PATCH v3 3/4] drivers: phy: add generic_phy_valid() method
Jean-Jacques Hiblot
jjhiblot at ti.com
Wed May 24 13:24:41 UTC 2017
On 23/05/2017 11:57, patrice.chotard at st.com wrote:
> From: Patrice Chotard <patrice.chotard at 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.chotard at 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 */
More information about the U-Boot
mailing list