Lines Matching refs:phy_provider
37 struct phy_provider *phy_provider = *(struct phy_provider **)res; in devm_phy_provider_release() local
39 of_phy_provider_unregister(phy_provider); in devm_phy_provider_release()
131 static struct phy_provider *of_phy_provider_lookup(struct device_node *node) in of_phy_provider_lookup()
133 struct phy_provider *phy_provider; in of_phy_provider_lookup() local
136 list_for_each_entry(phy_provider, &phy_provider_list, list) { in of_phy_provider_lookup()
137 if (phy_provider->dev->of_node == node) in of_phy_provider_lookup()
138 return phy_provider; in of_phy_provider_lookup()
140 for_each_child_of_node(phy_provider->children, child) in of_phy_provider_lookup()
142 return phy_provider; in of_phy_provider_lookup()
500 struct phy_provider *phy_provider; in _of_phy_get() local
514 phy_provider = of_phy_provider_lookup(args.np); in _of_phy_get()
515 if (IS_ERR(phy_provider) || !try_module_get(phy_provider->owner)) { in _of_phy_get()
521 dev_warn(phy_provider->dev, "Requested PHY is disabled\n"); in _of_phy_get()
526 phy = phy_provider->of_xlate(phy_provider->dev, &args); in _of_phy_get()
529 module_put(phy_provider->owner); in _of_phy_get()
1012 struct phy_provider *__of_phy_provider_register(struct device *dev, in __of_phy_provider_register()
1017 struct phy_provider *phy_provider; in __of_phy_provider_register() local
1044 phy_provider = kzalloc(sizeof(*phy_provider), GFP_KERNEL); in __of_phy_provider_register()
1045 if (!phy_provider) in __of_phy_provider_register()
1048 phy_provider->dev = dev; in __of_phy_provider_register()
1049 phy_provider->children = of_node_get(children); in __of_phy_provider_register()
1050 phy_provider->owner = owner; in __of_phy_provider_register()
1051 phy_provider->of_xlate = of_xlate; in __of_phy_provider_register()
1054 list_add_tail(&phy_provider->list, &phy_provider_list); in __of_phy_provider_register()
1057 return phy_provider; in __of_phy_provider_register()
1075 struct phy_provider *__devm_of_phy_provider_register(struct device *dev, in __devm_of_phy_provider_register()
1080 struct phy_provider **ptr, *phy_provider; in __devm_of_phy_provider_register() local
1086 phy_provider = __of_phy_provider_register(dev, children, owner, in __devm_of_phy_provider_register()
1088 if (!IS_ERR(phy_provider)) { in __devm_of_phy_provider_register()
1089 *ptr = phy_provider; in __devm_of_phy_provider_register()
1095 return phy_provider; in __devm_of_phy_provider_register()
1105 void of_phy_provider_unregister(struct phy_provider *phy_provider) in of_phy_provider_unregister() argument
1107 if (IS_ERR(phy_provider)) in of_phy_provider_unregister()
1111 list_del(&phy_provider->list); in of_phy_provider_unregister()
1112 of_node_put(phy_provider->children); in of_phy_provider_unregister()
1113 kfree(phy_provider); in of_phy_provider_unregister()
1127 struct phy_provider *phy_provider) in devm_of_phy_provider_unregister() argument
1132 phy_provider); in devm_of_phy_provider_unregister()