If we're trying to get a handle to an optional PHY, then the PHY
framework being disabled shouldn't return a hard error.
Instead, return NULL just like phy_optional_get() does when there's no
PHY provided in the DT.
Based on commit 11a6e41c0ee503ff ("phy: Return NULL if the phy is
optional"), which did the same thing for devm_phy_optional_get().
Signed-off-by: Geert Uytterhoeven <[email protected]>
---
It seems there were never any in-tree users of this function since its
introduction in 788a4d56ff378bff ("drivers: phy: Add support for
optional phys") in v3.14.
Perhaps it should be removed?
---
include/linux/phy/phy.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/linux/phy/phy.h b/include/linux/phy/phy.h
index b1413757fcc3b89b..559c3da515073697 100644
--- a/include/linux/phy/phy.h
+++ b/include/linux/phy/phy.h
@@ -429,7 +429,7 @@ static inline struct phy *phy_get(struct device *dev, const char *string)
static inline struct phy *phy_optional_get(struct device *dev,
const char *string)
{
- return ERR_PTR(-ENOSYS);
+ return NULL;
}
static inline struct phy *devm_phy_get(struct device *dev, const char *string)
--
2.34.1
On 18-01-23, 11:02, Geert Uytterhoeven wrote:
> If we're trying to get a handle to an optional PHY, then the PHY
> framework being disabled shouldn't return a hard error.
>
> Instead, return NULL just like phy_optional_get() does when there's no
> PHY provided in the DT.
>
> Based on commit 11a6e41c0ee503ff ("phy: Return NULL if the phy is
> optional"), which did the same thing for devm_phy_optional_get().
>
> Signed-off-by: Geert Uytterhoeven <[email protected]>
> ---
> It seems there were never any in-tree users of this function since its
> introduction in 788a4d56ff378bff ("drivers: phy: Add support for
> optional phys") in v3.14.
> Perhaps it should be removed?
Ack, devm_phy_optional_get() is used by bunch of folks, but not this
one, so lets retire this
> ---
> include/linux/phy/phy.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/include/linux/phy/phy.h b/include/linux/phy/phy.h
> index b1413757fcc3b89b..559c3da515073697 100644
> --- a/include/linux/phy/phy.h
> +++ b/include/linux/phy/phy.h
> @@ -429,7 +429,7 @@ static inline struct phy *phy_get(struct device *dev, const char *string)
> static inline struct phy *phy_optional_get(struct device *dev,
> const char *string)
> {
> - return ERR_PTR(-ENOSYS);
> + return NULL;
> }
>
> static inline struct phy *devm_phy_get(struct device *dev, const char *string)
> --
> 2.34.1
--
~Vinod