Lines Matching refs:phy_provider
41 struct phy_provider *phy_provider = *(struct phy_provider **)res; in devm_phy_provider_release() local
43 of_phy_provider_unregister(phy_provider); in devm_phy_provider_release()
135 static struct phy_provider *of_phy_provider_lookup(struct device_node *node) in of_phy_provider_lookup()
137 struct phy_provider *phy_provider; in of_phy_provider_lookup() local
140 list_for_each_entry(phy_provider, &phy_provider_list, list) { in of_phy_provider_lookup()
141 if (phy_provider->dev->of_node == node) in of_phy_provider_lookup()
142 return phy_provider; in of_phy_provider_lookup()
144 for_each_child_of_node(phy_provider->dev->of_node, child) in of_phy_provider_lookup()
146 return phy_provider; in of_phy_provider_lookup()
359 struct phy_provider *phy_provider; in _of_phy_get() local
369 phy_provider = of_phy_provider_lookup(args.np); in _of_phy_get()
370 if (IS_ERR(phy_provider) || !try_module_get(phy_provider->owner)) { in _of_phy_get()
375 phy = phy_provider->of_xlate(phy_provider->dev, &args); in _of_phy_get()
376 module_put(phy_provider->owner); in _of_phy_get()
775 struct phy_provider *__of_phy_provider_register(struct device *dev, in __of_phy_provider_register()
779 struct phy_provider *phy_provider; in __of_phy_provider_register() local
781 phy_provider = kzalloc(sizeof(*phy_provider), GFP_KERNEL); in __of_phy_provider_register()
782 if (!phy_provider) in __of_phy_provider_register()
785 phy_provider->dev = dev; in __of_phy_provider_register()
786 phy_provider->owner = owner; in __of_phy_provider_register()
787 phy_provider->of_xlate = of_xlate; in __of_phy_provider_register()
790 list_add_tail(&phy_provider->list, &phy_provider_list); in __of_phy_provider_register()
793 return phy_provider; in __of_phy_provider_register()
810 struct phy_provider *__devm_of_phy_provider_register(struct device *dev, in __devm_of_phy_provider_register()
814 struct phy_provider **ptr, *phy_provider; in __devm_of_phy_provider_register() local
820 phy_provider = __of_phy_provider_register(dev, owner, of_xlate); in __devm_of_phy_provider_register()
821 if (!IS_ERR(phy_provider)) { in __devm_of_phy_provider_register()
822 *ptr = phy_provider; in __devm_of_phy_provider_register()
828 return phy_provider; in __devm_of_phy_provider_register()
838 void of_phy_provider_unregister(struct phy_provider *phy_provider) in of_phy_provider_unregister() argument
840 if (IS_ERR(phy_provider)) in of_phy_provider_unregister()
844 list_del(&phy_provider->list); in of_phy_provider_unregister()
845 kfree(phy_provider); in of_phy_provider_unregister()
858 struct phy_provider *phy_provider) { in devm_of_phy_provider_unregister() argument
862 phy_provider); in devm_of_phy_provider_unregister()