aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/phy
diff options
context:
space:
mode:
authorHeikki Krogerus <heikki.krogerus@linux.intel.com>2014-11-19 10:28:18 -0500
committerKishon Vijay Abraham I <kishon@ti.com>2014-11-21 09:18:50 -0500
commitb7bc15b98e843926d01eb03b9c0e196d8ddbadeb (patch)
tree1ad10eb0f6e27ec06b17bbeed233b31d4cde66d3 /include/linux/phy
parentd451057464a7ea2fe400e56c8a7e004c875f2a84 (diff)
phy: improved lookup method
Separates registration of the phy and the lookup. The method is copied from clkdev.c, Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com> Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Diffstat (limited to 'include/linux/phy')
-rw-r--r--include/linux/phy/phy.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/include/linux/phy/phy.h b/include/linux/phy/phy.h
index 9fda68324298..849284e5873f 100644
--- a/include/linux/phy/phy.h
+++ b/include/linux/phy/phy.h
@@ -110,6 +110,13 @@ struct phy_init_data {
110 .port = _port, \ 110 .port = _port, \
111} 111}
112 112
113struct phy_lookup {
114 struct list_head node;
115 const char *dev_id;
116 const char *con_id;
117 struct phy *phy;
118};
119
113#define to_phy(a) (container_of((a), struct phy, dev)) 120#define to_phy(a) (container_of((a), struct phy, dev))
114 121
115#define of_phy_provider_register(dev, xlate) \ 122#define of_phy_provider_register(dev, xlate) \
@@ -174,6 +181,8 @@ struct phy_provider *__devm_of_phy_provider_register(struct device *dev,
174void of_phy_provider_unregister(struct phy_provider *phy_provider); 181void of_phy_provider_unregister(struct phy_provider *phy_provider);
175void devm_of_phy_provider_unregister(struct device *dev, 182void devm_of_phy_provider_unregister(struct device *dev,
176 struct phy_provider *phy_provider); 183 struct phy_provider *phy_provider);
184int phy_create_lookup(struct phy *phy, const char *con_id, const char *dev_id);
185void phy_remove_lookup(struct phy *phy, const char *con_id, const char *dev_id);
177#else 186#else
178static inline int phy_pm_runtime_get(struct phy *phy) 187static inline int phy_pm_runtime_get(struct phy *phy)
179{ 188{
@@ -345,6 +354,13 @@ static inline void devm_of_phy_provider_unregister(struct device *dev,
345 struct phy_provider *phy_provider) 354 struct phy_provider *phy_provider)
346{ 355{
347} 356}
357static inline int
358phy_create_lookup(struct phy *phy, const char *con_id, const char *dev_id)
359{
360 return 0;
361}
362static inline void phy_remove_lookup(struct phy *phy, const char *con_id,
363 const char *dev_id) { }
348#endif 364#endif
349 365
350#endif /* __DRIVERS_PHY_H */ 366#endif /* __DRIVERS_PHY_H */