summaryrefslogtreecommitdiffstats
path: root/include/linux/phy
diff options
context:
space:
mode:
authorArun Ramamurthy <arun.ramamurthy@broadcom.com>2015-04-22 19:04:11 -0400
committerKishon Vijay Abraham I <kishon@ti.com>2015-05-11 12:12:23 -0400
commit6be109b31ccdb9c98e7be12687171f6602527a5d (patch)
tree8c2ad5df0fea49ca066cc18c7edff9087d4befeb /include/linux/phy
parent2decb2682f80759f631c8332f9a2a34a02150a03 (diff)
phy: core: Add devm_of_phy_get_by_index to phy-core
Some generic drivers, such as ehci, may use multiple phys and for such drivers referencing phy(s) by name(s) does not make sense. Instead of inventing new naming schemes and using custom code to iterate through them, such drivers are better of using nameless phy bindings and using this newly introduced API to iterate through them. Signed-off-by: Arun Ramamurthy <arun.ramamurthy@broadcom.com> Reviewed-by: Ray Jui <rjui@broadcom.com> Reviewed-by: Scott Branden <sbranden@broadcom.com> [kishon@ti.com: fix compilation errors] Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Diffstat (limited to 'include/linux/phy')
-rw-r--r--include/linux/phy/phy.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/include/linux/phy/phy.h b/include/linux/phy/phy.h
index a0197fa1b116..8cf05e341cff 100644
--- a/include/linux/phy/phy.h
+++ b/include/linux/phy/phy.h
@@ -133,6 +133,8 @@ struct phy *devm_phy_get(struct device *dev, const char *string);
133struct phy *devm_phy_optional_get(struct device *dev, const char *string); 133struct phy *devm_phy_optional_get(struct device *dev, const char *string);
134struct phy *devm_of_phy_get(struct device *dev, struct device_node *np, 134struct phy *devm_of_phy_get(struct device *dev, struct device_node *np,
135 const char *con_id); 135 const char *con_id);
136struct phy *devm_of_phy_get_by_index(struct device *dev, struct device_node *np,
137 int index);
136void phy_put(struct phy *phy); 138void phy_put(struct phy *phy);
137void devm_phy_put(struct device *dev, struct phy *phy); 139void devm_phy_put(struct device *dev, struct phy *phy);
138struct phy *of_phy_get(struct device_node *np, const char *con_id); 140struct phy *of_phy_get(struct device_node *np, const char *con_id);
@@ -261,6 +263,13 @@ static inline struct phy *devm_of_phy_get(struct device *dev,
261 return ERR_PTR(-ENOSYS); 263 return ERR_PTR(-ENOSYS);
262} 264}
263 265
266static inline struct phy *devm_of_phy_get_by_index(struct device *dev,
267 struct device_node *np,
268 int index)
269{
270 return ERR_PTR(-ENOSYS);
271}
272
264static inline void phy_put(struct phy *phy) 273static inline void phy_put(struct phy *phy)
265{ 274{
266} 275}